1. Двунаправленная ассоциативная память на двоичных элементах
Любая нейронная сеть может рассматриваться как ассоциативная память, если хранимые в весах ее связей изображения являются аттракторами, поскольку любое входное изображение, попавшее в область притяжения аттрактора, может быть использовано для воспроизведения хранимой информации. Подобная память уже анализировалась в лабораторной работе, посвященной сетям Хопфилда. Сети Хопфилда позволяют по зашумленным или неполным изображениям восстанавливать хранимые, то есть исправлять и дополнять входные изображения, но не ассоциировать их с другими образами. Следовательно, сети Хопфилда обладают только автоассоциативной памятью. Это объясняется одноуровневой структурой сети, в которой входные и выходные изображения появляются на выходах одних и тех же элементов.
Двунаправленная ассоциативная память (bidirectional associative memory, BAM) на двоичных элементах была предложена Коско в 1988 году. Архитектура сети представлена на рис. 1.
Сеть состоит из двух слоев нейронов, связанных парами двунаправленных взвешенных связей. Изображения (или n-мерныелибо m-мерные входные вектора) могут подаваться соответственно на входы X- или Y-элементов. При этом не предполагается подача изображений на оба слоя элементов одновременно. Если весовая матрица для сигналов, посылаемых из X-слоя элементов в Y-слой, есть
(1)
то весовая матрица для сигналов от Y-элементов вX-слой имеет вид:
Некоторые авторы для того, чтобы подчеркнуть особенности двунаправленной ассоциативной памяти (ДАП): сходство с сетями Хопфилда, двухслойность и возможность увеличения числа слоев сети, - используют другое графическое представление архитектуры (рис. 2).
Недостаток этого графического представления ДАП состоит в том, что здесь слои нейронов находятся в неравноправном положении - создается видимость, что сеть может реагировать только при предъявлении изображений на слой X-элементов. Однако ДАП реагирует на вход каждого слоя нейронов. Как X-слой, так и Y-слой элементов может быть входным и выходным, то есть на рис. 2 или должны быть добавлены сетевые входы для Y-нейронов и сетевые выходы для X-элементов, или оговорено, что эта структура соответствует функционированию сети при подаче входного изображения на слой X?элементов.
Сеть способна запоминать пары ассоциированных друг с другом образов из некоторых заданных множеств образов L - число ассоциированных пар.
Существуют различные варианты ДАП, в том числе бинарный, биполярный и непрерывный. Двоичные формы ДАП (бинарная и биполярная) тесно взаимосвязаны. Процесс обучения ДАП с бинарными нейронами состоит в предварительной настройке весов связей между X- иY-нейронами (элементов матрицы ) в соответствии с формулой
(2)
Для биполярных нейронов элементы матрицы (1) определяются выражением
(3)
Динамика двунаправленной ассоциативной памяти является итерационной. Процесс изменения выходных сигналов нейронов каждого слоя ДАП осуществляется синхронно в начале итерации, при этом сигналы посылаются из слоя в слой последовательно, а не одновременно в обоих направлениях. При бинарных входных векторах выходные сигналы X- иY-нейронов определяются функциями активации
(4)
где - выходной сигнал p-го (p = 1, …, n, n+1, …, n + m) бинарного элемента в момент времени t + 1; - входной сигнал p-го элемента в момент времени t.
Для бинарных входных векторов функции активации для элементов X- и Y-слоя задаются выражением
(5)
где qp - порог p-го элемента ДАП, p = 1, …, n, n+1, …, n + m.
Из выражений (4), (5) следует, что если входной сигнал элемента точно равен пороговому значению, то функция активации оставляет на выходе нейрона предшествующее значение выходного сигнала. В связи с этим начальная активация нейронов обычно производится нулевыми входными сигналами. Функционирование сети может начинаться с задания изображения (входных сигналов) для любого из слоев ДАП. Опишем алгоритм работы двоичной сети при первом предъявлении изображения Sk слою X-элементов.
Алгоритм функционирования ДАП
Шаг 1. Инициируются веса связей, определяемые с помощью соотношений (2) или (3), для множества из L пар ассоциированных друг с другом двоичных изображений Задается начальное время: t = 0. Инициируются нулевыми входными сигналами все нейроны ДАП:
Шаг 2. Для заданного изображения выполняются шаги 3 - 7. Шаг 3. Задаются входные сигналы нейронов X-слоя:
Задается время t = t + 1 и вычисляются выходные сигналы X-элементов
Шаг 4. До тех пор, пока не установятся выходные сигналы всех X- и Y-нейронов, выполняются шаги 5 - 7 алгоритма. Шаг 5. Адаптируется активность элементов Y-слоя.
Вычисляются входные и выходные сигналы Y-элементов:
Выходные сигналы Y-нейронов посылаются на входы элементов X-слоя. Шаг 6. Адаптируется активность элементов X-слоя.
Вычисляются входные и выходные сигналы X-элементов:
Выходные сигналы X-нейронов посылаются на входы элементов Y-слоя. Шаг 7. Проверяется тест на сходимость. Сравниваются выходные сигналы X-нейронов и а также Y-нейронов и полученные на текущей и предшествующей итерациях. Если не выполняется хотя бы одно из (n + m) равенств
=
=
то осуществляется переход к шагу 5 алгоритма, иначе - переход к шагу 8. Шаг 8. Останов.
Пример 1. Рассмотрим использование ДАП с биполярными нейронами для запоминания двух пар ассоциированных изображений представленных на рис. 3. Нумерация элементов изображений приведена на рис. 4.
В векторной форме изображения имеют вид:
Пусть изображения предъявляются на входы X-элементов, а изображения - на входы нейронов Y-слоя, тогда число элементов X-слоя должно быть равно двенадцати (n = 12), а Y-слоя - трем (m = 3). Используя векторное представление изображений и соотношение (3), рассчитаем элементы матриц . Для весов имеем:
Аналогично рассчитываются и остальные элементы матриц . В результате получим:
,
Для входного изображения ассоциированного с вектором имеем:
то есть
Используя функцию активации (5) биполярных нейронов при нулевом пороге, определим фактический вектор выходных сигналов Y-нейронов:
Подавая вектор на входы Y-нейронов, получим вектор сигналов
При нулевых порогах X-элементов с помощью функции активации (5) рассчитывается вектор выходных сигналов нейронов X-слоя:
Аналогично для изображения получим:
где фактический вектор выходных сигналов Y-элементов при предъявлении на входы X-слоя нейронов изображения S 2. Нетрудно проверить, что при входном векторе t2 на выходе нейронов X-слоя ДАП появится изображение . Таким образом, сеть правильно определяет ассоциированные вектора для любого из рассматриваемых векторов .
ДАП обладает хорошей способностью к обобщениям и может правильно воспроизводить ассоциированные вектора при предъявлении на ее входы зашумленных изображений. Предъявим сети последовательно изображения (рис. 5), являющиеся искаженными описаниями изображений (рис.3).
После предъявления изображений нетрудно получить:
Таким образом, сеть правильно определяет ассоциированные вектора, хотя в первом изображении изменено три элемента из двенадцати или 25% компонент изображения, а во втором - 33% искаженных элементов. Подобным образом сеть ведет себя и при предъявлении искаженных векторов слою Y-нейронов. Пусть, например, сети последовательно предъявляются вектора и . В результате аналогичных вычислений получим:
то есть и в этих случаях сеть правильно определяет ассоциированные вектора.
2. Оценка емкости двунаправленной ассоциативной памяти
Как и другие нейронные сети, ДАП имеет ограничение на максимальное количество запоминаемой информации. Если этот предел превышен, то сеть может вырабатывать неверные ассоциации. Оценки, приведенные в работе Коско, ограничивают число запоминаемых ассоциаций рассматриваемой ДАП числом m нейронов в меньшем слое при специальном кодировании изображений, максимизирующем емкость памяти. Это кодирование предусматривает получение каждого из запоминаемых изображений с одинаковыми (или отличающимися не более, чем на единицу) числами биполярных компонент с разными знаками. Более точные оценки существенно уменьшают емкость памяти нейросети. Для N случайно выбранных и оптимально закодированных векторов, каждый из которых должен быть восстанавливаемым, в общем случае необходимо выполнение неравенства
(6)
При замене требования восстановления каждого из N запоминаемых образов более слабым - восстанавливаются все запомненные вектора за исключением их незначительной части, число N может быть увеличено в два раза:
(7)
Если, например, m = 1024, то число запоминаемых изображений по соотношению (6) не должно превышать 25, а по неравенству (7) - 51. Таким образом, рассмотренная ДАП может запоминать весьма ограниченное число ассоциаций.
Замечание 1. Для конкретных ассоциированных пар изображений неравенства (6), (7) могут давать весьма заниженные оценки. Например, из неравенства (6) для m = 3 имеем N < 1, а из неравенства (7) следует, что N < 2, однако пример 1 убедительно показывает, что ДАП с тремя нейронами в меньшем слое запоминает и восстанавливает две ассоциации или четыре изображения, приведенные на рис. 3. Все же и в рассмотренном примере емкость ДАП невелика, уже при трех парах запоминаемых изображений (рис. 6) нейросеть не способна восстанавливать без ошибок все запомненное. Пример 2. Увеличим число пар запоминаемых изображений примера 1 до трех (рис. 6) и исследуем возможности ДАП восстанавливать ассоциированные компоненты.
Запишем ассоциированные пары изображений в векторной форме:
(8)
Используя векторную форму представления изображений (8) и соотношение (3) при L = 3, n = 12, m = 3, рассчитаем элементы матриц
………………………………………………….………………
.
В результате получим следующие матрицы весовых коэффициентов:
,
Для входных изображений ассоциированных соответственно с векторами определяем входные и выходные сигналы биполярных Y-нейронов при нулевых порогах элементов:
Таким образом, ДАП по предъявленным изображениям правильно определяет ассоциированные им изображения . Предъявим теперь последовательно изображения Y-слою элементов и определим с помощью транспонированной матрицы весов вектора входных и выходных сигналов биполярных X-нейронов:
Из выполненных вычислений следует, что по предъявленным изображениям правильно восстанавливается только одно изображение S 1. Два других оказываются искаженными (рис. 7).
Требование примерного равенства чисел положительных и отрицательных биполярных компонент в каждом из запоминаемых ДАП изображений весьма существенно и его нельзя игнорировать, так как это уменьшает емкость памяти.
Теоретически емкость ДАП может быть увеличена до 2m изображений, где m - число нейронов в меньшем слое, если для каждого элемента сети с биполярной функцией активацией (5) ввести свой порог q. Такая нейросеть получила название негомогенной ДАП в отличие от рассмотренной гомогенной ДАП, в которой пороги всех нейронов принимаются равными нулю. К сожалению, практическое использование негомогенной ДАП такой емкости затруднено из-за жестких ограничений, накладываемых на запоминаемые изображения. Если же изображения выбираются случайным образом, но при этом каждое из них содержит (4 + log2m) положительных биполярных компонент, а число N запоминаемых ассоциаций меньше 0,34m2/(4 + log2m), то негомогенная память может правильно восстанавливать до 98% запоминаемых изображений. При m = 1024 число запоминаемых изображений не должно превышать 3636, что на два порядка больше по сравнению с рассмотренной гомогенной ДАП.
Из-за отсутствия общей теории и удобных алгоритмов для перекодирования произвольных запоминаемых наборов векторов в вектора с лимитированным числом единиц ограничение числа положительных компонент во входных изображениях является серьезным недостатком негомогенной ДАП. Другой существенный недостаток ДАП состоит в том, что при зашумленных входных векторах сеть может воспроизводить ассоциации, не соответствующие заданным входным векторам. Несмотря на эти недостатки, ДАП, в силу ее логической простоты и удобства реализации в виде СБИС, представляется очень перспективным классом интенсивно исследуемых нейросетей.