ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Метод обратного распространения ошибкиЭтот метод обучения многослойной нейронной сети называется обобщенным дельта-правилом или правилом error backpropagation (обратного распространения ошибки). Метод был предложен в 1986 г. Румельхартом, Макклеландом и Вильямсом. Это ознаменовало возрождение интереса к нейронным сетям, который стал угасать в начале 70-х годов. Позже было обнаружено, что Паркер опубликовал подобные результаты в 1982 г., а Вербос выполнил такую работу в 1984 г. Однако такова природа науки, что ученые, работающие независимо друг от друга, не могут использовать все то прогрессивное, что есть в других областях, и поэтому часто случается повторение уже достигнутого. Однако статья Руммельхарта и др., опубликованная в журнале Nature (1986), является до сих пор наиболее цитируемой в этой области. Обучение сети начинается с предъявления образа и вычисления соответствующей реакции. Сравнение с желаемой реакцией дает возможность изменять веса связей таким образом, чтобы сеть на следующем шаге могла выдавать более точный результат. Обучающее правило обеспечивает настройку весов связей. Информация о выходах сети является исходной для нейронов предыдущих слоев. Эти нейроны могут настраивать веса своих связей для уменьшения погрешности на следующем шаге. Когда мы предъявляем ненастроенной сети входной образ, она будет выдавать некоторый случайный выход. Функция ошибки представляет собой разность между текущим выходом сети и идеальным выходом, который необходимо получить. Для успешного обучения сети требуется приблизить выход сети к желаемому выходу, т. е. последовательно уменьшать величину функции ошибки. Это достигается настройкой межнейронных связей. Обобщенное дельта-правило обучает сеть путем вычисления функции ошибки для заданного входа с последующим ее обратным распространением (вот откуда название!) от каждого слоя к предыдущему. Каждый нейрон в сети имеет свои веса, которые настраиваются, чтобы уменьшить величину функции ошибки. Для нейронов выходного слоя известны их фактические и желаемые значения выходов. Поэтому настройка весов связей для таких нейронов является относительно простой. Однако для нейронов предыдущих слоев настройка не столь очевидна. Интуитивно ясно, что нейроны внутренних слоев, которые связаны с выходами, имеющими большую погрешность, должны изменять свои веса значительно сильнее, чем нейроны, соединенные с почти корректными выходами. Другими словами, веса данного нейрона должны изменяться прямо пропорционально ошибке тех нейронов, с которыми данный нейрон связан. Вот почему обратное распространение этих ошибок через сеть позволяет корректно настраивать веса связей между всеми слоями. В этом случае величина функции ошибки уменьшается и сеть обучается. Основные соотношения метода обратного распространения ошибки получены в [76] при следующих обозначениях:
Пусть функция ошибки прямо пропорциональна квадрату разности между действительным и желательным выходами для всей обучающей выборки:
Множитель Активация каждого нейрона
Выход каждого нейрона
Можно записать по правилу цепочки:
Для второго сомножителя в (1.4), используя (1.2), получаем:
поскольку Изменение ошибки как функция изменения входов нейрона определяется так:
Поэтому (1.4) преобразуется к виду:
Следовательно, уменьшение величины
где h - коэффициент пропорциональности, влияющий на скорость обучения. Теперь нам необходимо знать значение
Исходя из (1.3), записываем второй сомножитель в (1.9):
Теперь рассмотрим первый сомножитель в (1.9). Согласно (1.1), нетрудно получить:
Поэтому
Последнее соотношение является полезным для выходных нейронов, поскольку для них известны целевые и действительные значения выходов. Однако для нейронов внутренних слоев целевые значения выходов не известны. Таким образом, если нейрон
Здесь сумма по
Уравнения (1.12) и (1.15) составляют основу метода обучения многослойной сети. Преимущество использования сигмоидной функции в качестве нелинейного элемента состоит в том, что она очень напоминает шаговую функцию и, таким образом, может демонстрировать поведение, подобное естественному нейрону. Сигмоидная функция определяется как
и имеет диапазон 0 < Однако главный смысл в использовании данной функции состоит в том, что она имеет простую производную, и это значительно облегчает применение backpropagation-метода. Если выход нейрона
то производная по отношению к данному нейрону
т. е. является простой функцией от выходов нейронов. 1.3.6. Алгоритм настройки нейронной сети Ниже приведен алгоритм настройки многослойной нейронной сети с использованием backpropagation-правила обучения. Для его применения необходимо, чтобы нейроны имели непрерывно дифференцируемую нелинейную пороговую функцию активации. Пусть это будет сигмоидная функция Алгоритм обучения состоит в следующем. 1°. Задать начальные значения весов и порогов каждого нейрона. Всем весам и порогам присваиваются малые случайные значения. 2°. Представить входной и выходной образы из обучающей выборки. Пусть
При решении задач классификации образ 3°. Рассчитать действительные значения выходов. Значения выходов нейронов каждого слоя рассчитываются как
и передаются на входы нейронов следующего слоя. Выходные значения нейронов выходного слоя равны 4°. Провести модификацию весов связей. Начиная от выходного слоя и, двигаясь в обратном направлении, необходимо изменять веса связей следующим образом:
где h - скорость обучения;
Для нейронов выходного слоя
для нейронов внутренних слоев
где под знаком суммы стоят величины, относящиеся к нейронам последующего слоя. ГЛАВА 2
Не нашли, что искали? Воспользуйтесь поиском:
|