Метод зворотного поширення похибки
(Error Back Propagation)
Метод зворотного поширення похибки вперше був сформульований
Вербосом 1974 року. Але визнаний він був значно пізніше, 1986 року,
коли його «перевідкрив» Румельхарт, Хінтон і Вільямс. За своєю суттю –
це метод градієнтного спуску, котрий застосовують для настроювання
вагових коефіцієнтів так, щоб мінімізувати функцію похибки (4.1).
Мінімізація за методом градієнтного спуску означає підстрою-
вання вагових коефіцієнтів
 
  |  
 
  |  
 
  |  
 
де wij – ваговий коефіцієнт синаптичного зв’язку, що з’єднує i-й ней-
рон шару n–1 з j-м нейроном шару n, η – коефіцієнт швидкості нав-
чання, 0< η <1. Користуючись правилами диференціального числен-
ня, можна записати:
    |  |||||
 
  |   
  |  ||||
 
  |  
 
  |  
 де yj – вихід j-го нейрона, а sj – зважена сума його вхідних сигналів, тобто аргумент його нелінійної активаційної функції:

Оскільки множник dy j  
 ds j є похідною цієї функції за її аргументом, то з цього випливає, що похідна активаційної функції повинна бути визначеною на всій осі абсцис. У зв’язку з цим активаційні функції з розривами першого і другого родів не підходять для нейронних мереж, що навчаються методом зворотного поширення похибки.
Наприклад, у випадку гіперболічного тангенса маємо:

Третій множник 
 дорівнює виходу i-го нейрона з попереднього шару, 
 . Щодо першого множника в (4.3), то його легко розкласти так:

Тут додавання за k виконують серед нейронів шару n+1. Вводячи нову змінну

Отримуємо рекурсивну формулу для розрахунків величини 
 шару n за величинами 
 наступного шару n+1:
 (4.4)
Для останнього ж, вихідного шару маємо:
 (4.5)
Тепер ми можемо записати (4.2) в розгорнутому вигляді:
 (4.6)
Інколи для надання процесу корекції ваг деякої інерційності, що згладжує різкі стрибки під час переміщення поверхнею цільової функції, вираз (4.6) доповнюється значенням зміни ваги на попередній ітерації:
 , (4.7)
де 
 - коефіцієнт інерційності, t- номер поточної ітерації.
Отже, повний алгоритм навчання ШНМ за допомогою процедури зворотного поширення похибки має такий вигляд:
Крок 1. Ініціалізація ваги і зміщення, які задають випадково.
Наприклад, в діапазоні від –1 до 1.
Крок 2. Розрахування виходу мережі і похибки за вектором входу і відповідним йому вектором бажаного виходу із еталонних даних.
Крок 3. Розрахування δ( N ) для вихідного шару за формулою (4.5).
Крок 4. Розрахування зміни ваг ∆w( N ) для вихідного шару за формулою (4.6) або (4.7).
Крок 5. Розрахування за формулами (4.4) і (4.6), або (4.4) і (4.7) відповідно δ( n) і ∆w( n) для всіх інших шарів.
Крок 6. Коригування всіх ваг у ШНМ:
 (4.8)
Крок 7. Перехід на крок 2, якщо похибка мережі суттєва, а якщо ні – то закінчення навчання.
4.4. Навчання нейронних мереж за допомогою генетичних алгоритмів
Оскільки навчання ШНМ – це пошук такого стану параметрів мережі (синаптичних ваг і порогових зміщень), який мінімізує функцію похибки, котру можна задати у вигляді (4.1). Одним із найбільш ефективних методів глобальної оптимізації є генетичні алгоритми (ГА). Під час використання ГА для навчання ШНМ параметрами оптимізації є синаптичні ваги і порогові зміщення. Функція пристосованості буде обернено пропорційною до функції похибки (4.1).