Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Обратное распространение – это самый популярный алгоритм для обучения НС с помощью изменения весов связей. Ошибка распространяется от выходного слоя к входному, т.е. в направлении противоположном направлению прохождения сигнала при нормальном функционировании сети.
Выполнение алгоритма начинается с генерации произвольных весов для многослойной сети. Затем процесс, описанный ниже, повторяется до тех пор, пока средняя ошибка на входе не будет признана достаточно малой:
d0= (Ci-u5)*u5*(1-u5) для нейрона выходного слоя (1)
di= (Smm>i*wmj * d0)*ui *(1- ui) для всех нейронов скрытого слоя (2)
Здесь m обозначает все нейроны, связанные со скрытым узлом, w – заданный вектор веса, u – выход активационной функции.
4. Веса в сети обновляются следующим образом по формуле (3) и (4):
w*ij= wij + r*d0*ui
для весов синапсов между скрытым и выходным слоем (3)
w*ij= wij + r*di*ui
для весов синапсов между скрытым и входным слоем (4)
Здесь параметр r характеризует коэффициент обучения (или размер шага). Это небольшое значение ограничивает изменение, которое может произойти на каждом шаге. Параметр r можно определить таким образом, чтобы он характеризовал скорость продвижения алгоритма обратного распространения к решению. Лучше начать обучение с небольшого значения (0,1) и затем постепенно его повышать.
Продвижение вперёд по сети соответствует активации нейронов, а продвижение назад – градиент (по отношению к данному примеру). Затем веса обновляются таким образом, чтобы минимизировать ошибку для данного входного вектора. Если коэффициент обучения слишком велик, сеть может никогда не сойтись, т.е. не будут найдены правильные веса связей. При малом значении коэффициента обучения увеличивается время обучения сети.
Входной слой Скрытый слой Выходной слой
| |||||
| |||||
- 0,5
Рисунок 1 Пример алгоритма обратного распространения
Дата публикования: 2014-10-18; Прочитано: 1176 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!