АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритм обратного распространения ошибки

Читайте также:
  1. Cпособи опису алгоритмів
  2. Автором опыта выделен алгоритм формирования умения работать с моделями.
  3. Алгоритм sum-product
  4. Алгоритм активного слушания
  5. Алгоритм Беллмана
  6. Алгоритм ва хосиятёои он
  7. Алгоритм використання ІКТ в роботі з дошкільниками
  8. Алгоритм Витерби
  9. Алгоритм выбора антибиотиков при остром бронхите
  10. Алгоритм выбора направления предпринимательской деятельности
  11. АЛГОРИТМ ВЫПОЛНЕНИЯ
  12. Алгоритм выполнения манипуляции

Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном был предложен алгоритм обратного распространения ошибок (error back propagation). Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев [10]. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью - в обратном направлении, что и отражено в названии метода.

Перейдем к подробному рассмотрению этого алгоритма. Воспользуемся обобщенной структурой многослойного персептрона, приведенной на рисунке 21.

Рисунок 21 – Обобщенная структура многослойного персептрона

 

Для упрощения обозначений ограничимся ситуацией, когда сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу весов, соединяющих скрытый и выходной слой - как V. Для индексов примем следующие обозначения: входы будем нумеровать только индексом i, элементы скрытого слоя - индексом j, а выходы, соответственно, индексом k.

Пусть сеть обучается на выборке . Активности нейронов будем обозначать малыми буквами y с соответствующим индексом, а суммарные взвешенные входы нейронов - малыми буквами x.

Рассмотрим алгоритм обратного распространения ошибки по шагам.

Шаг 0: Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами.

Шаг 1: Сети предъявляется входной образ , в результате формируется выходной образ . При этом нейроны последовательно от слоя к слою функционируют по следующим формулам:

скрытый слой

(30)

выходной слой

(31)

Здесь f(x) - сигмоидальная функция.

Шаг 2: Функционал квадратичной ошибки сети для данного входного образа имеет вид:

(32)

Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле:

(33)

Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного дифференцирования сложной функции:

(34)

(35)

(36)

Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само значение функции, . Таким образом, все необходимые величины для подстройки весов выходного слоя V получены.

Шаг 3:На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод по-прежнему дает:

(37)

Вычисления производных выполняются по тем же формулам:

(38)

(39)

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

Шаг 4: Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или максимально допустимого числа итераций.

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

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)