Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 5714 / 1222 | Оценка: 4.37 / 4.06 | Длительность: 13:49:00
ISBN: 978-5-9556-0049-9
Специальности: Программист
Лекция 10:

Двунаправленная ассоциативная память

< Лекция 9 || Лекция 10: 12345 || Лекция 11 >
Аннотация: В лекции рассматриваются архитектура и принципы работы нейронной сети ДАП. Затронуты вопросы емкости данной сети. Дается обзор некоторых модификаций этой сети.

Память человека часто является ассоциативной; один предмет напоминает нам о другом, а другой — о третьем. Если выпустить наши мысли из-под контроля, они будут перемещаться от предмета к предмету по цепочке умственных ассоциаций. Кроме того, возможно использование ассоциативного мышления для восстановления забытых образов. Если мы забыли, где оставили свои очки, то пытаемся вспомнить, где видели их в последний раз, с кем в это время разговаривали и что делали. Так устанавливается конец цепочки ассоциаций, и это позволяет нашей памяти соединять ассоциации для получения требуемого образа.

Ассоциативная память, рассмотренная в предыдущих лекциях, является, строго говоря, автоассоциативной: это означает, что образ может быть завершен или исправлен, но не может быть ассоциирован с другим образом. Данный факт является результатом одноуровневой структуры ассоциативной памяти, в ней вектор появляется на выходе тех же нейронов, на которые поступает входной вектор.

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

Структура ДАП

На рис. 10.1 приведена базовая конфигурация ДАП. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 10.1 входной вектор A обрабатывается матрицей весов W сети, в результате чего вырабатывается вектор выходных сигналов нейронов B. Вектор B затем обрабатывается транспонированной матрицей W^t весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор A. Процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор A, ни вектор B не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации F. Этот процесс может быть выражен следующим образом:

b_i=F(\sum_j a_jw_{ij})

или в векторной форме:

B=F(AW),

где Bвектор выходных сигналов нейронов слоя 2, Aвектор выходных сигналов нейронов слоя 1, Wматрица весов связей между слоями 1 и 2, Fфункция активации.


Рис. 10.1.

Аналогично,

A=F(BW^t),

где W^t является транспозицией матрицы W.

Как отмечено нами ранее, Гроссберг показал преимущества использования сигмоидальной (логистической) функции активации

OUT_i=\frac{1}{1+\exp(-\lambda NET_i)},

где OUT_iвыход нейрона i, NET_i — взвешенная сумма входных сигналов нейрона i, \lambda — константа, определяющая степень кривизны.

В простейших версиях ДАП значение константы \lambda выбирается большим, в результате чего функция активации приближается к простой пороговой функции. В дальнейшем будем предполагать, что используется пороговая функция активации.

Примем также, что существует память внутри каждого нейрона в слоях 1 и 2 и что выходные сигналы нейронов изменяются одновременно с каждым тактом синхронизации, оставаясь постоянными в паузах между этими тактами. Таким образом, поведение нейронов может быть описано следующими правилами:

\begin{aligned}
OUT_i(n+1) = 1,\quad &\text{если  } NET_i(n)>0,\\
OUT_i(n+l) = 0,\quad & \text{если  }NET_i(n)<0,\\
OUT_i(n+l) = OUT(n),\quad & \text{если } NET_i(n) = 0,
\end{aligned}

где OUT_i(n) представляет собой величину выходного сигнала нейрона i в момент времени n.

Заметим, что, как и в описанных ранее сетях, слой 0 не производит вычислений и не имеет памяти ; он является только средством распределения выходных сигналов слоя 2 к элементам матрицы W^t.

< Лекция 9 || Лекция 10: 12345 || Лекция 11 >