Гетероассоциативная память

Одна из характерных особенностей человеческой памяти – возможность ассоциации каких-либо объектов (образов) с другими, непохожими на них или даже с образами-антагонистами. Так, например, в первом случае понятие «зима» ассоциируется с понятием «холод», «праздник» – с «подарком». В случае противоположностей мозгом легко выстраиваются пары: «черный» – «белый», «большой» – «маленький».

На имитацию этой особенности человеческой памяти ориентированы нейронные сети гетероассоциативной памяти – сети Коско, иначе называемые еще сетями двунаправленной ассоциативной памяти. В структуре этой сети (рис.1) два слоя нейронов. Количество нейронов первого слоя K равно количеству бинарных выходных переменных. Число нейронов второго слоя равно числу бинарных переменных, которые кодируют входной образ, соответствующий выходному. Сами значения входных и выходных переменных принадлежат бинарному множеству {–1; 1}.

В общем случае, задача, решаемая с помощью нейронной сети Коско, ставится следующим образом. Известен набор из N эталонных входных образов и соответствующих им идеальных выходных образов. После обучения сеть Коско должна уметь из поданного на ее вход зашумленного входного вектора выделить один из заложенных в нее выходных идеальных образов или дать заключение, что входные данные не соответствуют ни одному из них. Таким образом, в отличие от нейронной сети Хопфилда, сеть двунаправленной ассоциативной памяти должна не только избавиться от шума во входном векторе, но и сопоставить соответствующий ему выходной вектор.


сеть Коксо

Рис. 1. Структура нейронной сети Коско

 

Алгоритм жизненного цикла нейронной сети Коско включает две стадии: обучения и практического использования.

Стадия обучения содержит следующую последовательность действий:

1.1. Формируются матрицы ассоциированных входных и выходных образов. Матрица входных образов Гетероассоциативная память размера NхM аналогична матрице эталонных входных образов нейронной сети Хопфилда. Структура матрицы выходных образовГетероассоциативная память размера NхK приведена в табл. 1.

1.2. Рассчитываются элементы wij матрицы весовых коэффициентов Гетероассоциативная память:

                                         (1)

или в матричной форме записи:

Гетероассоциативная память.

 

Таблица 1. Матрица выходных образов нейронной сети Коско


образа

№ выходной бинарной переменной

1

2

j

K

1

y11

y12

y1j

y1K

2

y21

y22

y2j

y2K

k

yk1

yk2

ykj

ykK

N

yN1

yN2

yNj

yNK

 

 

На стадии практического использования выполняются следующие операции:

2.1. Неизвестный, возможно, зашумленный образ Гетероассоциативная память подается в виде значений элементов входного вектора-столбца в нейронную сеть. Для него или любого следующего (q+1)-го приближения эталонного входного вектора рассчитываются состояния нейронов первого слоя:

Гетероассоциативная память                                  (2)

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

Гетероассоциативная память.

2.2. К рассчитанным на предыдущем шаге состояниям нейронов применяется пороговая активационная функция вида (5), в результате чего получается новый вектор выходных значений .

Если значение порога T одинаково для всех нейронов, например, T = 0, такая нейронная сеть Коско называется гомогенной. Если имеются различающиеся значения порогов, сеть называется негомогенной. Негомогенные сети Коско имеет смысл использовать в тех случаях, когда входные или выходные вектора содержат различные по своему происхождению элементы.

2.3. Для всех итераций, кроме первой (q ≠ 1), проверяется условие окончания – стабилизация элементов выходного вектора – равенство (6). Если оно не выполняется, цикл расчетов продолжается с п. 2.4, иначе – переход к п. 2.6.

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

Гетероассоциативная память                                   (3)

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

Гетероассоциативная память.

2.5. К рассчитанным состояниям нейронов второго слоя также применяется пороговая активационная функция (5) и вычисляются элементы нового вектора входного образа Гетероассоциативная память.

2.6. Проверяется соответствие стабилизировавшегося вектора выходных значений одному из идеальных образов матрицы Гетероассоциативная память. Если соответствие установлено, можно сделать вывод, что нейронной сети удалось найти ассоциацию между зашумленным входом и одним из идеальных выходов. В противном случае можно сказать, что входной вектор был слишком сильно зашумлен и соответствие не может быть установлено.

Искусственная нейронная сеть Коско имеет ограничения, связанные с количеством запоминаемых образов. Если все они достаточно сильно друг от друга отличаются, в первом приближении достаточно выполнения условия: N ≤ n, где n – минимальное из двух слоев количество нейронов. Предельно строгое условие аналогично неравенству (8) для сети Хопфилда.

Задачу ассоциации неоднородных образов с помощью нейронной сети Коско можно свести к задаче их классификации. В этом случае количество переменных выходного образа должно соответствовать количеству возможных классов. Для каждого эталонного образа класс кодируется так: в выходном векторе все значения элементов, кроме одного, принимаются равными –1. Единственное положительное значение элемента выходного вектора располагается в позиции, соответствующей нужному классу.

Рассмотрим пример работы гетероассоциативной памяти для двух графических образов, представленных бинарными элементами в квадратной матрице (рис. 2). Входной вектор содержит 16 элементов, выходной – 9 элементов. Соответственно, структура нейронной сети будет включать 9 нейронов в первом слое и 16 – во втором.

Гетероассоциативная память

Рис. 2. Эталонные входные и выходные образы для обучения сети Коско

 

Значение элемента входного вектора, равное +1, соответствует закрашенному фрагменту изображения входного образа, –1 – незакрашенному.

В соответствии с алгоритмом стадии обучения нейронной сети Коско составляются матрицы входных и выходных эталонных образов (табл. 2, 3).

 

Таблица 2. Матрица входных образов для настройки нейронной сети Коско

№ образа

№ входной переменной

1

2

3

4

5

6

7

8

1

1

–1

–1

1

–1

1

–1

–1

2

1

1

1

1

1

–1

–1

1

 

 

№ образа

№ входной переменной

9

10

11

12

13

14

15

16

1

–1

–1

1

–1

1

–1

–1

1

2

1

–1

–1

1

1

1

1

1

 

 

Обе матрицы содержат по 2 строки бинарных данных, кодирующие соответствующие друг другу пары образов, однако размер этих образов разный: в первом случае – 16 входов, во втором – 9 выходов. Далее с использованием соотношения (1) определяются весовые коэффициенты сети Коско (табл. 4).

 

Таблица 3. Матрица выходных образов для настройки нейронной сети Коско

№ образа

№ выходной переменной

1

2

3

4

5

6

7

8

9

 

1

1

1

1

1

–1

1

1

–1

1

2

1

–1

1

1

1

–1

1

–1

1

 

 

Для тестирования сети Коско на стадии практического использования воспользуемся зашумленным входным графическим образом, показанным на рис. 3.

 

Гетероассоциативная память

Рис. 3. Зашумленный входной образ для распознавания сетью Коско

 

Бинарный входной вектор, соответствующий тестовому образу, подается на входы нейронной сети. По соотношениям (2) и (5) из статьи "Автоассоциативная память" производится ассоциация данного вектора с выходным образом. По соотношениям (3) и (5) выполняется обратная ассоциация вновь полученного вектора выходов с входным вектором. Ход последовательных ассоциаций представлен в табл. 5.

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

 

Таблица 4. Матрица весовых коэффициентов нейронной сети Коско


входного нейрона

№ выходного нейрона

1

2

3

4

5

6

7

8

9

1

2

0

2

2

0

0

2

–2

2

2

0

–2

0

0

2

–2

0

0

0

3

0

–2

0

0

2

–2

0

0

0

4

2

0

2

2

0

0

2

–2

2

5

0

–2

0

0

2

–2

0

0

0

6

0

2

0

0

–2

2

0

0

0

7

–2

0

–2

–2

0

0

–2

2

–2

8

0

–2

0

0

2

–2

0

0

0

9

0

–2

0

0

2

–2

0

0

0

10

–2

0

–2

–2

0

0

–2

2

–2

11

0

2

0

0

–2

2

0

0

0

12

0

–2

0

0

2

–2

0

0

0

13

2

0

2

2

0

0

2

–2

2

14

0

–2

0

0

2

–2

0

0

0

15

0

–2

0

0

2

–2

0

0

0

16

2

0

2

2

0

0

2

–2

2

 

 

Таблица 5. Изменение сигналов в сети Коско при подаче тестового образа

№ входа или выхода

xi(0)

Итерация 1

Итерация 2

расчет
выходов

расчет
входов

расчет
выходов

расчет
входов

yj(1)

xi(1)

yj(2)

xi(2)

1

1

8

1

12

1

12

1

12

1

2

1

8

1

–6

–1

20

1

–6

–1

3

–1

8

1

–6

–1

12

1

–6

–1

4

1

8

1

12

1

12

1

12

1

5

–1

–8

–1

–6

–1

–20

–1

–6

–1

6

1

8

1

6

1

20

1

6

1

7

–1

8

1

–12

–1

12

1

–12

–1

8

–1

–8

–1

–6

–1

–12

–1

–6

–1

9

1

8

1

–6

–1

12

1

–6

–1

10

–1

–12

–1

–12

–1

11

1

6

1

6

1

12

1

–6

–1

–6

–1

13

–1

12

1

12

1

14

–1

–6

–1

–6

–1

15

–1

–6

–1

–6

–1

16

1

12

1

12

1

0

В отличие от искусственной нейронной сети Хопфилда, в сетях Коско весьма сложно столкнуться с ситуацией зацикленного чередования двух различных образов в выходном векторе. Именно по этой причине обычно бывает достаточно проверки одного условия окончания вычислительной процедуры – условия (6).