WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |   ...   | 13 |

Однако, несмотря на перечисленные недостатки, модель облада-

ет рядом достоинств. Существует удобный способ модифицировать мо-

дель по мере того как появляются новые наблюдения.Модель хорошо

работает с временными последовательностями, в которых мал интер-

вал наблюдений, т.е. может быть получена относительно длительная

временная последовательность. По этой причине модель может быть

использована в областях, где нас интересуют ежечасовые, ежеднев-

ные или еженедельные наблюдения. Эти модели также используются в

ситуациях, когда необходимо анализировать небольшое число времен-

ных последовательностей.

4. НЕЙРОННЫЕ СЕТИ ОСНОВАННЫЕ НА МЕТОДЕ ОБРАТНОГО

ФУНКЦИОНИРОВАНИЯ

В данной главе мы приводим детальное описание метода обрат-

ного распространения - способа обучения многослойных НС. Подробно

описана НС для распознавания рукописных цифр и и процесс ее обу-

чения. В главе также проведена современная оценка метода обратно-

го распространения.

4.1. Обучение нейронных сетей

Мы можем научить трехслойную сеть решать определенную зада-

чу, пользуясь следующей процедурой. Сначала мы предъявляем сети

серию тренировочных примеров, которые состоят из паттерна актив-

ностей входных элементов вместе с желаемым паттерном активностей

выходных элементов [8].

Предположим, что мы хотим научить сеть распознавать рукопис-

ные цифры. Можно воспользоваться матрицей, из 256 сенсоров, каж-

дый из которых регистрирует присутствие или отсутствие чернильно-

го пятнышка в пределах маленькой площадки - фрагмента одной циф-

ры. Для сети, таким образом, потребуется 256 входных элементов

(по одному на каждый сенсор), 10 выходных элементов (по одному на

каждую возможную цифру) и некоторое количество скрытых элементов.

Для каждой цифры, регистрируемой сенсорами, сеть должна генериро-

вать высокую активность в соответствующем выходном элементе и

низкую в остальных выходных элементах.

Чтобы натренировать систему, мы предъявляем ей изображение

цифры и сравниваем действительную активность на 10 выходных эле-

ментах с желаемой активностью. Затем мы подсчитываем ошибку, оп-

ределяемую как квадрат разности между действительным и желаемым

выходом. После этого мы изменяем вес каждой связи, с тем чтобы

уменьшить ошибку. Описанный процесс тренировки мы повторяем со

многими различными написаниями каждой цифры, пока сеть не научит-

ся правильно распознавать все возможные изображения.

Чтобы реализовать эту процедуру, нам нужно изменять каждый

вес на величину, пропорциональную скорости, с которой изменяется

ошибка по мере изменения веса [5]. Эта величина (называемая про-

изводной ошибки по весу и обозначаемая EW) вычисляется не просто.

Один из способов вычисления EW заключается в том, чтобы изменить

вес на очень маленькую величину и посмотреть, как изменится ошиб-

ка. Однако этот метод не эффективен, поскольку требует отдельных

вариаций для каждого из многих весов.

4.2. Алгоритм обратного распространения

4.2.1. Идея создания алгоритма обратного распространения

Примерно в 1974 году Поль Дж. Вербос изобрел значительно бо-

лее эффективную процедуру для вычисления EW, когда работал над

своей докторской диссертацией в Гарвардском университете. Проце-

дура, известная теперь как алгоритм обратного распространением

(back propagation algorithm), стала одним из наиболее важных инс-

трументов в обучении нейронных сетей [5, 16, 27, 30, 42, 48, 49].

Алгоритм обратного распространением проще всего понять, ког-

да все элементы сети линейны. Алгоритм вычисляет каждую EW, сна-

чала вычисляя EA - скорость, с которой изменяется ошибка при из-

менении уровня активности элемента. Для выходных элементов EA яв-

ляется просто разностью между действительным и желаемым выходом.

Чтобы вычислить EA для скрытого элемента в слое, непосредственно

предшествующем выходному слою, мы сначала идентифицируем все веса

между этим скрытым элементом и выходными элементами, с которыми

соединен данный скрытый элемент. Затем мы умножаем эти веса на

величины EA для этих выходных элементов и складываем полученные

произведения. Эта сумма и равна EA для данного скрытого элемента.

Вычислив EA для всех элементов скрытого слоя, прилегающего к вы-

ходному, мы можем аналогичным образом рассчитать EA и для других

слоев,перемещаясь в направлении, обратном тому направлению, в ко-

тором активность нейронов распространяется по сети. Отсюда и наз-

вание алгоритма обратного прослеживания (или обратного распрост-

ранения). После того как значение EA для элемента вычислено,

подсчитать EW для каждой входной связи элемента уже несложно. Ве-

личина EW является произведением EA и активности во входной цепи.

Для нелинейных элементов алгоритм обратного распространением

включает дополнительный шаг. перед перемещением в обратном нап-

равлении EA необходимо преобразовать в EI - скорость, с которой

изменяется ошибка по мере изменения суммарного входа элемента.

4.2.2. Описание НС и алгоритма обратного распространения

Чтобы обучить нейронную сеть решению какой-либо задачи, мы

должны подправлять веса каждого элемента таким образом, чтобы

уменьшалась ошибка - расхождение между действительным и желаемым

выходом. Для этого нужно, чтобы нейронная сеть вычисляла произ-

водную от ошибки по весам (EW). Другими словами, она должна вы-

числять, как изменяется ошибка при небольшом увеличении или

уменьшении каждого веса. Чаще всего для вычисления EW применяется

алгоритм обратного распространением.

Чтобы реализовать этот алгоритм, мы сначала должны дать ма-

тематическое описание нейронной сети. Предположим, что элемент j

- типичный элемент выходного слоя, а элемент i - типичный элемент

слоя, который предшествует выходному. Активность элемента выход-

ного слоя определяется двухшаговой процедурой. Сначала вычисляет-

ся суммарный взвешенный вход Xj с помощью формулы

Xj = S (Yi * Wij), (4.1)

i

где Yi - уровень активности i-го элемента в предшествующем слое и

Wij - вес связи между i-м и j-м элементами.

Далее, элемент вычисляет активность Yj с помощью некоторой

функции от суммарного взвешенного входа. Обычно применяется сиг-

ма-функция:

Yj = 1 / (1 + e^(-Xj)). (4.2)

После того как активности всех выходных элементов определе-

ны, сеть вычисляет ошибку, которая определяется выражением

E = 1/2 * S (Yj - Dj)^2, (4.3)

j

где Yj - уровень активности j-го элемента в верхнем слое, а Dj -

желаемый выход j-го элемента.

Алгоритм обратного распространением состоит из четырех ша-

гов.

1) Вычислить, насколько быстро меняется ошибка при изменении

выходного элемента. Эта производная ошибки (EA) есть разность

между действительной и ожидаемой активностью.

dE

EAj = ──── = Yj - Dj. (4.4)

dYj

2) Вычислить, насколько быстро изменяется ошибка по мере из-

менения суммарного входа, получаемого выходным элементом. Эта ве-

личина (EI) есть результат шага 1, умноженный на скорость измене-

ния выходного элемента с изменением его суммарного входа.

dE dE dYj

EIj = = ─── * ─── = EIj Yj (1 - Yj). (4.5)

dXj dYj dXj

3) Вычислить, как быстро изменяется ошибка по мере изменения

веса на входной связи выходного элемента. Эта величина (EW) есть

результат шага 2, умноженный на уровень активности элемента, из

которого исходит связь.

dE dE dXj

EWij = ──── = ─── * ─── = EIj Yi. (4.6)

dWij dXj dXij

4) Вычислить, как быстро изменяется ошибка с изменением ак-

тивности элемента из предыдущего слоя. Этот ключевой шаг позволя-

ет применять обратное распространение к многослойным сетям. Когда

активность элемента из предыдущего слоя изменяется, это влияет на

активности всех выходных элементов, с которыми он связан. Поэто-

му, чтобы подсчитать суммарное воздействие на ошибку, мы склады-

ваем все эти воздействия на выходные элементы. Но эти воздействия

нетрудно подсчитать. Этот результат шага 2, умноженный на вес

связи к соответствующему выходному элементу.

dE dE dXj

EAi = ──── = S (─── * ─── ) = S (EIj Wij). (4.7)

dYi j dXj dYij j

Пользуясь шагами 2 и 4, мы можем преобразовать величины EA

одного слоя элементов в EA предыдущего слоя. Эту процедуру можно

повторять, чтобы вычислять EA стольких предыдущих слоев, сколько

их есть. Зная EA для элемента, мы можем воспользоваться шагами 2

и 3, чтобы вычислить EW на его выходных связях.

4.2.3. Современная оценка алгоритма обратного распространения

На протяжении нескольких лет после его изобретения алгоритм

обратного распространением оставался почти незамеченным, вероят-

но, потому, что не был в должной мере оценен специалистами. В на-

чале 80-х годов Д. Румельхарт, работавший в то время в Калифор-

нийском университете в Сан-Диего, и Д. Паркер из Станфордского

университете независимо друг от друга вновь открыли алгоритм. В

1986 году Румельхарт, Р. Уильямс, также из Калифорнийского уни-

верситета в Сан-Диего, и Джеффери Е. Хинтон [5] продемонстрирова-

ли способность алгоритма обучить скрытые элементы вырабатывать

интересные представления для сложных паттернов на входе и тем са-

мым сделали его известным.

Алгоритм обратного распространения оказался на удивление эф-

фективным в обучении сетей со многими слоями решению широкого

класса задач [2, 5, 15]. Но более всего он эффективен в ситуаци-

ях, когда отношения между входом и выходом нелинейны, а количест-

во обучающих данных велико. Применяя алгоритм, исследователи соз-

дали нейронные сети, способные распознавать рукописные цифры,

предсказывать изменения валютного курса и оптимизировать химичес-

кие процессы. Они даже воспользовались алгоритмом для обучения

сетей, которые идентифицируют переродившиеся пред-раковые клетки

в анализируемых образцах ткани и регулируют положение зеркал в

телескопах, чтобы исключить атмосферные искажения.

Р. Андерсен из Массачусетского технологического института и

Д. Зипсер из Калифорнийского университета в Сан-Диего показали,

что алгоритм обратного распространения представляет собой весьма

эффективный инструмент для понимания функций некоторых нейронов в

коре головного мозга. Они научили нейронную сеть реагировать на

зрительные стимулы, применив алгоритм обратного распространения.

Затем они обнаружили, что реакция скрытых элементов удивительно

схожа с реакцией реальных нейронов, выполняющих преобразование

зрительной информации, поступающей от сетчатки, в форму, необхо-

димую для более глубоких областей мозга, перерабатывающих зри-

тельную информацию.

ВЫВОДЫ

Метод обратного распространения достаточно хорош при созда-

нии представлений о распознаваемом образе в скрытых элементах се-

ти. Алгоритм обратного распространения показал эффективность про-

цедур обучения НС, в которых веса постепенно изменяются, чтобы

уменьшить ошибки. Раньше многие ученые полагали, что подобные ме-

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

к локально оптимальным, но в более широком масштабе ужасным реше-

ниям. Например, сеть для распознавания цифр может устойчиво схо-

диться к набору весов, при котором она будет путать единицы с се-

мерками, хотя существует набор весов, позволяющий различать эти

цифры наряду с другими. Из-за опасений подобного рода распростра-

нилось убеждение, что процедура обучения представляет интерес

только в том случае, если она гарантирует сходимость к глобально

оптимальному решению. Метод обратного распространения показал,

что для многих задач глобальная сходимость не является необходи-

мым условием для того, чтобы достичь хороших результатов.

С другой стороны, с биологической точки зрения, как подобие

работы головного мозга, метод обратного распространения выглядит

не очень убедительным. Наиболее очевидная трудность заключается в

том, что информация должна проходить по тем же самым связям в об-

ратном направлении, от каждого последующего уровня к предыдущему.

Ясно, что этого не происходит в реальных нейронах. Однако этот

довод на самом деле является довольно поверхностным. В мозге су-

ществует множество путей, ведущих от следующих слоев нервных кле-

ток к предыдущим, и эти пути могут использоваться многообразными

способами для передачи информации, необходимой для обучения.

Более серьезную проблему представляет собой быстродействие

алгоритма обратного распространения. Здесь центральным является

вопрос о том, как быстро растет время, необходимое для обучения,

по мере возрастания размеров сети. Время, требующееся для вычис-

ления производных от ошибки по весам на заданном тренировочном

примере, пропорционально размерам сети, поскольку объем вычисле-

ний пропорционален количеству весов. Однако более крупные сети

требуют большего количества тренировочных примеров, и им прихо-

дится модифицировать веса большее число раз. Следовательно, время

обучения растет значительно быстрее, чем размеры сети.

Самая серьезная проблема метода обратного распространения

заключается в том, что такая НС требует учителя, предоставляющего

желаемый выход для каждого тренировочного примера. В отличие от

этого человек обучается большинству вещей без помощи учителя.

Никто не дает нам детального описания внутренних представлений

мира, которые мы должны научиться извлекать из нашего сенсорного

входа. Мы учимся понимать речь или зрительные сцены без каких-ли-

бо прямых инструкций.

Если сеть сталкивается с большим набором сочетаний сигналов,

но не имеет никакой информации о том, что с ними следует делать,

то, очевидно, перед ней нет четко поставленной задачи. Тем не ме-

Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |   ...   | 13 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.