Сеть Хемминга – это трехслойная рекуррентная структура, которую можно считать развитием сети Хопфилда, была предложена Р. Липпманом [6]. Она позиционируется как специализированное гетероассоциативное запоминающее устройство. Основная идея функционирования сети состоит в минимизации расстояния Хемминга между тестовым вектором, подаваемым на вход сети, и векторами обучающих выборок, закодированными в структуре сети. Обобщенная структура сети Хемминга представлена на рис. 6.2. [6].
Первый ее слой имеет однонаправленное распространение сигналов от входа к выходу и фиксированные значения весов. Второй слой, MAXNET, состоит из нейронов, связанных обратными связями по принципу «каждый с каждым», при этом в отличие от структуры Хопфилда существует ненулевая связь входа нейрона со своим собственным выходом. Веса нейронов в слое MAXNET постоянны. Разные нейроны связаны отрицательной обратной связью с весом , при этом обычно величина обратно пропорциональна числу образов.
С собственным выходом нейрон связан положительной обратной связью с весом +1. Веса пороговых элементов равны нулю. Нейроны этого слоя функционируют в режиме WTA, при котором в каждой фиксированной ситуации активизируется только один нейрон.
Выходной однонаправленный слой формирует выходной вектор, в котором только один нейрон имеет выходное значение, равное 1, а все остальные – равные 0.
y1
yM
y2
х1
х2
xN
w(m)
w(2)
Слой MAXNET
w(1)
Рис. 6.2 Обобщенная структура сети Хемминга (M<>N!)
Веса первого слоя соответствуют входным векторам-образцам , поэтому для , i=t, , то есть веса первого нейрона запоминают компоненты первого входного вектора. Веса второго нейрона – компоненты второго вектора и т. д.
В случае нейронов слоя MAXNET, функционирующих в режиме WTA, веса сети должны усиливать собственный сигнал нейрона и ослаблять остальные сигналы. Для достижения этого принимается , а также
(6.16)
для . Для обеспечения абсолютной сходимости алгоритма веса должны отличать друг от друга. Р. Липпман в своей работе принял
, (6.17)
где - случайная величина с достаточно малой амплитудой.
В процессе функционирования сети в режиме распознавания можно выделить три фазы. В первой из них на вход подается N-элементный вектор х. После предъявления этого вектора на выходах нейронов первого слоя генерируются сигналы, задающие начальные состояния нейронов второго слоя. Нейроны первого слоя рассчитывают расстояния Хемминга между поданными на вход сети вектором и векторами весов отдельных нейронов этого слоя. Значения выходных сигналов этих нейронов определяются по формуле:
, (6.18)
где обозначает расстояние Хемминга между входными векторами и , то есть число битов, на которое различаются эти два вектора. Значение , если , и , если . В остальных случаях значения лежат в интервале [0, 1].
Сигналы нейронов первого слоя становятся начальными состояниями нейронов слоя MAXNET на второй фазе функционирования сети.
Во второй фазе инициировавшие MAXNET сигналы удаляются, и из сформированного ими начального состояния запускается итерационный процесс. Итерационный процесс завершается в момент, когда все нейроны, кроме нейрона-победителя с выходным сигналом не равным 0, перейдут в нулевое состояние.
Задача нейронов этого слоя состоит в определении победителя, то есть нейрона, у которого выходной сигнал наиболее близок к 1. Процесс определения победителя выполняется согласно формуле:
, (6.19)
при начальном значении . Функция активации нейронов слоя MAXNET задается выражением:
. (6.20)
Итерационный процесс (6.19) завершается в момент, когда состояние нейронов стабилизируется, и активность продолжает проявлять только один нейрон, тогда как остальные пребывают в нулевом состоянии. Активный нейрон становится победителем и через веса (s= 1,2,..,N) линейных нейронов выходного слоя представляет вектор , который соответствует номеру вектора , признанному слоем MAXNET в качестве ближайшего к входному вектору .
В третьей фазе этот нейрон посредством весов, связывающих его с нейронами выходного слоя, формирует на выходе сигнал, равный 1, его номер является номер входного образца, к которому принадлежит входной вектор.
Входные узлы сети принимают значения, задаваемые аналогичными компонентами вектора х. Нейроны первого слоя рассчитывают расстояние Хемминга между входным вектором х и каждым из закодированных векторов-образцов , образующих веса нейронов первого слоя. Нейроны в слое MAXNET выбирают вектор с наименьшим расстоянием Хемминга, определяя, таким образом, класс, к которому принадлежит предъявленный входной вектор х. Веса нейронов выходного слоя формируют вектор, соответствующий классу входного вектора. При нейронах первого слоя, емкость запоминающего устройства Хемминга также равна , так как каждый нейрон представляет единственный класс.
Важным достоинством сети Хемминга считается небольшое, по сравнению с сетью Хопфилда, число взвешенных связей между нейронами. Так, например, 100-входовая сеть Хопфилда, кодирующая 10 различных векторных классов, должна содержать 10000 взвешенных связей, тогда как аналогичная сеть Хемминга содержит 1100 связей, из которых 1000 весов находятся в первом слое, а 100 – в слое MAXNET [6].