Ошибка
где
Принимая во внимание:
получаем, что для любого скрытого слоя i ошибка i-го нейронного элемента определяется рекурсивным образом через ошибки нейронов следующего слоя j по следующей формуле:
где m – число нейронов следующего слоя по отношению к слою i.
Аналогичным образом доказывается, что производные среднеквадратичной ошибки по весовым коэффициентам и порогам нейронных элементов для любых двух слоев i и j определяются по формулам:
Из последних формул очевидно, что для минимизации среднеквадратичной ошибки сети весовые коэффициенты и пороги нейронных элементов должны изменяться с течением времени следующим образом:
где a – скорость обучения.
Последние два выражения () и () определяют правило обучения многослойных нейронных сетей в общем виде, которое называют обобщенным дельта-правилом.
Недостатки алгоритма обратного распространения ошибки
Алгоритм обратного распространения ошибки, в основе которого лежит градиентный метод, создает ряд проблем при обучении многослойных нейронных сетей. К таким проблемам можно отнести следующие:
- неизвестность выбора числа слоев и количества нейронных элементов в слое для многослойных сетей;
- медленную сходимость градиентного метода с постоянным шагом обучения;
- сложность выбора подходящей скорости обучения a. Так, слишком малая скорость обучения увеличивает время обучения и приводит к скатыванию нейронной сети в локальный минимум. Большая скорость обучения может привести к пропуску глобального минимума и сделать процесс обучения расходящимся;
- невозможность определения точек локального и глобального минимумов, так как градиентный метод их не различает;
- влияние случайной инициализации весовых коэффициентов нейронной сети на поиск минимума функции среднеквадратичной ошибки.
Последний пункт отражает, что при разной инициализации синаптических связей могут получаться различные решения задачи. Это характеризует неустойчивость алгоритма обучения, когда нейронная сеть в одних случаях может обучаться до требуемой суммарной среднеквадратичной ошибки, а в других нет. То, что алгоритм обратного распространения ошибки не позволяет в общем случае достичь глобального минимума, не умаляет его достоинств, так как во многих практических задачах достаточно обучить нейронную сеть до требуемой среднеквадратичной ошибки. Является ли при этом найденный минимум локальным или глобальным, не имеет большого значения.
Адаптивный шаг обучения
Ранее отмечалось, что в стандартном алгоритме обратного распространения ошибки существует проблема выбора подходящего шага обучения, чтобы увеличить быстродействие и обеспечить сходимость алгоритма. Для выбора адаптивного шага обучения a можно использовать метод наискорейшего спуска [4]. В соответствии с ним на каждой итерации обучения нейронной сети необходимо выбирать шаг обучения для каждого слоя таким, чтобы минимизировать среднеквадратичную ошибку сети:
где
Выходное значение j-го нейрона зависит от функции активации нейронных элементов и в общем случае определяется следующим образом:
При этом весовые коэффициенты и пороги нейронной сети модифицируются, как:
Среднеквадратичная ошибка нейронной сети:
Тогда для нахождения a(t) необходимо решить следующее уравнение:
Данное уравнение невозможно решить относительно a(t) аналитическим путем. Поэтому в ряде работ для определения адаптивного шага обучения предлагается использовать методы линейного поиска [14]. Однако это связано со значительными вычислениями. Поэтому можно предложить приближенный метод нахождения скорости обучения a(t). Он базируется на разложении функции активации нейронных элементов в ряд Тейлора.
Пусть выходное значение j-го нейрона последнего слоя нейронной сети
где
Для определения взвешенной суммы
Обозначим:
Тогда можно представить в следующем виде:
Выходное значение j-го нейрона в момент времени t+1:
Разложим по формуле Тейлора и ограничимся первыми двумя членами:
Тогда
Так как
то (888) можно переписать в виде
Для обеспечения адаптивного шага обучения необходимо обеспечить:
Тогда
Откуда
Так как
получим:
Исходя из принципа независимости слоев, предполагаем, что
получим приближенное выражение для вычисления адаптивного шага обучения различных слоев нейронной сети:
где
Следует отметить, что в приведенном выше выражении