Нейрокомпьютерная техника. Теория и практика
bf1271d8

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


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

Инициализация. Перед началом процесса обучения сети все весовые векторы Bj

и Tj, а также параметр сходства r, должны быть установлены в начальные значения.

Веса векторов Bj

все инициализируются в одинаковые малые значения. Согласно [2], эти значения должны удовлетворять условию

                                              

?для всех i, j,                                     (8.1)

где т – количество компонент входного вектора,

L – константа, большая1 (обычно L = 2).

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

Веса векторов Tj

все инициализируются в единичные значения, так что

                                               tij = 1?для всех j,i.                                                     (8.2)

Эти значения также являются критическими; в [2] показано, что слишком маленькие веса приводят к отсутствию соответствия в слое сравнения и отсутствию обучения.



Параметр сходства r

устанавливается в диапазоне от 0 до 1 в зависимости от требуемой степени сходства между запомненным образом и входным вектором. При высоких значениях r

сеть относит к одному классу только очень слабо отличающиеся образы. С другой стороны, малое значение r

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

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

идентичен вектору X.

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

                                               NETj

= (Bj • C),                                                           (8.3)

где Вj – весовой вектор, соответствующий нейрону j

в слое распознавания; С – выходной вектор нейронов слоя сравнения; в этот момент С

равно X; NETj – возбуждение нейрона j в слое распознавания.

F является пороговой функцией, определяемой следующим образом:

                                               OUTj

= 1, если NETj>T,                                             (8.4)

                                               OUTj

= 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 1           D = 5

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

                                               S=N/D=0,8

S

может изменяться от 1 (наилучшее соответствие) до 0 (наихудшее соответствие).

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

Поиск. Если сходство .S выигравшего нейрона превышает параметр сходства, поиск не требуется. Однако если сеть предварительно была обучена, появление на входе вектора, не идентичного ни одному из предъявленных ранее, может возбудить в слое распознавания нейрон со сходством ниже требуемого уровня. В соответствии с алгоритмом обучения возможно, что другой нейрон в слое распознавания будет обеспечивать более хорошее соответствие, превышая требуемый уровень сходства несмотря на то, что свертка между его весовым вектором и входным вектором может иметь меньшее значение. Пример такой ситуации показан ниже.

Если сходство ниже требуемого уровня, запомненные образы могут быть просмотрены с целью поиска, наиболее соответствующего входному вектору образа. Если такой образ отсутствует, вводится новый несвязанный нейрон, который в дальнейшем будет обучен. Для инициализации поиска сигнал сброса тормозит возбужденный нейрон в слое распознавания на время проведения поиска, сигнал G1 устанавливается в единицу и другой нейрон в слое распознавания выигрывает соревнование. Его запомненный образ затем проверяется на сходство и процесс повторяется до тех пор, пока конкуренцию не выиграет нейрон из слоя распознавания со сходством, большим требуемого уровня (успешный поиск), либо пока все связанные нейроны не будут проверены и заторможены (неудачный поиск).



Неудачный поиск будет автоматически завершаться на несвязанном нейроне, так как его веса все равны единице, своему начальному значению. Поэтому правило двух третей приведет к идентичности вектора С входному вектору X, сходство S примет значение единицы и критерий сходства будет удовлетворен.

Обучение. Обучение представляет собой процесс, в котором набор входных векторов подается последовательно на вход сети и веса сети изменяются при этом таким образом, чтобы сходные векторы активизировали соответствующие нейроны. Заметим, что это – неуправляемое обучение, нет учителя и нет целевого вектора, определяющего требуемый ответ.

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

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

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

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


В [2] эти веса вычисляются следующим образом:

                                              

                                                       (8.6)

где сi – i-я

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

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

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

где

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


Содержание раздела