Нейродинамика в модели Хопфилда

Рассмотрим сеть из N формальных нейронов, в которой степень возбуждения каждого из нейронов Si, i=1..N, может принимать только два значения {-1, +1}. Любой нейрон имеет связь со всеми остальными нейронами Sj, которые в свою очередь связаны с ним. Силу связи от i-го к j-му нейрону обозначим как Wij.

В модели Хопфилда предполагается условие симметричности связей Wij=Wji, с нулевыми диагональными элементами Wii=0. К сожалению, это условие имеет весьма отдаленное отношение к известным свойствам биологических сетей, в которых, наоборот, если один нейрон передает возбуждение другому, то тот, в большинстве случаев, непосредственно не связан с первым. Однако именно симметричность связей, как будет ясно из дальнейшего, существенно влияет на устойчивость динамики.

Изменение состояния каждого нейрона Sjв модели Хопфилда происходит по известному правилу для формальных нейронов МакКаллока и Питтса. Поступающие на его входы сигналы Siв момент t взвешиваются с весами матрицы связей Wijи суммируются, определяя полный уровень силы входного сигнала:

.

Далее в момент t+1 нейрон изменяет состояние своего возбуждения в зависимости от уровня сигнала h и индивидуального порога каждого нейрона T:

Изменение состояний возбуждения всех нейронов может происходить одновременно, в этом случае говорят о параллельной динамике. Рассматривается также и последовательная нейродинамика, при которой в данный момент времени происходит изменение состояния только одного нейрона. Многочисленные исследования показали, что свойства памяти нейронной сети практически не зависят от типа динамики[10]. При моделировании нейросети на обычном компьютере удобнее последовательная смена состояний нейронов. В аппаратных реализациях нейросетей Хопфилда применятся параллельная динамика.

Совокупность значений возбуждения всех нейронов Siв некоторый момент времени образует вектор состояния S сети. Нейродинамика приводит к изменению вектора состояния S (t). Конец вектора состояния описывает траекторию в пространстве состояний нейросети. Это пространство для сети с двумя уровнями возбуждения каждого нейрона, очевидно, представляет собой множество вершин гиперкуба размерности, равной числу нейронов N. Возможные наборы значений координат вершин гиперкуба (см. Рис.8.2) и определяют возможные значения вектора состояния.

Рис. 8.2. Проекция 4-х мерного гиперкуба на плоскость. Указанные на рисунке три точки служат примерами возможных состояний нейронной сети из 4-х нейронов.

Рассмотрим теперь проблему устойчивости динамики изменения состояний. Поскольку на каждом временном шаге некоторый нейрон i изменяет свое состояние в соответствии со знаком величины (hi- Ti), то приведенное ниже соотношение всегда неположительно:

Таким образом, оответствующая величина E, являющаяся суммой отдельных значений Ei, может только убывать, либо сохранять свое значение в процессе нейродинамики.

Введенная таким образом величина E является функцией состояния E=E(S) и называется энергетической функцией (энергией) нейронной сети Хопфилда. Поскольку она обладает свойством невозрастания при динамике сети[11], то одновременно является для нее функцией Ляпунова (А.М. Ляпунов, 1892). Поведение такой динамической системы устойчиво при любом исходном векторе состояния S (t=0) и при любой симметричной матрице связей W с нулевыми диагональными элементами[12]. Динамика при этом заканчивается в одном из минимумов функции Ляпунова, причем активности всех нейронов будут совпадать по знаку с входными сигналами h.

Поверхность энергии E(S) в пространстве состояний имеет весьма сложную форму с большим количеством локальных минимумов, образно напоминая стеганое одеяло. Стационарные состояния, отвечающие минимумам, могут интерпретироваться, как образы памяти нейронной сети. Эволюция к такому образу соотвествует процессу извлечения из памяти. При произвольной матрице связей W образы также произвольны. Для записи в память сети какой-либо осмысленной информации требуется определенное значение весов W, которое может получаться в процессе обучения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: