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