Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


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

Обсудим алгоритм обратного распространения ошибки [20], который позволяет обучать многослойные нейронные сети. Этот алгоритм считается наиболее известным и чаще всего применяемым в искусственных нейронных сетях.

На рис. 2.11. представлена многослойная нейронная сеть, состоящая из  слоев.

025.jpg

Рис. 2.11. Многослойная нейронная сеть.

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

,              (2.64)

Выходной сигнал -го нейрона в -м слое обозначается , , .

На рис. 2.12 показана детальная структура -го нейрона в -м слое.

Нейрон  имеет  входов, образующих вектор

,              (2.65)

причем  для  и . Обратим внимание на факт, что входной сигнал нейрона  связан с выходным сигналом  слоя следующим образом:

              (2.66)

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

026.jpg

Рис. 2.12. Структура нейрона .

Вектор весов нейрона  обозначим

, , .                   (2.67)

Выходной сигнал нейрона  в -й момент времени,  определяется как

,                      (2.68)

причем

.                    (2.69)

Отметим, что выходные сигналы нейронов в -м слое

                 (2.70)

одновременно являются выходными сигналами всей сети. Они сравниваются с так называемыми эталонными сигналами сети

,               (2.71)

в результате чего получаем погрешность

, .              (2.72)

Можно сформулировать меру погрешности, основанную на сравнении сигналов (2.70) и (2.71), в виде суммы квадратов разностей (2.72), т.е.

.                 (2.73)

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

,                        (2.74)

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

.                       (2.75)

Если ввести обозначение

,                    (2.76)

то получим равенство

.                   (2.77)

При этом алгоритм (2.74) принимает вид

.            (2.78)

Способ расчета значения , заданного выражением (2.76), зависит от номера слоя. Для последнего слоя получаем

.               (2.79)

Для произвольного слоя  получаем

.                  (2.80)

Определим погрешность в -м (не последнем) слое для -го нейрона в виде

, .               (2.81)

Если подставить выражение (2.81) в формулу (2.80), то получим

.                    (2.82)

В результате алгоритм обратного распространения ошибки можно записать в виде

,             ,                    (2.83)

                 (2.84)

,                    (2.85)

.            (2.86)

Название алгоритма связано со способом расчета погрешностей в конкретных слоях. Вначале рассчитываются погрешности в последнем слое (на основе выходных и эталонных сигналов), далее - в предпоследнем и так вплоть до первого слоя. Начальные значения весов, образующих сеть, выбираются случайным образом и, как правило, устанавливаются близкими к нулю. Шаг коррекции  чаще всего принимает большие значения (близкие единице) на начальных этапах процесса обучения, но впоследствии его следует уменьшать по мере того как веса приближаются к некоторым заранее определенным значениям. В литературе, посвященной нейронным сетям (например, в [3]), рекомендуются различные модификации алгоритма обратного распространения ошибки. Одна из наиболее известных модификаций заключается во введении в рекурсию (2.86) дополнительного члена, называемого моментом:

,             (2.87)

в котором параметр . Экспериментальные исследования показывают [24], что введение момента ускоряет сходимость алгоритма обратного распространения ошибки.

 



<< ПредыдущаяОглавлениеСледующая >>