Сеть Хемминга

Сеть Хемминга – это трехслойная рекуррентная структура, которую можно считать развитием сети Хопфилда, была предложена Р. Липпманом [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].