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

       

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


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

Сети Хопфилда
- вес связи, ведущей от 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-й симметрично). Это правило образования ассоциативных связей (правило Хебба) сыграло огромную роль в теории нейронных сетей.


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