Математические основы алгоритма обратного распространения ошибки
Рис. 1. Четырехслойная нейронная сеть.
Алгоритм обратного распространения ошибки был предложен в и является эффективным средством для обучения многослойных нейронных сетей.
Рассмотрим нейронную сеть, состоящую из четырех слоев (рис 1). Обозначим слои нейронных элементов от входа к выходу соответственно через . Тогда выходное значение j -го нейрона последнего слоя равняется:
(1)
, (2)
где — взвешенная сумма j -го нейрона выходного слоя; — выходное
значение i -го нейрона предпоследнего слоя; и — соответственно весовой коэффициент и порог j -го нейрона выходного слоя.
Аналогичным образом выходное значение i -го нейрона предпоследнего слоя определяется, как:
(3)
. (4)
Соответственно для k -го слоя:
(5)
. (6)
Алгоритм обратного распространения ошибки минимизирует среднеквадратичную ошибку нейронной сети. Для этого с целью настройки синаптических связей используется метод градиентного спуска в пространстве весовых коэффициентов и порогов нейронной сети. Согласно методу градиентного спуска изменение весовых коэффициентов и порогов нейронной сети происходит по следующему правилу:
, (7)
, (8)
где — среднеквадратичная ошибка нейронной сети для одного образа.
Она определяется, как
, (9)
где — эталонное выходное значение j -го нейрона.
Ошибка j -го нейрона выходного слоя равняется:
. (10)
Теорема 2.2. Для любого скрытого слоя ошибка -го нейронного элемента определяется рекурсивным образом через ошибки нейронов следующего слоя :
(11)
где — количество нейронов следующего слоя по отношению к слою ; — синаптическая связь между -м и -м нейроном различных слоев; — взвешенная сумма -го нейрона.
|
Теорема 2.3. Производные среднеквадратичной ошибки по весовым коэффициентам и порогам нейронных элементов для любых двух слоев и многослойной сети определяются следующим образом:
(12)
(13)
Следствие 2.1: Для минимизации среднеквадратичной ошибки сети весовые коэффициенты и пороги нейронных элементов должны изменяться с течением времени следующим образом:
(14)
(15)
где — скорость обучения.
Данное следствие является очевидным. Оно определяет правило обучения многослойных нейронных сетей в общем виде, которое называется обобщенным дельта правилом.
Обобщенное дельта правило для различных функций активации нейронных элементов
Определим выражения (14) и (15) для различных функций активации нейронных элементов.
Сигмоидная функция
Выходное значение j -го нейронного элемента определяется следующим
образом:
, (16)
. (17)
Тогда
(18)
В результате обобщенное дельта правило для сигмоидной функции активации можно представить в следующем виде:
(19)
(20)
Ошибка для j -го нейрона выходного слоя определяется, как
. (21)
Для j -го нейронного элемента скрытого слоя:
(22)
где m— количество нейронных элементов следующего слоя по отношению к слою i(рис. 2).
Рис. 2. Определение ошибки j-го нейронного элемента.
Биполярная сигмоидная функция
Выходное значение j -го нейрона определяется, как
(23)
Тогда
(24)
Отсюда получаем следующие выражения для обучения нейронной сети с биполярной сигмоидной функцией активации:
(25)
(26)
Ошибка для j -го нейрона выходного и скрытого слоев определяется соответственно, как:
|
(27)
. (28)
Гиперболический тангенс
Для данной функции активации выходное значение j -го нейрона определяется следующим образом:
. (29)
Определим производную функции гиперболический тангенс:
. (30)
Тогда правило обучения можно представить в виде следующих выражений:
(31)
(32)
Ошибка для j -го нейрона выходного и скрытого слоев соответственно равняется:
, (33)
. (34)
Используя полученные в данном разделе выражения можно определить алгоритм обратного распространения ошибки для различных функций активации нейронных элементов.