2. Умножить каждую компоненту полученного произве­дения на производную сжимающей функции соответствующего нейрона в скрытом слое.

В символьной записи

Dj = DkW ‘k $ [Оj $(1- Oj)], (3.8)

где оператор $ в данной книге обозначает покомпонентное произведение векторов. О. - выходной вектор слоя j и 1 - вектор, все компоненты которого равны 1.

Добавление нейронного смещения. Во многих случаях жела­тельно наделять каждый нейрон обучаемым смещением. Это позволяет сдвигать начало отсчета логистической функ­ции, давая эффект, аналогичный подстройке порога персептронного нейрона, и приводит к ускорению процесса обучения. Эта возможность может быть легко введена в обучающий алгоритм с помощью добавляемого к каждому нейрону веса, присоединенного к +1. Этот вес обучается так же, как и все остальные веса, за исключением того, что подаваемый на него сигнал всегда равен +1, а не выходу нейрона предыдущего слоя.

Импульс. В работе [7] описан метод ускорения обучения для алгоритма обратного распространения, увеличивающий также устойчивость процесса. Этот метод, названный импульсом, заключается в добавлении к коррекции веса члена, пропорционального величине предыдущего изменения веса. Как только происходит коррекция, она «запоминает­ся» и служит для модификации всех последующих коррекций. Уравнения коррекции модифицируются следующим обра­зом:

wpq,k(n+1) =  (q,kOUTp,j) + (wpq,k(n)), (3.9)

wpq,k(n+1) = wpq,k(n) + wpq,k(n+1)), (3.10)

где  - коэффициент импульса, обычно устанавливается около 0,9.Используя метод импульса, сеть стремится идти по дну узких оврагов поверхности ошибки (если таковые имеются), а не двигаться от склона к склону. Этот ме­тод, по-видимому, хорошо работает на некоторых задачах, но дает слабый или даже отрицательный эффект на других. В работе [8] описан сходный метод, основанный на экспоненциальном сглаживании, который может иметь преи­мущество в ряде приложений.

wpq,k(n+1) =  wpq,k(n) + ( 1-  )q,kOUTp,j . (3.11)

wpq,k(n+1) = wpq,k(n) + wpq,k(n+1)), (3.12)


где  коэффициент сглаживания, варьируемый и диапазоне от 0,0 до 1,0. Если  равен 1,0, то новая коррекция игнорируется и повторяется предыдущая. В области между 0 и 1 коррекция веса сглаживается величиной, пропорци­ональной . По-прежнему,  является коэффициентом ско­рости обучения, служащим для управления средней величи­ной изменения веса.

ДАЛЬНЕЙШИЕ АЛГОРИТМИЧЕСКИЕ РАЗРАБОТКИ

Многими исследователями были предложены улучшения и обобщения описанного выше основного алгоритма обрат­ного распространения. Литература в этой области слишком обширна, чтобы ее можно было здесь охватить. Кроме того, сейчас еще слишком рано давать окончательные оценки. Некоторые из этих подходов могут оказаться действительно фундаментальными, другие же со временем исчезнут. Некоторые из наиболее многообещающих разрабо­ток обсуждаются в этом разделе. В [5] описан метод ускорения сходимости алгоритма обратного распространения. Названный обратным распрост­ранением второго порядка, он использует вторые произ­водные для более точной оценки требуемой коррекции весов. В [5] показано, что этот алгоритм оптимален в том смысле, что невозможно улучшить оценку, используя производные более высокого порядка. Метод требует до­полнительных вычислений по сравнению с обратным рас­пространением первого порядка, и необходимы дальнейшие эксперименты для доказательства оправданности этих затрат. В [9] описан привлекательный метод улучшения ха­рактеристик обучения сетей обратного распространения. В работе указывается, что общепринятый от 0 до 1 динами­ческий диапазон входов и выходов скрытых нейронов неоп­тимален. Так как величина коррекции веса wpq,k пропорциональна выходному уровню нейрона, порождающего OUTp,q, то нулевой уровень ведет к тому, что вес не меняется. При двоичных входных векторах половина входов в среднем будет равна нулю, и веса, с которыми они связаны, не будут обучаться! Решение состоит в приведе­нии входов к значениям ±1/2 и добавлении смещения к сжимающей функции, чтобы она также принимала значения ±1/2. Новая сжимающая функция выглядит следующим обра­зом:

OUT =-1/2 + 1 / (exp(-NET) + 1). (3.13)

С помощью таких простых средств время сходимости сокращается в среднем от 30 до 50%. Это является одним из примеров практической модификации, существенно улуч­шающей характеристику алгоритма. В [6] и [1] описана методика применения обратного распространения к сетям с обратными связями, т.е. к таким сетям, у которых выходы подаются через обратную связь на входы. Как показано в этих работах, обучение в подобных системах может быть очень быстрым и критерии устойчивости легко удовлетворяются.

ПРИМЕНЕНИЯ

Обратное распространение было использовано в широ­кой сфере прикладных исследований. Некоторые из них описываются здесь, чтобы продемонстрировать мощь этого метода. Фирма NEC в Японии объявила недавно, что обратное распространение было ею использовано для визуального распознавания букв, причем точность превысила 99%. Это улучшение было достигнуто с помощью комбинации обычных алгоритмов с сетью обратного распространения, обеспечи­вающей дополнительную проверку. В работе [8] достигнут впечатляющий успех с NetTalk, системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки ребенка на разных этапах обучения речи. В [2] обратное распространение использовалось в машинном распознавании рукописных английских слов. Буквы, нормализованные по размеру, наносились на сетку, и брались проекции линий, пересекающих квадраты сетки. Эти проекции служили затем входами для сети обратного распространения. Сообщалось о точности 99,7% при использовании словарного фильтра. В [3] сообщалось об успешном применении обратного распространения к сжатию изображений, когда образы представлялись одним битом на пиксель, что было восьми­кратным улучшением по сравнению с входными данными.

ПРЕДОСТЕРЕЖЕНИЕ

Несмотря на многочисленные успешные применения обратного распространения, оно не является панацеей. Больше всего неприятностей приносит неопределенно дол­гий процесс обучения. В сложных задачах для обучения сети могут потребоваться дни или даже недели, она может и вообще не обучиться. Длительное время обучения может быть результатом неоптимального выбора длины шага. Неудачи в обучении обычно возникают по двум причинам: паралича сети и попадания в локальный минимум.

Паралич сети

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

Локальные минимумы

Обратное распространение использует разновидность градиентного спуска, т.е. осуществляет спуск вниз по поверхности ошибки, непрерывно подстраивая веса в на­правлении к минимуму. Поверхность ошибки сложной сети сильно изрезана и состоит из холмов, долин, складок и оврагов в пространстве высокой размерности. Сеть может попасть в локальный минимум (неглубокую долину), когда рядом имеется гораздо более глубокий минимум. В точке локального минимума все направления ведут вверх, и сеть неспособна из него выбраться. Статистические методы обучения могут помочь избежать этой ловушки, но они медленны. В [10] предложен метод, объединяющий статис­тические методы машины Коши с градиентным спуском об­ратного распространения и приводящий к системе, которая находит глобальный минимум, сохраняя высокую скорость обратного распространения. Это обсуждается в гл. 5.

Размер шага

Внимательный разбор доказательства сходимости в [7] показывает, что коррекции весов предполагаются бесконечно малыми. Ясно, что это неосуществимо на прак­тике, так как ведет к бесконечному времени обучения. Размер шага должен браться конечным, и в этом вопросе приходится опираться только на опыт. Если размер шага очень мал, то сходимость слишком медленная, если же очень велик, то может возникнуть паралич или постоянная неустойчивость. В [II] описан адаптивный алгоритм выбо­ра шага, автоматически корректирующий размер шага в процессе обучения.

Временная неустойчивость

Если сеть учится распознавать буквы, то нет смысла учить Б, если при этом забывается А. Процесс обучения должен быть таким, чтобы сеть обучалась на всем обуча­ющем множестве без пропусков того, что уже выучено. В доказательстве сходимости [7] это условие выполнено, но требуется также, чтобы сети предъявлялись все векторы обучающего множества прежде, чем выполняется коррекция весов. Необходимые изменения весов должны вычисляться на всем множестве, а это требует дополнительной памяти; после ряда таких обучающих циклов веса сойдутся к мини­мальной ошибке. Этот метод может оказаться бесполезным, если сеть находится в постоянно меняющейся внешней среде, так что второй раз один и тот же вектор может уже не повториться. В этом случае процесс обучения может никогда не сойтись, бесцельно блуждая или сильно осциллируя. В этом смысле обратное распространение не похоже на биологические системы. Как будет указано в гл.8 это несоответствие (среди прочих) привело к системе ART , принадлежавшей Гроссбергу.

Глава 4 Сети встречного распространения

ВВЕДЕНИЕ В СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ

Возможности сети встречного распространения, раз­работанной в [5-7], превосходят возможности однослойных сетей. Время же обучения по сравнению с обратным рас­пространением может уменьшаться в сто раз. Встречное распространение не столь общо, как обратное распростра­нение, но оно может давать решение в тех приложениях, где долгая обучающая процедура невозможна. Будет пока­зано, что помимо преодоления ограничений других сетей встречное распространение обладает собственными инте­ресными и полезными свойствами. Во встречном распространении объединены два хорошо известных алгоритма: самоорганизующаяся карта Кохонена [8] и звезда Гроссберга [2-4] (см. приложение Б). Их объединение ведет к свойствам, которых нет ни у одного из них в отдельности. Методы, которые подобно встречному распростране­нию, объединяют различные сетевые парадигмы как строи­тельные блоки, могут привести к сетям, более близким к мозгу по архитектуре, чем любые другие однородные стру­ктуры. Похоже, что в мозгу именно каскадные соединения модулей различной специализации позволяют выполнять требуемые вычисления. Сеть встречного распространения функционирует подобно столу справок, способному к обобщению. В про­цессе обучения входные векторы ассоциируются с соответ­ствующими выходными векторами. Эти векторы могут быть двоичными, состоящими из нулей и единиц, или непрерыв­ными. Когда сеть обучена, приложение входного векторе приводит к требуемому выходному вектору. Обобщающая? способность сети позволяет получать правильный выxoд даже при приложении входного вектора, который являете; неполным или слегка неверным. Это позволяет использо­вать данную сеть для распознавания образов, восстанов­ления образов и усиления сигналов.

СТРУКТУРА СЕТИ

На рис. 4.1 показана упрощенная версия прямого действия сети встречного распространения. На нем иллюс­трируются функциональные свойства этой парадигмы. Пол­ная двунаправленная сеть основана на тех же принципах, она обсуждается в этой главе позднее. Нейроны слоя 0 (показанные кружками) служат лишь точками разветвления и не выполняют вычислений. Каждый нейрон слоя 0 соединен с каждым нейроном слоя 1 (назы­ваемого слоем Кохонена) отдельным весом wmn . Эти веса в целом рассматриваются как матрица весов W. Аналогично, каждый нейрон в слое Кохонена (слое 1) соединен с каж­дым нейроном в слое Гроссберга (слое 2) весом vnp . Эти веса образуют матрицу весов V. Все это весьма напоминает другие сети, встречавшиеся в предыдущих главах, различие, однако, состоит в операциях, выполня­емых нейронами Кохонена и Гроссберга. Как и многие другие сети, встречное распростране­ние функционирует в двух режимах: в нормальном режиме, при котором принимается входной вектор Х и выдается выходной вектор Y, и в режиме обучения, при котором подается входной вектор и веса корректируются, чтобы дать требуемый выходной вектор.


НОРМАЛЬНОЕ ФУНКЦИОНИРОВАНИЕ

Слои Кохоненна

В своей простейшей форме слой Кохонена функциони­рует в духе «победитель забирает все», т.е. для данного входного вектора один и только один нейрон Кохонена выдает на выходе логическую единицу, все остальные выдают ноль. Нейроны Кохонена можно воспринимать как набор электрических лампочек, так что для любого вход­ного вектора загорается одна из них. Ассоциированное с каждым нейроном Кохонена множес­тво весов соединяет его с каждым входом. Например, на рис.4.1 нейрон Кохонена К1 имеет веса w11, w21, ...,wm1 составляющие весовой вектор W1. Они соединяются через входной слой с входными сигналами х1, х2 , ...,хm, составляющими входной вектор X. Подобно нейронам большинства сетей выход NET каждого нейрона Кохонена является просто суммой взвешенных входов. Это может быть выражено следующим образом:

NETj = w1j x1+ w2j x2 + … + wm j xm (4.1)

где NETj - это выход NET-го нейрона Кохонена j ,

NETj = (4.2)

или в векторной записи N = XW (4.3)

где N - вектор выходов NET слоя Кохонена. Нейрон Кохонена с максимальным значением NET явля­ется «победителем». Его выход равен единице, у осталь­ных он равен нулю.

Слой Гроссберга

Слой Гроссберга функционирует в сходной манере. Его выход NET является взвешенной суммой выходов k1 ,k2, ..., kn слоя Кохонена, образующих вектор К. Вектор соединяющих весов, обозначенный через V, состоит из весов v11,v21 , ..., vnp . Тогда выход NET каждого нейрона Гроссберга есть

(4.4)

где NETj - выход j-го нейрона Гроссберга, или в вектор­ной форме

Y = KV, (4.5)

где Y - выходной вектор слоя Гроссберга, К - выходной вектор слоя Кохонена, V - матрица весов слоя Гроссбер­га. Если слой Кохонена функционирует таким образом, что лишь у одного нейрона величина NET равна единице, а у остальных равна нулю, то лишь один элемент вектора К отличен от нуля, и вычисления очень просты. Фактически каждый нейрон слоя Гроссберга лишь выдает величину веса, который связывает этот нейрон с единственным ненулевым нейроном Кохонена.

ОБУЧЕНИЕ СЛОЯ КОХОНЕНА

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

Предварительная обработка входных векторов

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

(4.6)

Это превращает входной вектор в единичный вектор с тем же самым направлением, т.е. в вектор единичной длины в n-мерном пространстве. Уравнение (4.6) обобщает хорошо известный случай двух измерений, когда длина вектора равна гипотенузе прямоугольного треугольника, образованного его х и у компонентами, как это следует из известной теоремы Пифагора. На рис. 4.2а такой двумерный вектор V представлен в координатах х-у, причем координата х равна четырем, а координата х - трем. Квадратный корень из суммы квадратов этих компонент равен пяти. Деление каждой компоненты V на пять дает вектор V' с компонентами 4/5 и 3/5, где V' указывает в том же направлении, что и V, но имеет единичную длину. На рис. 4.26 показано несколько единичных векто­ров. Они оканчиваются в точках единичной окружности (окружности единичного радиуса), что имеет место, когда у сети лишь два входа. В случае трех входов векторы представлялись бы стрелками, оканчивающимися на поверх­ности единичной сферы. Эти представления могут быть перенесены на сети, имеющие произвольное число входов, где каждый входной вектор является стрелкой, оканчива­ющейся на поверхности единичной гиперсферы (полезной абстракцией, хотя и не допускающей непосредственной визуализации).

При обучении слоя Кохонена на вход подается вход­ной вектор, и вычисляются его скалярные произведения с векторами весов, связанными со всеми нейронами Кохоне­на. Нейрон с максимальным значением скалярного произве­дения объявляется «победителем» и его веса подстраива­ются. Так как скалярное произведение, используемое для вычисления величин NET, является мерой сходства между входным вектором и вектором весов, то процесс обучения состоит в выборе нейрона Кохонена с весовым вектором, наиболее близким к входному вектору, и дальнейшем при­ближении весового вектора к входному. Снова отметим, что процесс является самообучением, выполняемым без учителя. Сеть самоорганизуется таким образом, что дан­ный нейрон Кохонена имеет максимальный выход для данно­го входного вектора. Уравнение, описывающее процесс обучения имеет следующий вид:

Wн= Wc +  (x – Wc), (4.7)

где wH - новое значение веса, соединяющего входную компоненту хc выигравшим нейроном; wc - предыдущее значение этого веса;  - коэффициент скорости обучения, который может варьироваться в процессе обучения. Каждый вес, связанный с выигравшим нейроном Кохонена, изменяется пропорционально разности между его величиной и величиной входа, к которому он присоединен. Направление изменения минимизирует разность между весом и его входом. На рис. 4.3 этот процесс показан геометрически в двумерном виде. Сначала находится вектор X-Wc, для этого проводится отрезок из конца W в конец X. Затем этот вектор укорачивается умножением его на скалярную величину , меньшую единицы, в результате чего получа­ется вектор изменения . Окончательно новый весовой вектор W является отрезком, направленным из начала координат в конец вектора . Отсюда можно видеть, что эффект обучения состоит во вращении весового вектора в направлении входного вектора без существенного измене­ния его длины.

Рис.4.3. Вращение весового вектора в процессе обучения (WH – вектор новых весовых коэффициентов, Wc - вектор старых весовых коэффициентов).

Переменная  является коэффициентом скорости обу­чения, который вначале обычно равен ~ 0,7 и может по­степенно уменьшаться в процессе обучения. Это позволя­ет делать большие начальные шаги для быстрого грубого обучения и меньшие шаги при подходе к окончательной величине. Если бы с каждым нейроном Кохонена ассоциировался один входной вектор, то слой Кохонена мог бы быть обу­чен с помощью одного вычисления на вес. Веса нейрона-победителя приравнивались бы к компонентам обучающего вектора ( = 1). Как правило, обучающее множество вклю­чает много сходных между собой входных векторов, и сеть должна быть обучена активировать один и тот же нейрон Кохонена для каждого из них. В этом случае веса этого нейрона должны получаться усреднением входных векторов, которые должны его активировать. Постепенное уменьшение величины « уменьшает воздействие каждого обучающего шага, так что окончательное значение будет средней величиной от входных векторов, на которых происходит обучение. Таким образом, веса, ассоциированные с нейро­ном, примут значение вблизи «центра» входных векторов, для которых данный нейрон является «победителем».

Выбор начальных значений весовых векторов

Всем весам сети перед началом обучения следует придать начальные значения. Общепринятой практикой при работе с нейронными сетями является присваивание весам небольших случайных значений. При обучении слоя Кохоне­на случайно выбранные весовые векторы следует нормали­зовать. Окончательные значения весовых векторов после обучения совпадают с нормализованными входными вектора­ми. Поэтому нормализация перед началом обучения прибли­жает весовые векторы к их окончательным значениям, сокращая, таким образом, обучающий процесс. Рандомизация весов слоя Кохонена может породить серьезные проблемы при обучении, так как в результате ее весовые векторы распределяются равномерно по поверх­ности гиперсферы. Из-за того, что входные векторы, как правило, распределены неравномерно и имеют тенденцию группироваться на относительно малой части поверхности гиперсферы, большинство весовых векторов будут так удалены от любого входного вектора, что они никогда не будут давать наилучшего соответствия. Эти нейроны Кохонена будут всегда иметь нулевой выход и окажутся беспо­лезными. Более того, оставшихся весов, дающих наилучшие соответствия, может оказаться слишком мало, чтобы раз­делить входные векторы на классы, которые расположены близко друг к другу на поверхности гиперсферы. Допустим, что имеется несколько множеств входных векторов, все множества сходные, но должны быть разде­лены на различные классы. Сеть должна быть обучена активировать отдельный нейрон Кохонена для каждого класса. Если начальная плотность весовых векторов в окрестности обучающих векторов слишком мала, то может оказаться невозможным разделить сходные классы из-за того, что не будет достаточного количества весовых векторов в интересующей нас окрестности, чтобы припи­сать по одному из них каждому классу входных векторов. Наоборот, если несколько входных векторов получены незначительными изменениями из одного и того же образца и должны быть объединены в один класс, то они должны включать один и тот же нейрон Кохонена. Если же плот­ность весовых векторов очень высока вблизи группы слег­ка различных входных векторов, то каждый входной вектор может активировать отдельный нейрон Кохонена. Это не является катастрофой, так как слой Гроссберга может отобразить различные нейроны Кохонена в один и тот же выход, но это расточительная трата нейронов Кохонена. Наиболее желательное решение состоит в том, чтобы распределять весовые векторы в соответствии с плот­ностью входных векторов, которые должны быть разделены, помещая тем самым больше весовых векторов в окрестности большого числа входных векторов. На практике это невы­полнимо, однако существует несколько методов приближен­ного достижения тех же целей.

Одно из решений, известное под названием метода выпуклой комбинации (convex combination method), состо­ит в том, что все веса приравниваются одной и той же величине 1/, где п - число входов и, следователь­ но, число компонент каждого весового вектора. Благодаря этому все весовые векторы совпадают и имеют единичную длину. Каждой же компоненте входа Х придается значение (хi + {[1/](1 - )}), где п - число входов. В начале, а очень мало, вследствие чего все входные векторы имеют длину, близкую к 1/, и почти совпадают с векторами весов. В процессе обучения сети . постепенно возрастает, приближаясь к единице. Это позволяет разде­лять входные векторы и окончательно приписывает им их истинные значения. Весовые векторы отслеживают один или небольшую группу входных векторов и в конце обучения дают требуемую картину выходов. Метод выпуклой комбина­ции хорошо работает, но замедляет процесс обучения, так как весовые векторы подстраиваются к изменяющейся цели.

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

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

Еще один метод наделяет каждый нейрон Кохонена «Чувством справедливости». Если он становится победите­лем чаще своей законной доли времени (примерно 1/k, где k - число нейронов Кохонена), он временно увеличивает свой порог, что уменьшает его шансы на выигрыш, давая тем самым возможность обучаться и другим нейронам. Во многих приложениях точность результата сущест­венно зависит от распределения весов. К сожалению, эффективность различных решений исчерпывающим образом не оценена и остается проблемой.

Режим интерполяции

До сих пор мы обсуждали алгоритм обучения, в кото­ром для каждого входного вектора активировался лишь один нейрон Кохонена. Это называется методом аккредита­ции. Его точность ограничена, так как выход полностью является функцией лишь одного нейрона Кохонена. В методе интерполяции целая группа нейронов Кохо­нена, имеющих наибольшие выходы, может передавать свои выходные сигналы в слой Гроссберга. Число нейронов в такой группе должно выбираться в зависимости от задачи, и убедительных данных относительно оптимального размера группы не имеется. Как только группа определена, ее множество выходов NET рассматривается как вектор, длина которого нормализуется на единицу делением каждого значения NET на корень квадратный из суммы квадратов значений NET в группе. Все нейроны вне группы имеют нулевые выходы. Метод интерполяции способен устанавливать более сложные соответствия и может давать более точные ре­зультаты. По-прежнему, однако, нет убедительных данных, позволяющих сравнить режимы интерполяции и аккредита­ции.

Статистические свойства обученной сети

Метод обучения Кохонена обладает полезной и инте­ресной способностью извлекать статистические свойства из множества входных данных. Как показано Кохоненом [8], для полностью обученной сети вероятность того, что случайно выбранный входной вектор (в соответствии с функцией плотности вероятности входного множества) будет ближайшим к любому заданному весовому вектору, равна 1/k, где k - число нейронов Кохонена. Это являет­ся оптимальным распределением весов на гиперсфере. (Предполагается, что используются все весовые векторы, что имеет место лишь в том случае, если используется один из обсуждавшихся методов распределения весов.)

ОБУЧЕНИЕ СЛОЯ ГРОССБЕРГА

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

ijн= ijc + (yj - ijc)ki, (4.8)

где k. - выход i-го нейрона Кохонена (только для одного нейрона Кохонена он отличен от нуля); уj - j-ая компо­нента вектора желаемых выходов. Первоначально  берется равным ~0,1 и затем по­степенно уменьшается в процессе обучения. Отсюда видно, что веса слоя Гроссберга будут схо­диться к средним величинам от желаемых выходов, тогда как веса слоя Кохонена обучаются на средних значениях входов. Обучение слоя Гроссберга - это обучение с учи­телем, алгоритм располагает желаемым выходом, по кото­рому он обучается. Обучающийся без учителя, самооргани­зующийся слой Кохонена дает выходы в недетерминирован­ных позициях. Они отображаются в желаемые выходы слоем Гроссберга.


Глава 5 Стохастические методы

Стохастические методы полезны как для обучения искусственных нейронных сетей, так и для получения выхода от уже обученной сети. Стохастические методы обучения приносят большую пользу, позволяя исключать локальные минимумы в процессе обучения. Но с ними также связан ряд проблем. Использование стохастических методов для получения выхода от уже обученной сети рассматривалось в работе [2] и обсуждается нами в гл. 6. Данная глава посвящена методам обучения сети.

ИСПОЛЬЗОВАНИЕ ОБУЧЕНИЯ

Искусственная нейронная сеть обучается посредством некоторого процесса, модифицирующего ее веса. Если обучение успешно, то предъявление сети множества вход­ных сигналов приводит к появлению желаемого множества выходных сигналов. Имеется два класса обучающих мето­дов: детерминистский и стохастический. Детерминистский метод обучения шаг за шагом осу­ществляет процедуру коррекции весов сети, основанную на использовании их текущих значений, а также величин входов, фактических выходов и желаемых выходов. Обуче­ние персептрона является примером подобного детерминис­тского подхода (см. гл. 2). Стохастические методы обучения выполняют псевдо­случайные изменения величин весов, сохраняя те измене­ния, которые ведут к улучшениям. Чтобы увидеть, как это может быть сделано, рассмотрим рис. 5.1, на котором изображена типичная сеть, в которой нейроны соединены с помощью весов. Выход нейрона является здесь взвешенной суммой его входов, которая преобразована с помощью нелинейной функции (подробности см. гл. 2). Для обуче­ния сети может быть использована следующая процедура:

Предъявить множество входов и вычислить получа­ющиеся выходы.

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

3. Выбрать вес случайным образом и подкорректировать его на небольшое случайное значение. Если коррек­ция помогает (уменьшает целевую функцию), то сохранит; ее, в противном случае вернуться к первоначальном: значению веса.

4. Повторять шаги с 1 до 3 до тех пор, пока сеть не будет обучена в достаточной степени.

Этот процесс стремится минимизировать целевую функцию, но может попасть, как в ловушку, в неудачное решение. На рис. 5.2 показано, как это может иметь место в системе с единственным весом. Допустим, что первоначально вес взят равным значению в точке А. Если случайные шаги по весу малы, то любые отклонения от точки А увеличивают целевую функцию и будут отвергнуты. Лучшее значение веса, принимаемое в точке В, никогда не будет найдено, и система будет поймана в ловушку ло­кальным минимумом, вместо глобального минимума в точке В. Если же случайные коррекции веса очень велики, то как точка А, так и точка В будут часто посещаться, но то же самое будет иметь место и для каждой другой точ­ки. Вес будет меняться так резко, что он никогда не установится в желаемом минимуме. Полезная стратегия для избежания подобных проблем состоит в больших начальных шагах и постепенном умень­шении размера среднего случайного шага. Это позволяет сети вырываться из локальных минимумов и в то же время гарантирует .окончательную стабилизацию сети. Ловушки локальных минимумов досаждают всем алго­ритмам обучения, основанным на поиске минимума, включая персептрон и сети обратного распространения, и пред­ставляют серьезную и широко распространенную трудность, которой часто не замечают. Стохастические методы позво­ляют решить эту проблему. Стратегия коррекции весов, вынуждающая веса принимать значение глобального оптиму­ма в точке В, возможна. В качестве объясняющей аналогии предположим, что на рис. 5.2 изображен шарик на поверхности в коробке. Если коробку сильно потрясти в горизонтальном направле­нии, то шарик будет быстро перекатываться от одного края к другому. Нигде не задерживаясь, в каждый момент шарик будет с равной вероятностью находиться в любой точке поверхности. Если постепенно уменьшать силу встряхивания, то будет достигнуто условие, при котором шарик будет на короткое время «застревать» в точке В. При еще более слабом встряхивании шарик будет на короткое время оста­навливаться как в точке А, так и в точке В. При непре­рывном уменьшении силы встряхивания будет достигнута критическая точка, когда сила встряхивания достаточна для перемещения шарика из точки А в точку В, но недостаточна для того, чтобы шарик мог вскарабкаться из В в А. Таким образом, окончательно шарик остановится в точке глобального минимума, когда амплитуда встряхива­ния уменьшится до нуля.

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

P(e)  exp (-e / kT)

где Р(е) - вероятность того, что система находится в состоянии с энергией е, k - постоянная Больцмана; Т - температура по шкале Кельвина. При высоких температурах Р(е) приближается к еди­нице для всех энергетических состояний. Таким образом, высокоэнергетическое состояние почти столь же вероятно, как и низкоэнергетическое. По мере уменьшения темпера­туры вероятность высокоэнергетических состояний умень­шается по сравнению с низкоэнергетическими. При прибли­жении температуры к нулю становится весьма маловероят­ным, чтобы система находилась в высокоэнергетическом состоянии.

Больцмановское обучение

Этот стохастический метод непосредственно применим к обучению искусственных нейронных сетей:

Определить переменную Т, представляющую искусс­твенную температуру. Придать Т большое начальное значе­ние.

Предъявить сети множество входов и вычислить выходы и целевую функцию.


Информация о работе «Нейрокомпьютерные системы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 243425
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
145786
1
2

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

Скачать
15022
0
0

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

Скачать
27268
0
0

... человеческое внимание устремилось к этой высшей области, которая должна преобразить многие основы жизни. Во времена темного средневековья, наверное, всякие исследования в области парапсихологии кончились бы инквизицией, пытками и костром. Современные нам "инквизиторы" не прочь и сейчас обвинить ученых исследователей или в колдовстве или в сумасшествии. Также мы ...

Скачать
38834
4
8

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

0 комментариев


Наверх