Смекни!
smekni.com

Нейрокомпьютерные системы (стр. 22 из 32)

1. Найден запомненный образ, сходство которого с вектором Х выше уровня параметра сходства, т.е. S>p. Если это происходит, проводится обучающий цикл, в про­цессе которого модифицируются веса векторов Тj и Вj, связанных с возбужденным нейроном в слое распознавания.

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

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

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

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

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

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

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

bij <L / (L - 1 + m) для всех i, j, (8.1)

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

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

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

Эти значения также являются критическими; в [2] показа­но, что слишком маленькие веса приводят к отсутствию соответствия в слое сравнения и отсутствию обучения. Параметр сходства р устанавливается в диапазоне от 0 до 1 в зависимости от требуемой степени сходства между запомненным образом и входным вектором. При высо­ких значениях р сеть относит к одному классу только очень слабо отличающиеся образы. С другой стороны, малое значение р заставляет сеть группировать образы, которые имеют слабое сходство между собой. Может ока­заться желательной возможность изменять коэффициент сходства на протяжении процесса обучения, обеспечивая только грубую классификацию в начале процесса обуче­ния, и затем постепенно увеличивая коэффициент сходства для выработки точной классификации в конце процесса обучения.

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

NETj = j • С), (8.3)

где Вj - весовой вектор, соответствующий нейрону j в слое распознавания; С - выходной вектор нейронов слоя сравнения; в этот момент С равно X; NETj - возбуждение J нейрона в слое распознавания. F является пороговой функцией, определяемой следу­ющим образом:

OUTj = 1, если NETj > 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] эти веса вычисляются следую­щим образом: