Нейронная сеть Хопфилда

Структурная схема сети Хопфилда приведена на рис. 2.18. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.

Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором x = {xi: i = 1, …, n}, n – число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо -1. Обозначим вектор, описывающий k-й образец, через xk, а его компоненты, соответственно, – xik, k = 1, …, m, где m – число образцов. Когда сеть распознает (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть y = xk, где y – вектор выходных значений сети: y = {yi: i=1, …, n}. В противном случае, выходной вектор не совпадет ни с одним образцовым.

Рис. 2.18. Структурная схема сети Хопфилда

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

На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом:

                                                           (2.43)

Здесь i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов; xik, xjki-й и j-й элементы вектора k-го образца.

Алгоритм функционирования сети следующий (t – номер итерации):

1) На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

yi(0) = xi , i = 1, …, n,                                      (2.44)

поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от yi означает нулевую итерацию в цикле работы сети.

2) Рассчитывается новое состояние нейронов

, j=1, , n                              (2.45)

и новые значения аксонов

,                                            (2.46)

где f – активационная функция в виде скачка, приведенная на рис. 2.19, а.

3) Проводится проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы застабилизирова-лись) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.

Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0,15n. Кроме того, если два образа A и B сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора A приведет к появлению на ее выходах вектора B и наоборот.