Нейроинформатика

       

Сети Хопфилда


Перейдем от одноэлементных систем к нейронным сетям. Пусть

- вес связи, ведущей от j-го нейрона к i-му (полезно обратить внимание на порядок индексов). Для полносвязных сетей определены значения
при всех i,j, для других архитектур связи, ведущие от j-го нейрона к i-му для некоторых i,j не определены. В этом случае положим
.

В данном разделе речь пойдет в основном о полносвязных сетях. Пусть на выходах всех нейронов получены сигналы xj ( j-номер нейрона). Обозначим x вектор этих выходных сигналов. Прохождение вектора сигналов x через сеть связей сводится к умножению матрицы (

) на вектор сигналов x. В результате получаем вектор входных сигналов нелинейных элементов нейронов:
.

Это соответствие "прохождение сети

умножение матрицы связей на вектор сигналов" является основой для перевода обычных численных методов на нейросетевой язык и обратно. Практически всюду, где основной операцией является умножение матрицы на вектор, применимы нейронные сети. С другой стороны, любое устройство, позволяющее быстро осуществлять такое умножение, может использоваться для реализации нейронных сетей.

В частности, вычисление градиента квадратичной формы

может осуществляться полносвязной сетью с симметричной матрицей связей:

(
). Именно это наблюдение лежит в основе данного раздела.

Что можно сделать, если мы умеем вычислять градиент квадратичной формы?

В первую очередь, можно методом наискорейшего спуска искать точку минимума многочлена второго порядка. Пусть задан такой многочлен:

. Его градиент равен
. Этот вектор может быть получен при прохождении вектора x через сеть с весами связей
при условии, что на входной сумматор каждого нейрона по дополнительной связи веса b подается стандартный единичный сигнал.

Зададим теперь функционирование сети формулой

(8)

Нелинейных элементов вовсе не нужно! Каждый (j-й) нейрон имеет входные веса

для связей с другими нейронами (
), вес
для постоянного единичного входного сигнала и вес
для связи нейрона с самим собой (передачи на него его же сигнала с предыдущего шага).
Выбор шага h>0 может вызвать затруднение ( он зависит от коэффициентов минимизируемого многочлена). Есть, однако, простое решение: в каждый момент дискретного времени T выбирается свое значение
. Достаточно, чтобы шаг стремился со временем к нулю, а сумма шагов - к бесконечности (например,
, или
).

Итак, простая симметричная полносвязная сеть без нелинейных элементов может методом наискорейшего спуска искать точку минимума квадратичного многочлена.

Решение системы линейных уравнений
сводится к минимизации многочлена



Поэтому решение системы может производиться нейронной сетью. Простейшая сеть, вычисляющая градиент этого многочлена, не полносвязна, а состоит из двух слоев: первый с матрицей связей A, второй - с транспонированной матрицей
. Постоянный единичный сигнал подается на связи с весами
на первом слое. Минимизация этого многочлена, а значит и решение системы линейных уравнений, может проводиться так же, как и в общем случае, в соответствии с формулой
. Усовершенствованные варианты алгоритма решения можно найти в работах Сударикова [2.8].

Небольшая модификация позволяет вместо безусловного минимума многочлена второго порядка P искать точку условного минимума с условиями
для
, то есть точку минимума P в ограничении на аффинное многообразие, параллельное некоторым координатным плоскостям. Для этого вместо формулы



следует использовать:



при




(9)
при






где m - число элементов в выборке, верхний индекс j - номер вектора данных в выборке, верхний индекс Т означает транспонирование, а
- произведение вектора-столбца на вектор-строку (тензорное произведение).

Пусть у вектора данных x известно несколько координат:
для
. Наиболее вероятные значения неизвестных координат должны доставлять условный максимум показателю нормального распределения - многочлену второго порядка
(при условии
для
). Эти же значения будут условными математическими ожиданиями неизвестных координат при заданных условиях.

Таким образом, чтобы построить сеть, заполняющую пробелы в данных, достаточно сконструировать сеть для поиска точек условного минимума многочлена





при условиях следующего вида:
для
. Матрица связей Q выбирается из условия
, где ? - ковариационная матрица (ее оценка по выборке).

На первый взгляд, пошаговое накопление
по мере поступления данных требует слишком много операций - получив новый вектор данных требуется пересчитать оценку ?, а потом вычислить
. Можно поступать и по-другому, воспользовавшись формулой приближенного обрашения матриц первого порядка точности:



Если же добавка ? имеет вид
, то



(10)
Заметим, что решение задачи (точка условного минимума многочлена) не меняется при умножении Q на число. Поэтому полагаем:



где 1 - единичная матрица, ?>0 - достаточно малое число,
- k +1-й вектор данных,
- среднее значение вектора данных, уточненное с учетом
:



В формуле для пошагового накопления матрицы Q ее изменение ?Q при появлении новых данных получается с помощью вектора
, пропущенного через сеть:
, где z=Qy. Параметр ? выбирается достаточно малым для того, чтобы обеспечить положительную определенность получаемых матриц (и, по возможности, их близость к истинным значениям Q).

Описанный процесс формирования сети можно назвать обучением. Вообще говоря, можно проводить формальное различение между формированием сети по явным формулам и по алгоритмам, не использующим явных формул для весов связей (неявным). Тогда термин "обучение" предполагает неявные алгоритмы, а для явных остается название "формирование".


Здесь мы такого различия проводить не будем.

Если при обучении сети поступают некомплектные данные
с отсутствием значений некоторых координат, то сначала эти значения восстанавливаются с помощью имеющейся сети, а потом используются в ее дальнейшем обучении.

Во всех задачах оптимизации существенную роль играет вопрос о правилах остановки: когда следует прекратить циклическое функционирование сети, остановиться и считать полученный результат ответом? Простейший выбор - остановка по малости изменений: если изменения сигналов сети за цикл меньше некоторого фиксированного малого ? (при использовании переменного шага ? может быть его функцией), то оптимизация заканчивается.

До сих пор речь шла о минимизации положительно определенных квадратичных форм и многочленов второго порядка. Однако самое знаменитое приложение полносвязных сетей связано с увеличением значений положительно определенных квадратичных форм. Речь идет о системах ассоциативной памяти [2.4, 2.5, 2.6, 2.7, 2.9, 2.10, 2.12].

Предположим, что задано несколько эталонных векторов данных
и при обработке поступившего на вход системы вектора x требуется получить на выходе ближайший к нему эталонный вектор. Мерой сходства в простейшем случае будем считать косинус угла между векторами - для векторов фиксированной длины это просто скалярное произведение. Можно ожидать, что изменение вектора x по закону



(11)
где h - малый шаг, приведет к увеличению проекции x на те эталоны, скалярное произведение на которые
больше.

Ограничимся рассмотрением эталонов, и ожидаемых результатов обработки с координатами
. Развивая изложенную идею, приходим к дифференциальному уравнению



(12)
где верхними индексами обозначаются номера векторов-эталонов, нижними - координаты векторов.

Функция H называется "энергией" сети, она минимизируется в ходе функционирования. Слагаемое
вводится для того, чтобы со временем возрастала проекция вектора x на те эталоны, которые к нему ближе, слагаемое
обеспечивает стремление координат вектора x к
.


Параметр ? определяет соотношение между интенсивностями этих двух процессов. Целесообразно постепенно менять ? со временем, начиная с малых ?<1, и приходя в конце концов к ?>1.

Подробнее системы ассоциативной памяти рассмотрены в отдельной лекции. Здесь же мы ограничимся обсуждением получающихся весов связей. Матрица связей построенной сети определяется функцией
, так как
вычисляется непосредственно при j-м нейроне без участия сети. Вес связи между i-м и j-м нейронами не зависит от направления связи и равен



(13)
Эта простая формула имеет чрезвычайно важное значение для развития теории нейронных сетей. Вклад k-го эталона в связь между i-м и j-м нейронами (
) равен +1, если i-я и j-я координаты этого эталона имеют одинаковый знак, и равен -1, если они имеют разный знак.

В результате возбуждение i-го нейрона передается j-му (и симметрично, от j-го к i-му), если у большинства эталонов знак i-й и j-й координат совпадают. В противном случае эти нейроны тормозят друг друга: возбуждение i-го ведет к торможению j-го, торможение i-го - к возбуждению j-го (воздействие j-го на i-й симметрично). Это правило образования ассоциативных связей (правило Хебба) сыграло огромную роль в теории нейронных сетей.


Содержание раздела