Рефераты. Нейрокомпьютерные системы p>СТРУКТУРА ДАП

[pic]

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

На рис. 7.1 приведена базовая конфигурация ДАП. Эта конфигурация существенно отличается от используемой в работе [9]. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 7.1 входной вектор А обрабатывается матрицей весов W сети, в результате чего вырабатывается вектор выходных сигналов нейронов В. Вектор В затем обрабатывается транспонированной матрицей Wt весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор А. Этот процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор А, ни вектор В не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации F. Этот процесс может быть выражен следующим образом:

[pic] (7.1)

или в векторной форме: B = F( AW ) (7.2)

где В - вектор выходных сигналов нейронов слоя 2, А -вектор выходных сигналов нейронов слоя 1, W - матрица весов связей между слоями 1 и 2, F
- функция активации.Аналогично

A = F (BWt) (7.3)

где Wt является транспозицией матрицы W. Как отмечено в гл. 1,
Гроссберг показал преимущества использования сигмоидальной
(логистической) функции активации

OUTi = 1 / ( 1 + e-(NETi)

где OUTi - выход нейрона i, NETi - взвешенная сумма входных сигналов нейрона i, ( - константа, определяющая степень кривизны. В простейших версиях ДАП значение константы ( выбирается большим, в результате чего функция активации приближается к простой пороговой функции. В дальнейших рассуждениях будем предполагать, что используется пороговая функция активации. Примем также, что существует память внутри каждого нейрона в слоях 1 и 2 и что выходные сигналы нейронов изменяются одновременно с каждым тактом синхронизации, оставаясь постоянными между этими тактами.
Таким образом, поведение нейронов может быть описано следующими правилами:

OUTi(n+1) = 1, если NETi(n)>0,

OUTi(n+1) = 0, если NETi(n)0,

bi = 0 , если OiTi, OUTi(n+l)=l, если NETi(n)p. Если это происходит, проводится обучающий цикл, в процессе которого модифицируются веса векторов Тj и Вj, связанных с возбужденным нейроном в слое распознавания.

2. Все запомненные образы проверены, определено, что они не соответствуют входному вектору, и все нейроны слоя распознавания заторможены. В этом случае предварительно не распределенный нейрон в распознающем слое выделяется этому образу и его весовые векторы Вj и
Тj устанавливаются соответствующими новому входному образу.

Проблема производительности. Описанная сеть должна производить последовательный поиск среди всех запомненных образов. В аналоговых реализациях это будет происходить очень быстро; однако при моделировании на обычных цифровых компьютерах этот процесс может оказаться очень длительным. Если же сеть APT реализуется на параллельных процессорах, все свертки на распознающем уровне могут вычисляться одновременно. В этом случае поиск может быть очень быстрым. Время, необходимое для стабилизации сети с латеральным торможением, может быть длительным при моделировании на последовательных цифровых компьютерах. Чтобы выбрать победителя в процессе латерального торможения, все нейроны в слое должны быть вовлечены в одновременные вычисления и передачу. Это может потребовать проведения большого объема вычислений перед достижением сходимости. Латеральные тормозящие сети, аналогичные используемым в неокогнитронах, могут существенно сократить это время (гл. 10).

РЕАЛИЗАЦИЯ APT Обзор

APT, как это можно увидеть из литературы, представляет собой нечто большее, чем философию, но намного менее конкретное, чем программа для компьютера. Это привело к наличию широкого круга реализаций, сохраняющих идеи APT, но сильно отличающихся в деталях. Рассматриваемая далее реализация основана на работе [5] с определенными изменениями для обеспечения совместимости с работой [2] и моделями, рассмотренными в данной работе. Эта реализация может рассматриваться в качестве типовой, но необходимо иметь в виду, что другие успешные реализации имеют большие отличия от нее.

Функционирование сетей APT

Рассмотрим более детально пять фаз процесса функционирования APT: инициализацию, распознавание, сравнение, поиск и обучение.

Инициализация. Перед началом процесса обучения сети все весовые векторы
Вj и Тj, а также параметр сходства р, должны быть установлены в начальные значения. Веса векторов Вj все инициализируются в одинаковые малые значения. Согласно [2], эти значения должны удовлетворять условию

bij r, (8.4)

0 в противном случае,

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

Сравнение. На этой фазе сигнал обратной связи от слоя распознавания устанавливает G1 в нуль; правило двух третей позволяет возбуждаться только тем нейронам, которые имеют равные единице соответствующие компоненты векторов Р и X. Блок сброса сравнивает вектор С и входной вектор X, вырабатывая сигнал сброса, когда их сходство S ниже порога сходства. Вычисление этого сходства упрощается тем обстоятельством, что оба вектора являются двоичными (все элементы либо 0, либо 1).
Следующая процедура проводит требуемое вычисление сходства:

1. Вычислить D - количество единиц в векторе X.

2. Вычислить N - количество единиц в векторе С.

Затем вычислить сходство S следующим образом:

S= N/D (8.5)

Например, примем, что

Х=1 0 1 1 1 0 D=5

С=0 0 1 1 1 0 1 N=4

S = N/D = 0.8

S может изменяться от 1 (наилучшее соответствие) до О (наихудшее соответствие). Заметим, что правило двух третей делает С логическим произведением входного вектора Х и вектора Р. Однако Р равен Тj, весовому вектору выигравшего соревнование нейрона. Таким образом, D может быть определено как количество единиц в логическом произведении векторов Тj и X.

Поиск. Если сходство S выигравшего нейрона превышает параметр сходства, поиск не требуется. Однако если сеть предварительно была обучена, появление на входе вектора, не идентичного ни одному из предъявленных ранее, может возбудить в слое распознавания нейрон со сходством ниже требуемого уровня. В соответствии с алгоритмом обучения возможно, что другой нейрон в слое распознавания будет обеспечивать более хорошее соответствие, превышая требуемый уровень сходства, несмотря на то, что свертка между его весовым вектором и входным вектором может иметь меньшее значение. Пример такой ситуации показан ниже. Если сходство ниже требуемого уровня, запомненные образы могут быть просмотрены с целью поиска, наиболее соответствующего входному вектору образа. Если такой образ отсутствует, вводится новый несвязанный нейрон, который в дальнейшем будет обучен. Для инициализации поиска сигнал сброса тормозит возбужденный нейрон в слое распознавания на время проведения поиска, сигнал 01 устанавливается в единицу и другой нейрон в слое распознавания выигрывает соревнование. Его запомненный образ затем проверяется на сходство, и процесс повторяется до тех пор, пока конкуренцию не выиграет нейрон из слоя распознавания со сходством, большим требуемого уровня (успешный поиск), либо пока все связанные нейроны не будут проверены и заторможены (неудачный поиск).
Неудачный поиск будет автоматически завершаться на несвязанном нейроне, так как его веса все равны единице, своему начальному значению.
Поэтому правило двух третей приведет к идентичности вектора С входному век тору X, сходство S примет значение единицы и критерий сходства будет удовлетворен.

Обучение. Обучение представляет собой процесс, в котором набор входных векторов подается последовательно на вход сети и веса сети изменяются при этом таким образом, чтобы сходные векторы активизировали соответствующие нейроны. Заметим, что это - неуправляемое обучение, нет учителя и нет целевого вектора, определяющего требуемый ответ. В работе [2] различают два вида обучения: медленное и быстрое. При медленном обучении входной вектор предъявляется настолько кратковременно, что веса сети не имеют достаточного времени для достижения своих асимптотических значений в результате одного предъявления. В этом случае значения весов будут определяться скорее статистическими характеристиками входных векторов, чем характеристиками какого-то одного входного вектора. Динамика сети в процессе медленного обучения описывается дифференциальными уравнениями.

Быстрое обучение является специальным случаем медленного обучения, когда входной вектор прикладывается на достаточно длительный промежуток времени, чтобы позволить весам приблизиться к их окончательным значениям. В этом случае процесс обучения описывается только алгебраическими выражениями. Кроме того, компоненты весовых векторов Тj принимают двоичные значения, в отличие от непрерывного диапазона значений, требуемого в случае быстрого обучения. В данной работе рассматривается только быстрое обучение, интересующиеся читатели могут найти превосходное описание более общего случая медленного обучения в работе [2]. Рассмотренный далее обучающий алгоритм используется как в случае успешного, так и в случае неуспешного поиска.

Пусть вектор весов Вj (связанный с возбужденным нейроном j распознающего слоя) равен нормализованной величине вектора С. В [2] эти веса вычисляются следующим образом:

[pic] (8.6)

где сi - i-я компонента выходного вектора слоя сравнения; j - номер выигравшего нейрона в слое распознавания; Ьij - вес связи, соединяющей нейрон i в слое сравнения с нейроном j в слое распознавания; L - константа > 1 (обычно 2).

Компоненты вектора весов Т., связанного с новым запомненным вектором, изменяются таким образом, что они становятся равны соответствующим двоичным величинам вектора С:

tij=ci для всех i (8.7)

где tij является весом связи между выигравшим нейроном j в слое распознавания и нейроном i в слое сравнения.

ПРИМЕР ОБУЧЕНИЯ СЕТИ APT

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.