Уоссермен Ф. - Нейрокомпьютерная техника (778921), страница 16
Текст из файла (страница 16)
Ассоциативная память, рассмотренная в гл. 6, является, строго говоря, автоассоциативной, это означает, что образ может быть завершен или исправлен, но не может быть ассоциирован с другим образом. Данный факт является результатом одноуровневой структуры ассоциативной памяти, в которой вектор появляется на выходе тех же нейронов, на которые поступает входной вектор.
Двунаправленная ассоциативная память (ДАП) является гетероассоциативной; входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Как и сеть Хопфилда, ДАП способна к обобщению, вырабатывая правильные реакции, несмотря на искаженные входы. Кроме того, могут быть реализованы адаптивные версии ДАП, выделяющие эталонный образ из зашумленных экземпляров. Эти возможности сильно напоминают процесс мышления человека и позволяют искусственным нейронным сетям сделать шаг в направлении моделирования мозга.
В последних публикациях [9,12] представлено несколько форм реализации двунаправленной ассоциативной памяти. Как большинство важных идей, изложенные в этих работах идеи имеют глубокие корни; например, в работе Гроссберга [6] представлены некоторые важные для ДАП концепции. В данной работе ссылки приводятся не с целью разрешения вопроса о приоритете исследовательских работ, а исключительно для освещения их вклада в исследовательскую тематику.
СТРУКТУРА ДАП
Рис. 7.1. Конфигурация двунаправленной ассоциативной памяти
На рис. 7.1 приведена базовая конфигурация ДАП. Эта конфигурация существенно отличается от используемой в работе [9]. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 7.1 входной вектор А обрабатывается матрицей весов W сети, в результате чего вырабатывается вектор выходных сигналов нейронов В. Вектор В затем обрабатывается транспонированной матрицей Wt весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор А. Этот процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор А, ни вектор В не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации F. Этот процесс может быть выражен следующим образом:
или в векторной форме:
В = F(AW), (7.2)
где В – вектор выходных сигналов нейронов слоя 2, А – вектор выходных сигналов нейронов слоя 1, W – матрица весов связей между слоями 1 и 2, F – функция активации.
Аналогично
A = F(BWt) (7.3)
где Wt является транспозицией матрицы W.
Как отмечено в гл. 1, Гроссберг показал преимущества использования сигмоидальной (логистической) функции активации
где OUTi – выход нейрона i, NETi – взвешенная сумма входных сигналов нейрона i, – константа, определяющая степень кривизны.
В простейших версиях ДАП значение константы выбирается большим, в результате чего функция активации приближается к простой пороговой функции. В дальнейших рассуждениях будем предполагать, что используется пороговая функция активации.
Примем также, что существует память внутри каждого нейрона в слоях 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.
ВОССТАНОВЛЕНИЕ ЗАПОМНЕННЫХ АССОЦИАЦИЙ
Долговременная память (или ассоциации) реализуется в весовых массивах W и Wt. Каждый образ состоит из двух векторов: вектора A, являющегося выходом слоя 1, и вектора B, ассоциированного образа, являющегося выходом слоя 2. Для восстановления ассоциированного образа вектор A или его часть кратковременно устанавливаются на выходах слоя 1. Затем вектор A удаляется и сеть приводится в стабильное состояние, вырабатывая ассоциированный вектор B на выходе слоя 2. Затем вектор B воздействует через транспонированную матрицу Wt, воспроизводя воздействие исходного входного вектора A на выходе слоя 1. Каждый такой цикл вызывает уточнение выходных векторов слоя 1 и 2 до тех пор, пока не будет достигнута точка стабильности в сети. Эта точка может быть рассмотрена как резонансная, так как вектор передается обратно и вперед между слоями сети, всегда обрабатывая текущие выходные сигналы, но больше не изменяя их. Состояние нейронов представляет собой кратковременную память (КП), так как оно может быстро изменяться при появлении другого входного вектора. Значения коэффициентов весовой матрицы образуют долговременную память и могут изменяться только на более длительном отрезке времени, используя представленные ниже в данном разделе методы.
В работе [9] показано, что сеть функционирует в направлении минимизации функции энергии Ляпунова в основном таким же образом, как и сети Хопфилда в процессе сходимости (см. гл. 6). Таким образом, каждый цикл модифицирует систему в направлении энергетического минимума, расположение которого определяется значениями весов.
Рис. 7.2. Энергетическая поверхность двунаправленной ассоциативной памяти
Этот процесс может быть визуально представлен в форме направленного движения мяча по резиновой ленте, вытянутой над столом, причем каждому запомненному образу соответствует точка, «вдавленная» в направлении поверхности стола. Рис. 7.2 иллюстрирует данную аналогию с одним запомненным образом. Данный процесс формирует минимум гравитационной энергии в каждой точке, соответствующей запомненному образу, с соответствующим искривлением поля притяжения в направлении к данной точке. Свободно движущийся мяч попадает в поле притяжения и в результате будет двигаться в направлении энергетического минимума, где и остановится.
КОДИРОВАНИЕ АССОЦИАЦИЙ
Обычно сеть обучается распознаванию множества образов. Обучение производится с использованием обучающего набора, состоящего из пар векторов A и B. Процесс обучения реализуется в форме вычислений; это означает, что весовая матрица вычисляется как сумма произведении всех векторных пар обучающего набора. B символьной форме
Предположим, что все запомненные образы представляют собой двоичные векторы. Это ограничение покажется менее строгим, если вспомнить, что все содержимое Библиотеки Конгресса может быть закодировано в один очень длинный двоичный вектор. В работе [11] показана возможность достижения более высокой производительности при использовании биполярных векторов. При этом векторная компонента, большая чем 0, становится +1, а компонента, меньшая или равная 0, становится –1.
Предположим, что требуется обучить сеть с целью запоминания трех пар двоичных векторов, причем векторы Ai имеют размерность такую же, как и векторы Вi. Надо отметить, что это не является необходимым условием для работы алгоритма; ассоциации могут быть сформированы и между векторами различной размерности.
| Исходный вектор | Ассоциированный вектор | Бинарная версия | |
| A1 = (1,0,0) | B1 = (0,0,1) | A’1 = (1,–1,–1) | B’1 = (–1,–1,1) |
| A2 = (0,1,0) | B2 = (0,1,0) | A’1 = (–1,1,–1) | B’1 = (–1,1,–1) |
| A3 = (0,0,1) | B3 = (1,0,0) | A’1 = (–1,–1,1) | B’1 = (1,–1,–1) |
Вычисляем весовую матрицу
W = A’1t B’1 + A’2t B’2 + A’3t B’3
| –1 | –1 | 1 | + | 1 | –1 | 1 | + | –1 | 1 | 1 | = | –1 | –1 | 3 |
| 1 | 1 | –1 | –1 | 1 | –1 | –1 | –1 | 1 | –1 | 3 | –1 | |||
| 1 | 1 | –1 | 1 | –1 | 1 | 1 | –1 | –1 | 3 | –1 | –1 |
Далее прикладывая входной вектор А = (1,0,0), вычисляем выходной вектор О
| O = A1t W = (1,0,0) x | 1 | –1 | 3 | = | (–1,–1,3) |
| –1 | 3 | –1 | |||
| 3 | –1 | –1 |
Используя пороговое правило
bi = 1, если oi > 0,
bi = 0, если oi < 0,
bi = 0, не изменяется, если oi = 0
вычисляем
B’1 = (0,0,1),
что является требуемой ассоциацией. Затем, подавая вектор В’1 через обратную связь на вход первого слоя к Wt получаем
| O = B’1 Wt = (0,0,1) x | 1 | –1 | 3 | = | (3,–1,–1) |
| –1 | 3 | –1 | |||
| 3 | –1 | –1 |
что дает значение (1,0,0) после применения пороговой функции, образуя величину вектора A1.















