Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab6.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
386.56 Кб
Скачать

Лабораторная работа №6. Моделирование и исследование двунаправленной ассоциативной памяти.

Цель работы – изучение алгоритмов обучения и функционирования модели двунаправленной ассоциативной памяти и моделирование нейронной сети для решения задачи распознавания образов по заданным ассоциациям.

Общие сведения

Двунаправленная ассоциативная память (Bidirectional Associative Memory -- BAM) является гетероассоциативной; входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Как и сеть Хопфилда, BAM способна к обобщению, вырабатывая правильные реакции, несмотря на искаженные входы.

WT W

. . .

. . .

A B

Слой 0 Слой 1 Слой 2

Рис. 1. Конфигурация двунаправленной ассоциативной памяти.

На рис. 1 приведена базовая конфигурация BAM. Входной вектор А обрабатывается матрицей весов W сети, в результате чего получается вектор выходных сигналов нейронов В. Вектор В затем обрабатывается транспонированной матрицей WТ весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор А. Этот процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор А, ни вектор В не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов, а по ней значение функции активации F. В простейших моделях BAM используется пороговая функция активации.

Примем также, что внутри каждого нейрона в слоях 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 к элементам матрицы WТ.

Долговременная память (или ассоциации) реализуется в весовых массивах W и WТ. Каждый образ состоит из двух векторов: вектора A, являющегося выходом слоя 1, и вектора B, ассоциированного образа, являющегося выходом слоя 2. Для восстановления ассоциированного образа вектор A или его часть кратковременно устанавливаются на выходах слоя 1. Затем вектор A удаляется, и сеть приводится в стабильное состояние, вырабатывая ассоциированный вектор B на выходе слоя 2. Затем вектор B воздействует через транспонированную матрицу WТ, воспроизводя воздействие исходного входного вектора A на выходе слоя 1. Каждый такой цикл вызывает уточнение выходных векторов слоя 1 и 2 до тех пор, пока не будет достигнута точка стабильности в сети. Эта точка может рассматриваться как резонансная, так как вектор передается между слоями сети, обрабатывая текущие выходные сигналы, но не изменяя их. Состояние нейронов представляет собой кратковременную память (КП), так как оно может быстро изменяться при появлении другого входного вектора.

Сеть BAM функционирует в направлении минимизации функции энергии в основном таким же образом, как и сети Хопфилда в процессе сходимости. Таким образом, каждый цикл модифицирует систему в направлении энергетического минимума, расположение которого определяется значениями весов.

Простейший обучающий алгоритм использует правило Хэбба, в котором изменение веса пропорционально уровню активации его нейрона-источника и уровню активации нейрона-приемника.

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

W = i AiT Bi .

Было показано, что более высокая производительность достигается при использовании биполярных векторов. При этом векторная компонента, большая, чем 0, становится +1, а компонента, меньшая или равная 0, становится –1.

Структура BAM, представленная на рис.1, демонстрирует ее сходство с сетью Хопфилда. При моделировании BAM с помощью NeuralWorks Professional II разработчиками использовалась несколько другая структура, которая представлена на рис.2.

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

Выходной слой ……..

BAM1-слой ……..

W11

W21

Wn1

BAM2-слой

……..

Входной слой

Рис. 2. Структура BAM сети.

При проверке функционирования сети можно в диалоговом окне Utilities/L/R Schedule менять параметр “Firing rate” (КПД нейронной сети – доля работающих нейронов), который имитирует асинхронное обновление состояния нейронов. Низкое значение КПД подходит в том случае, когда заданная ассоциация полная, но зашумленная, высокое значение КПД – случаю, когда ассоциация задана частично, например, известна только для первого слоя BAM1. Низкое значение КПД более точно моделирует асинхронную деятельность мозга, но приводит к замедлению сходимости.

Пример

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]