Нейронные сети обратного распространения




 

Нейронные сети обратного распространения – это инструмент поиска закономерностей, прогнозирования, качественного анализа. Такое название – сети обратного распространения (back propagation), - они получили из-за используемого алгоритма обучения, в котором ошибка распространяется от выходного слоя к входному, т. е. в направлении, противоположном направлению распространения сигнала при нормальном функционировании сети.

Нейронная сеть обратного распространения состоит из нескольких слоев нейронов, причем каждый нейрон слоя i связан с каждым нейроном слоя i+1, т. е. речь идет о полносвязной НС.

В принципе, для создания нейронных сетей количество слоев определяется исходя из поставленной задачи. Чем больше слоев в сети, тем более сложную функцию можно представить с помощью ИНС. При решении практических задач обычно выбираются один или два скрытых слоя, так как при большем количестве слоев трудно обучать ИНС.

В общем случае задача обучения НС сводится к нахождению некой функциональной зависимости Y=F(X) где X – входной, а Y – выходной векторы. В общем случае такая задача, при ограниченном наборе входных данных, имеет бесконечное множество решений. Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов:

 

где

yj – значение j -го выхода нейросети;

dj – целевое значение j -го выхода;

k – число нейронов в выходном слое.

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

 

 

где ή – параметр, определяющий скорость обучения.

Для выходного слоя можно записать компоненты градиента по весам функции ошибки:

 

 

где

yj– значение выхода j -го нейрона;

Sj– взвешенная сумма входных сигналов j -го нейрона;

wiji -тый вход j – того нейрона.

При этом производная взвешенной суммы по весам будет равна:

 

 

где xi – значение i -го входа нейрона.

Для выходного слоя производная функции ошибки будет равна:

 

,

 

где p – номер обучающего образца.

Если в качестве активационной функции используется сигмоид, то будет определяться формулой:

 

,


 

где , определяет текущее значение выходного сигнала.

Расчеты по вышеприведенным формулам позволяют выполнить коррекцию весов для нейронов последнего слоя. Для получения формул для других слоев можно воспользоваться формулой производной функции ошибки по входному сигналу (n – номер слоя):

 

.

 

Последний сомножитель тождественно совпадает с весовым коэффициентом i – того входа j – того нейрона:

 

.

 

Но производная по входному значению для последнего слоя тождественно совпадает с производной по соответствующему выходу для предыдущего слоя:

 

.

 

Первый множитель формулы (7) определяется формулой:

 

,


где k – число нейронов в слое n.

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

 

 

Тогда можно задать рекурсивную формулу для определения (n-1) - го слоя, если известны следующего n - го слоя.

 

.

 

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

 

.

 

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

 

.

 

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

1) подать на вход НС один из обучающих образов и определить значения выходов нейронов;

2) рассчитать функцию ошибки Е. Если значение ошибки не превышает допустимое, то выбрать следующий обучающий образец и перейти на шаг 1. Целесообразно организовать случайный выбор образцов из обучающей последовательности. Иначе – к следующему пункту;

3) рассчитать для выходного слоя нейронной сети по формуле (12) и рассчитать изменения весов выходного слоя n по формуле (13);

4) рассчитать по формулам (11) и (13) соответственно и для остальных слоев, n = N-1..1;

5) скорректировать все веса нейронной сети:

 

 

6) перейти на шаг 1.



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


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