Обучение методом обратного распространения ошибки

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

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

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

Алгоритм обучения по дельта-правилу:

1 шаг: инициализация матриц весов случайным образом (в циклах).

2 шаг: предъявление нейронной сети образа (на вход подаются значения из обучающей выборки – вектор Х) и берется соответствующий выход (вектор D).

3 шаг (прямой проход): вычисление в циклах выходов всех слоев и получение выходных значений нейронной сети (вектор Y).

где  - выход i-нейрона k-слоя, - функция активации,  - синаптическая связь между j-нейроном слоя k-1 и i-нейроном слоя k,  - входное значение.

4 шаг (обратный проход): изменение весов в циклах по формулам:

для последнего (выходного) слоя,

 -

для промежуточных слоев, где t-номер текущей итерации цикла обучения (номер эпохи), - коэффициент обучения задается от 0 до 1,  - выход i-нейрона k-слоя,

 - синаптическая связь между j-нейроном слоя k-1 и i-нейроном слоя k, di – желаемое выходное значение на i-нейроне,  yi - реальное значение на i-нейроне выходного слоя.

5 шаг: проверка условия продолжения обучения (вычисление значения ошибки и/или проверка заданного количества итераций). Если обучение не завершено, то 2 шаг, иначе заканчиваем обучение. Среднеквадратичная ошибка вычисляется следующим образом:

где Q – общее число примеров, H - количество нейронов в выходном слое, di – желаемое выходное значение на i-нейроне,  yi - реальное значение на i-нейроне выходного слоя.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: