русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Двунаправленная ассоциативная память

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-слоя нейронов изображения 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, что на два порядка больше по сравнению с рассмотренной гомогенной ДАП.

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

Просмотров: 9893

Вернуться в оглавление:Нейрокомпьютеры




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.