Алгоритм обратного распространения ошибки и его недостатки
Данный алгоритм является эффективным средством обучения многослойных нейронных сетей и представляет собой следующую последовательность шагов: 1. Задаются шаг обучения a (0<a<1) и желаемая среднеквадратичная ошибка нейронной сети Еm. 2. Инициализируются случайным образом весовые коэффициенты и пороговые значения нейронной сети. 3. Подаются последовательно образы из обучающей выборки на вход нейронной сети и для каждого входного образа выполняются следующие действия: 3.1. Производится фаза прямого распространения входного образа по нейронной сети. При этом вычисляется выходная активность всех нейронов сети где индекс j характеризует нейроны следующего слоя по отношению к слою i. 3.2. Осуществляется фаза обратного распространения сигнала, в результате которой определяется ошибка gj , j = 1,2,... нейронных элементов для всех слоев сети. При этом для выходного слоя gj = yj - tj, а для скрытого слоя 3.3. Изменяются веса и пороги нейронов для каждого слоя нейронной сети: 4. Вычисляется суммарная среднеквадратичная ошибка нейронной сети где L – размерность обучающей выборки. 5. Если Е > Еm, то происходит переход к шагу 3 алгоритма. В противном случае алгоритм обратного распространения ошибки заканчивается. Таким образом, данный алгоритм функционирует до тех пор, пока суммарная среднеквадратичная ошибка сети не станет меньше заданной, т.е. Е £ Еm. Алгоритм обратного распространения ошибки, основанный на методе градиентного спуска, имеет следующие недостатки: ü неизвестность выбора числа слоев и количества нейронов в слое; ü медленная сходимость градиентного метода с постоянным шагом обучения; ü сложность выбора подходящей скорости обучения a: слишком малое a увеличивает время обучения и приводит к скатыванию нейронной сети в локальный минимум, большое a может привести к пропуску глобального минимума и сделать процесс обучения расходящимся; ü невозможность определения точек локального и глобального минимумов, так как градиентный метод их не различает; ü влияние случайной инициализации весовых коэффициентов нейронной сети на поиск минимума функции среднеквадратичной ошибки. Последний пункт отражает, что при разной инициализации могут получаться различные решения задачи. Это характеризует неустойчивость алгоритма обучения. То, что алгоритм не позволяет в общем случае достичь глобального минимума, не уменьшает его достоинств, так как во многих практических задачах достаточно обучить нейронную сеть до требуемой среднеквадратичной ошибки. Является ли при этом найденный минимум локальным или глобальным, не имеет большого значения.
|