Глава 7. Двунаправленная ассоциативная память
Память человека часто является ассоциативной; один предмет напоминает нам о другом, а этот другой о третьем. Если позволить нашим мыслям, они будут перемещаться от предмета к предмету по цепочке умственных ассоциаций. Кроме того, возможно использование способности к ассоциациям для восстановления забытых образов. Если мы забыли, где оставили свои очки, то пытаемся вспомнить, где видели их , в последний раз, с кем разговаривали и что делали. Посредством этого устанавливается конец цепочки ассоциаций, что позволяет нашей памяти соединять ассоциации для получения требуемого образа.
Ассоциативная память, рассмотренная в гл. 6, является, строго говоря, автоассоциативной, это означает, что образ может быть завершен или исправлен, но не может быть ассоциирован с другим образом. Данный факт является результатом одноуровневой структуры ассоциативной памяти, в которой вектор появляется на выходе тех же нейронов, на которые поступает входной вектор.
Двунаправленная ассоциативная память (ДАП) является гетероассоциативной; входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Как и сеть Хопфилда, ДАП способна к обобщению, вырабатывая правильные реакции, несмотря на искаженные входы. Кроме того, могут быть реализованы адаптивные версии ДАП, выделяющие эталонный образ из зашумленных экземпляров. Эти возможности сильно напоминают процесс мышления человека и позволяют искусственным нейронным сетям сделать шаг в направлении моделирования мозга.
В последних публикациях [9,12] представлено несколько форм реализации двунаправленной ассоциативной памяти. Как большинство важных идей, изложенные в этих работах идеи имеют глубокие корни; например, в работе Гроссберга [6] представлены некоторые важные для ДАП концепции. В данной работе ссылки приводятся не с целью разрешения вопроса о приоритете исследовательских работ, а исключительно для освещения их вклада в исследовательскую тематику.
СТРУКТУРА ДАП
Рис. 7.1. Конфигурация двунаправленной ассоциативной памяти
На рис. 7.1 приведена базовая конфигурация ДАП. Эта конфигурация существенно отличается от используемой в работе [9]. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 7.1 входной вектор А обрабатывается матрицей весов W сети, в результате чего вырабатывается вектор выходных сигналов нейронов В. Вектор В затем обрабатывается транспонированной матрицей Wtвесов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор А. Этот процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор А, ни вектор В не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации F. Этот процесс может быть выражен следующим образом:
(7.1)
или в векторной форме:
В = F(AW), (7.2)
где В – вектор выходных сигналов нейронов слоя 2, А – вектор выходных сигналов нейронов слоя 1, W – матрица весов связей между слоями 1 и 2, F – функция активации.
Аналогично
A = F(BWt) (7.3)
где Wtявляется транспозицией матрицы W.
Как отмечено в гл. 1, Гроссберг показал преимущества использования сигмоидальной (логистической) функции активации
(7.3)
где OUTi – выход нейрона i, NETi – взвешенная сумма входных сигналов нейрона i, l – константа, определяющая степень кривизны.
В простейших версиях ДАП значение константы l выбирается большим, в результате чего функция активации приближается к простой пороговой функции. В дальнейших рассуждениях будем предполагать, что используется пороговая функция активации.
Примем также, что существует память внутри каждого нейрона в слоях 1 и 2 и что выходные сигналы нейронов изменяются одновременно с каждым тактом синхронизации, оставаясь постоянными между этими тактами. Таким образом, поведение нейронов может быть описано следующими правилами:
OUTi(n+1) = 1, если NETi(n)>0,
OUTi(n+l) = 0, если NETi(n)<0,
OUTi(n+l) = OUT(n), если NETi(n) = 0,
где OUTi(n) представляет собой величину выходного сигнала нейрона i в момент времени п.
Заметим, что как и в описанных ранее сетях слой 0 не производит вычислений и не имеет памяти; он является только средством распределения выходных сигналов слоя 2 к элементам матрицы Wt.
Дата добавления: 2017-09-19; просмотров: 578;