Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример алгоритма обратного распространения ошибки



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

Выполнение алгоритма начинается с генерации произвольных весов для многослойной сети. Затем процесс, описанный ниже, повторяется до тех пор, пока средняя ошибка на входе не будет признана достаточно малой:

  1. Берётся пример входного сигнала с соответствующим правильным значением выхода, т.е. входной и выходной векторы.
  2. Рассчитывается прямое распространение сигнала через сеть (определяются весовые суммы Si и активаторы ui для каждого нейрона).
  3. Начиная с выходов, выполняется обратное движение через ячейки выходного и промежуточного слоя, при этом программа рассчитывает значения ошибок по формуле (1) и (2):

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 U3=f(
 
 


- 0,5

       
   
 
 
 


Рисунок 1 Пример алгоритма обратного распространения





Дата публикования: 2014-10-18; Прочитано: 1176 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...