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

УДК 007.57:681.3

Ю.В. Чернухин НЕЙРОПРОЦЕССОРНАЯ АССОЦИАТИВНАЯ ПАМЯТЬ

Известно, что естественная память биологических систем, и прежде всего память человека, существенно отличается от локально адресуемых оперативных и долговременных запоминающих устройств (ЗУ) цифровых компьютеров. Попытки построения технических аналогов естественной памяти привели к созданию ассоциативных ЗУ, используемых для организации КЭШ-памяти современных ЭВМ. Особенность ассоциативных запоминающих устройств заключается в том, что они способны выдавать хранящуюся в них информацию без предварительного указания адресов тех ячеек, в которых находятся данные. Функции адресов при этом выполняют некоторые признаки самих слов.

Следующим этапом в развитии биоподобных ЗУ является создание нейроком-пьютерной ассоциативной памяти (АП), в которой не только отсутствуют традиционные локальные адреса, но и нет взаимно однозначного соответствия между данными и хранящими их ячейками. В таких ЗУ возможно считывание как искомых (базисных) слов, так и слов, близких им по некоторым параметрам (значению). Иными словами, в них воспроизводится свойство человеческих ассоциаций, т.е. способность воспоминаний возбуждать связанные с ними данные (образы) и знания. Ассоциативная память строится, как правило, на основе аналоговых нейросетей с обратными связями, называемых сетями Хопфилда [1]. Проанализируем особенности моделирования свойств такой памяти на базе нейропроцессорных сетей и сетей бинарных нейронов [2,3].

Переходя к рассмотрению данного вопроса прежде всего отметим, что структура цифровых нейропроцессорных ансамблей (ЦНА) и цифровых нейропроцессор-ных сетей (ЦНС) с обратными связями, т.е. тех ЦНА и ЦНС , которые подробно исследованы в работе [4], вполне соответствует структуре нейросетей Хопфилда. Однако в отличие от вычислительных ЦНА, цифровые нейропроцессоры (ЦНП) которых реализуют кусочно-линейную активационную функцию, в случае моделирования сетей Хопфилда, те же нейропроцессоры должны иметь знаковую (Sign) или непрерывную сжимающую типа сигмоиды (Sigm) выходную функцию активации. При использовании данных функций пространство стационарных состояний нейропро-цессорной сети, охваченной цепями обратных связей, становится дискретным. Для сети, содержащей n нейропроцессоров, это пространство будет представлять собой совокупность 2n точек, соответствующих вершинам n-мерного гиперкуба. Если вершинам гиперкуба ставить во взаимно однозначное соответствие подлежащие хранению базисные слова (образы), то образуется память, способная не только воспроизводить эти образы, но и восстанавливать их при повреждении или выделении из шумов, т.е. получается память, обладающая ассоциативными свойствами. Важно то, что в такой памяти взаимно однозначное соответствие устанавливается не между данными и хранящими их ячейками, а между данными и состояниями сети в целом. Иными словами, принцип хранения и выдачи информации в АП основывается на использовании динамически устойчивых аттракторов, предварительно формируе-

мых в процессе запоминания. Режим запоминания, в свою очередь, связан с автоматическим формированием или предварительным расчетом матрицы Г синаптических

весов нейропроцессоров сети, определяющих пространство аттракторов [1]. Суть расчетов при этом сводится к следующему.

Пусть необходимо построить нейросетевую ассоциативную память, хранящую

Р n-разрядных двоичных слов Ае (1 = 1,P), которые можно рассматривать в качестве базисных вектор-столбцов

T

___ А1 = [alb •••, ain] ,

где а1к е {0,1}; 1 = 1,P; k = 1,n; T - знак операции транспонирования.

Тогда алгоритм формирования матрицы Г можно записать так

Г = £ A, AT,

1 = 1

T

где Ai - вектор-строки, получаемые путем транспонирования исходных вектор-столбцов А^

После определения матрицы Г, ее компоненты заносятся в соответствующие ячейки памяти ЦНЦ нейропроцессорного ансамбля (однослойной сети) в качестве синаптических весов yjk (j,k = 1,n).

Благодаря процедуре (2), минимизируемый нейропроцессорной сетью с обратными связями функционал приобретает 2n экстремальных значений, соответствующих вершинам 211-мерного гиперкуба. В фазовом пространстве сети эти вершины образуют точки притяжения фазовых траекторий - аттракторы, определяющие ее стационарные состояния. По этой причине, если хранимые образы будут соответствовать аттракторам, то нейропроцессорная сеть с обратными связями сможет выполнять функции ассоциативной памяти. Ее динамические свойства таковы, что любой входной вектор, попавший в область действия соответствующего некоторому базовому вектору аттрактора, будет использовать его в качестве собственного восстановителя, поскольку будет способствовать переходу сети в соответствующее этому вектору состояние.

Из данных представлений следует алгоритм восстановления (чтения) хранимой в нейропроцессорной АП информации. Его формальная запись может быть представлена в следующем виде:

Zt = F(rZ,_,) -0), Zо = Xt;

Af, если Xt = Af;

Aa1 , если X1 ^ A1,

где F - активационная функция нейропроцессоров типа функции знака или сигмоиды; Zi - выходной вектор сети; X ^ - входной вектор-пример, используемый в качестве начального значения искомого вектора Z; 0 - вектор порогов нейропроцессоров сети; Ai -1 -тый базисный вектор; Aai - вектор, ассоциативный вектору Xi.

Структура нейропроцессорной ассоциативной памяти, реализующей соотношения (3) и построенной на основе ЦНА с обратной связью, приведена на рис.1. На этом рисунке с выхода Z (Sign или Sigm) снимается вектор Zi, компонентами ста-

X,

Т ЦНА

Г

УГ

Ъ

ь=о

В=1

К=1

Ъо

е

УО

Рис. 1

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

В соответствии с алгоритмом (3) в режиме чтения (восстановления) в начальный момент времени на вход Ъ0 начальной установки сети подается тот вектор Xі, факт хранения которого необходимо обнаружить. Получив этот вектор-пример в качестве исходного, сеть начинает изменять свои состояния так, чтобы они конвергировали в область того аттрактора, в зоне действия которого преимущественно находится Xі. Если при этом вектор Xі оказывается равным базисному вектору А і, то сеть устанавливается в соответствующее А і состояние и на ее выходе появляется двоичный код Ъ = А і = [а ц, а 12,., а іп ]. Если же вектор Xе не совпадает ни с одним из базисных или других, хранимых сетью векторов, то на выходах Ъ ЦНА появится код того базисного вектора, которому X і ассоциативен. Последнее обстоятельство и позволяет говорить о восстановлении векторов Xі є {Аі} при их повреждении или выделении из шумов.

Действительно, если повреждения или зашумления таковы, что вектор X і все же попадает в область соответствующего базисному вектору А і аттрактора, то сеть выдает код А і, т.е. восстанавливает его.

Например, если АП должна хранить четыре 4-х разрядных базисных вектора А і (і = 1,4) вида А1 = А; А2 = В; А3 = С; А4 = Б, то матрица Г, формируемая по правилу (2), запишется так

Г = ГА + Г в + Г С + Г Б = ААТ + ВВТ + ССТ + ББТ.

Из соотношений (4) следует, что матрицы ГА, ГВ, ГС, ГБ являются симметричными и, следовательно, матрица Г также симметрична. При такой матрице итерационный процесс (3) устойчив [1, 4].

С целью предотвращения потери информации при формировании матрицы Г, необходимо заменять нулевые компоненты базисных векторов отрицательными единицами [1, 2].

При правильном выборе базисных векторов, матрица весов Г, соответствующая этим векторам, должна обеспечивать на выходе нейросети в ее стационарном состоянии вектор Ъ, равный базисному вектору А і, при задании в качестве начального вектора X і = А і, т.е.

Ъ = Б(ГХ і) = А і, где X і - любой из базисных векторов.

Если же на вход нейропроцессорной сети в качестве исходного задать вектор X і, отличный от базисного, то выходным вектором АП может быть или один из базисных векторов или какой-либо из небазисных векторов (ассоциативный выбор сети).

дт

Т МНС

д1

АР

Г V,

0

ь=о В=1 К=1 0=0

уд

X,

Г

Г,

Ь=0

В=1

К=1

2о

9

уд

ЦНА

Z

В том случае, когда нескольким входным небазисным векторам соответствует один и тот же базисный вектор, можно считать, что этот базисный вектор ассоциативно связан с любым из выделенных небазисных векторов. Данное обстоятельство подтверждает тот факт, что рассматриваемая однослойная нейропроцессорная сеть с выходом Z, обратной связью и матрицей Г, рассчитываемой по формуле (2) с учетом предварительной замены нулей в двоичных кодах базисных векторов на «-1», действительно выполняет функции ассоциативной памяти.

Схема самообучающейся АП с автоматическим формированием матрицы Г при

ее изменениях, при добавлении новых базисных векторов А,, исключении ненужных векторов и т.п., показана на рис. 2, где буквой Г0 обозначены входы начальной установки соответствующих матриц.

В этой схеме для формирования матрицы Г используется матричная Рис. 2 нейропроцессорная сеть МНС, состоя-

щая из п ЦНА, нейропроцессоры которых вычисляют компоненты у|к (|,к = 1,п) матрицы Г. Причем, первый ЦНП первого ЦНА данной МНС вычисляет значение Р 2 Р

у 11 = Vа^, второй ЦНП того же ЦНА вычисляет у 12 = Vа|1 а|2, и т.д. до п-го |=1 |=1

ЦНП, вычисляющего у1п.

Второй ЦНА данной МНС вычисляет компоненты матрицы Г от у21 до у2п и т.д. до п-го ЦНА, определяющего компоненты матрицы Г от уп1 до упп включительно.

Процесс обучения при этом сводится к записи используемых базисных векторов А, ( , = 1,Р) в регистры синаптических весов соответствующих нейропроцессо-

т

ров МНС и, затем, подаче их транспонированных значений А, на информационные

входы тех же нейропроцессоров. Получившиеся на выходе X МНС компоненты матрицы Г поступают на входы Г0 начальной установки синаптических весов нейропроцессоров ЦНА и фиксируются в них. На этом процесс обучения АП заканчивается.

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

Необходимо учитывать также и то, что входные и выходные переменные ЦНА АП являются булевыми. По этой причине для построения собственно нейросетевой ассоциативной памяти целесообразно использовать простейшие ЦНП, работающие в режиме бинарных нейронов, или даже применять аналоговые бинарные нейроны [2]. Схема АП на аналоговых бинарных нейронах (БН) была исследована на оборудовании аналогового вычислительного комплекса АВК-31.

Эксперименты показали, что неоднозначность в нулевой точке используемой знаковой активационной функции в ряде случаев приводит к искажению результатов работы сети. Оказалось, что для устранения этого недостатка необходимо искажать матрицу Г путем добавления к элементам ее главной диагонали некоторого малого положительного числа 8. Правило обучения АП при этом принимает вид

Г = !>,АТ + Е8,

,=1

где Е - единичная матрица, 8 - малое положительное число.

Экспериментальная установка содержала восемь БН. С целью упрощения схемы задания векторов-примеров X,, процесс воспроизведения в ней был реализован

в соответствии с уравнением

Z

в котором 9 = 0,05; X - параметр, определяющий скорость затухания экспоненты.

В уравнении (5) учтено время т задержки распространения сигналов в цепях обратной связи. В отличие от соответствующего уравнения системы (3), в нем вектор-пример X, задается не в качестве исходного значения искомого вектора Z(t), а подается на короткое время на дополнительные входы бинарных нейронов в виде быстро уменьшающихся сигналов Х,е-Х. Задатчик таких сигналов реализован в

виде интегрирующего усилителя, формирующего функцию е .

Более подробно нейросетевая ассоциативная память описана в учебном пособии [2], где она используется в качестве стенда к лабораторной работе «Исследование нейросетевой ассоциативной памяти» [5].

В заключение отметим, что если однослойную нейропроцессорную сеть с обратными связями строить на основе формальных нейронов, то при у^ = 0 она приобретает свойства многостабильного триггера и может использоваться в качестве блока принятия решений в нейросетевых системах управления роботов [6].

1. Уоссермен Ф. Нейрокомпьютерная техника. М.: Мир, 1992. 240 с.

2. Чернухин Ю.В., Гузик В.Ф., Зарецкий Я.Д. Лабораторный практикум по курсу «Системы искусственного интеллекта и нейрокомпьютеры». Ч 1.Таганрог: ТРТУ, 1996. 100 с.

3. Чернухин Ю.В. Нейропроцессоры. Таганрог: ТРТУ, 1994. 175 с.

4. Чернухин Ю.В. Нейропроцессорные ансамбли. Таганрог: ТРТУ, 1995. 149 с.

5. Чернухин Ю.В. Искусственный интеллект и нейрокомпьютеры. Таганрог: ТРТУ, 1997. 273 с.

6. Чернухин Ю.В. Микропроцессорное и нейрокомпьютерное управление адаптивными мобильными роботами. Таганрог: ТРТИ, 1993. 91с.