Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации / КурсЛекций.doc
Скачиваний:
226
Добавлен:
04.06.2015
Размер:
12.28 Mб
Скачать

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

8.1 Многослойные нейронные сети. Структура

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

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

Рисунок 8.1 – Многослойная нейронная сеть

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

,

(8.1)

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

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

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

(8.2)

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

(8.3)

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

Рисунок 8.2 – Структура нейрона

8.2 Вывод основных формул алгоритма обратного распространения ошибки

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

, ,

(8.4)

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

,

(8.5)

причем

(8.6)

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

(8.7)

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

(8.8)

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

, .

(8.9)

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

(8.10)

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

(8.11)

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

(1.41)

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

(8.13)

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

(8.14)

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

(8.15)

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

(8.16)

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

(8.17)

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

(8.18)

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

(8.19)

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

(8.20)

(8.21)

(8.22)

(8.23)

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

(8.24)

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

Контрольные вопросы

  1. Как выглядит многослойная нейронная сеть?

  2. Напишите основные функции активации, применяемые в нейронных сетях?

  3. Напишите основные формулы алгоритма обратного распространения ошибки?

  4. Назовите основные модификации алгоритма обратного распространения ошибки?

  5. По какому алгоритму происходит обучение персептрона?

Соседние файлы в папке Методы оптимизации