Метод обратного распространения ошибки

Этот метод обучения многослойной нейронной сети называется обобщенным дельта-правилом или правилом errorbackpropagation (обратного распространения ошибки). Метод был предложен в 1986г. Руммельхартом, Маклеландом и Вильямсом [89]. Это ознаменовало возрождение интереса к нейронным сетям, который стал угасать в начале 70-х годов. Позже было обнаружено, что Паркер опубликовал подобные результаты в 1982г., а Вербос выполнил такую работу в 1984г. Однако такова природа науки, что ученые, работающие независимо друг от друга, не могут использовать все то прогрессивное, что есть в других областях, и поэтому часто случается повторение уже достигнутого. Однако статья Руммельхарта и др., опубликованная в журнале Nature (1986), является до сих пор наиболее цитируемой в этой области [81].

Обучение сети начинается с предъявления образа и вычисления соответствующей реакции (рис. 6.5.). Сравнение с желаемой реакцией дает возможность изменять веса связей таким образом, чтобы сеть на следующем шаге могла выдавать более точный результат. Обучающее правило обеспечивает настройку весов связей. Информация о выходах сети является исходной для нейронов предыдущих слоев. Эти нейроны могут настраивать веса своих связей для уменьшения погрешности на следующем шаге. Когда мы предъявляем ненастроенной сети входной образ, она будет давать некоторый случайный выход. Функция ошибки представляет собой разность между текущим выходом сети и идеальным выходом, который необходимо получить. Для

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

Основные соотношения метода обратного распространения ошибки получены в [81] при следующих обозначениях:

Метод обратного распространения ошибки - student2.ru величина функции ошибки для образа Метод обратного распространения ошибки - student2.ru ;

Метод обратного распространения ошибки - student2.ru желаемый выход нейрона Метод обратного распространения ошибки - student2.ru для образа Метод обратного распространения ошибки - student2.ru ;

Метод обратного распространения ошибки - student2.ru действительный выход нейрона Метод обратного распространения ошибки - student2.ru для образа Метод обратного распространения ошибки - student2.ru ;

Метод обратного распространения ошибки - student2.ru вес связи между Метод обратного распространения ошибки - student2.ru м и Метод обратного распространения ошибки - student2.ru м нейронами.

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

Метод обратного распространения ошибки - student2.ru (6.1)

Множитель Метод обратного распространения ошибки - student2.ru вводится здесь для упрощения операции дифференцирования.

Активация каждого нейрона Метод обратного распространения ошибки - student2.ru для образа Метод обратного распространения ошибки - student2.ru записывается в виде взвешенной суммы:

Метод обратного распространения ошибки - student2.ru . (6.2)

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

Метод обратного распространения ошибки - student2.ru (6.3)

Тогда можно будет записать по правилу цепочки:

Метод обратного распространения ошибки - student2.ru (6.4)

Для второго сомножителя в (6.4), используя (6.2), получаем:

Метод обратного распространения ошибки - student2.ru (6.5)

поскольку Метод обратного распространения ошибки - student2.ru за исключением случая Метод обратного распространения ошибки - student2.ru , когда эта производная равна единице.

Изменение ошибки как функция изменения входов нейрона определяется так:

Метод обратного распространения ошибки - student2.ru(6.6)

Поэтому (6.4) преобразуется к виду:

Метод обратного распространения ошибки - student2.ru (6.7)

Следовательно, уменьшение величины Метод обратного распространения ошибки - student2.ru означает изменение веса пропорционально Метод обратного распространения ошибки - student2.ru

Метод обратного распространения ошибки - student2.ru (6.8)

где Метод обратного распространения ошибки - student2.ru коэффициент пропорциональности, влияющий на скорость обучения.

Теперь нам необходимо знать значение Метод обратного распространения ошибки - student2.ru для каждого нейрона. Используя (6.6) и правило цепочки, можно записать:

Метод обратного распространения ошибки - student2.ru (6.9)

Исходя из (6.3), записываем второй сомножитель в (6.8):

Метод обратного распространения ошибки - student2.ru . (6.10)

Теперь рассмотрим первый сомножитель в (6.9). Согласно (6.1), нетрудно получить:

Метод обратного распространения ошибки - student2.ru (6.11)

Поэтому Метод обратного распространения ошибки - student2.ru (6.12)

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

Таким образом, если нейрон Метод обратного распространения ошибки - student2.ru не выходной нейрон, то снова, используя правило цепочки, а также соотношения (6.2) и (6.6), можно записать:

Метод обратного распространения ошибки - student2.ru (6.13)

Метод обратного распространения ошибки - student2.ru(6.14)

Здесь сумма по Метод обратного распространения ошибки - student2.ru исчезает, поскольку частная производная не равна нулю только лишь в одном случае, также как и в (6.4). Подставив (6.11) в (6.8), получим окончательное выражение:

Метод обратного распространения ошибки - student2.ru (6.15)

Уравнения (6.12) и (6.15) составляют основу метода обучения многослойной сети.

Преимущество использования сигмоидной функции в качестве нелинейного элемента состоит в том, что очень напоминает шаговую функцию и, таким образом, может демонстрировать поведение, подобное, естественному нейрону [81]. Сигмоидная функция определяется как

Метод обратного распространения ошибки - student2.ru , (6.16)

и имеет диапазон Метод обратного распространения ошибки - student2.ru

Здесь Метод обратного распространения ошибки - student2.ru положительная константа, влияющая на растяжение функции: увеличение Метод обратного распространения ошибки - student2.ru сжимает функцию, а при Метод обратного распространения ошибки - student2.ru функция Метод обратного распространения ошибки - student2.ru приближается к функции Хевисайда [94]. Этот коэффициент может использоваться в качестве параметра усиления, поскольку для слабых входных сигналов угол наклона будет довольно крутым и функция будет изменяться быстро, производя значительное усиление сигнала. Для больших входных сигналов угол наклона и, соответственно, усиление будут намного меньшими. Это означает, что сеть может принимать большие сигналы и при этом оставаться чувствительной к слабым изменениям сигнала.

Однако главный смысл в использовании данной функции состоит в том, что она имеет простую производную, и это значительно облегчает применение backpropagation-метода. Если выход нейрона Метод обратного распространения ошибки - student2.ru задается как

Метод обратного распространения ошибки - student2.ru (6.17)

то производная по отношению к данному нейрону Метод обратного распространения ошибки - student2.ru вычисляется так:

Метод обратного распространения ошибки - student2.ru (6.18)

т.е., является простой функцией от выходов нейронов.

Наши рекомендации