13.Нейронная сеть Хопфилда
Разработана Хопфилдом в 1982 г. [2, 3]
Нейронная сеть Хопфилда реализует восстановление по искаженному (зашумленному) образу ближайшего к нему эталонного.
Сеть состоит из одного слоя нейронов, число которых определяет число выходов и входов сети. Выход каждого нейрона соединен со входами всех остальных нейронов. Входы сети подаются на отдельные входы нейронов.
Сети Хопфилда отличаются:
-
наличием обратных связей, организованных по принципу «со всех на все»;
-
обучением сети без обучающих итераций, сводящимся к расчету весовых коэффициентов;
-
«сходимостью» сети при предъявлении входного вектора к одному из запомненных в сети эталонов, представляющих множество равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети.
|
Рисунок 9. Сеть Хопфилда |
Устойчивость сети Хопфилда основывается на теореме Кохонена и Гроссберга: Достаточными условиями устойчивости сети с обратными связями являются симметричность ее матрицы весов (wij = wji) и наличие нулей на главной диагонали матрицы (wii = 0).
В соответствии с этим синаптические веса сети формируются по формулам:
. |
(31) |
Функционирование сети выполняется по формулам:
. |
(32) |
Здесь wij – i-й синаптический вес j-го нейрона; xi – i-й элемент входного сигнала сети; – i-й элемент k-го вектора-образца; yj – выход j-го нейрона; N – размерность входного сигнала; M – количество векторов-образцов.
Тип входных и выходных сигналов – биполярный (+1 и -1).
Динамическое изменение состояний сети выполняется синхронно или асинхронно. В первом случае все элементы модифицируются одновременно в дискретные моменты времени, во втором – в произвольные моменты времени выбираются случайные элементы и модифицируются.
Синхронная сеть Хопфилда представляет собой сеть с дискретными состояниями и дискретным временем.
Размерности входа и выхода ограничиваются при программной реализации возможностями вычислительной системы, на которой моделируется нейросеть, при аппаратной реализации – технологическими возможностями. Размерности входных и выходных сигналов совпадают.
Тип передаточной функции – жесткая пороговая. Число синапсов в сети M(M-1), где M – количество векторов-образцов. Сеть, содержащая N нейронов, может запомнить не более M = 0.15N образов. При этом запоминаемые образы должны быть не сильно коррелированны, т.е. существенно отличаться друг от друга.
Области применения сети Хопфилда: ассоциативная память, адресуемая по содержанию; распознавание образов; задачи оптимизации (в том числе, комбинаторной оптимизации).
Существуют различные модификации сети Хопфилда как с дискретными, так и с непрерывными состояниями и временем.
Для увеличения емкости сети и повышения качества распознавания образов используют мультипликативные нейроны. Сети, состоящие из таких нейронов, называют сетями высших порядков.
Были предложены также многослойные сети Хопфилда.
Вводится понятие энергии сети, определяемой в соответствии с функцией Ляпунова:
, |
(33) |
где E – искусственная энергия сети,
wij – вес связи между выходом i-го нейрона и входом j-го,
xj, yj – вход и выход j-го нейрона,
θj – порог j-го нейрона.
Главное свойство энергетической функции, что в процессе эволюции нейронной сети она уменьшается и достигает минимума (аттрактора), в котором сохраняет постоянную энергию. Это позволяет решать задачи комбинаторной оптимизации.
В результате серии итераций сеть должна выделить эталон, соответствующий входному вектору, или дать заключение о том, что входные данные не соответствуют ни одному из векторов.
После отдельной итерации общее изменение энергии сети, вызванное изменением состояний всех нейронов, составит:
. |
(34) |
Согласно данной формуле любое изменение состояния нейрона либо уменьшает значение энергии, либо оставляет без изменений.
Сети Хопфилда с непрерывными состояниями отличаются использованием непрерывной активационной функции (сигмоидальной или логистической).
Недостатком сети Хопфилда является стремление не только к глобальным, но и к локальным минимумам функции энергии. Предложены статистические сети Хопфилда, в которых правила изменения состояния нейронов задаются на основании статистических данных.