Навчання нейронної мережі - це процес, в якому параметри нейронної мережі настроюються за допомогою моделювання середовища, в яку ця мережа вбудована. Тип навчання визначається способом підстроювання параметрів. Розрізняють алгоритми навчання з вчителем і без вчителя.
Процес навчання з учителем є пред'явлення мережі вибірки навчальних прикладів. Кожен зразок подається на входи мережі, потім проходить обробку всередині структури НС, обчислюється вихідний сигнал мережі, який порівнюється з відповідним значенням цільового вектора, що представляє собою необхідний вихід мережі.
Для того, щоб нейронна мережі була здатна виконати поставлене завдання, її необхідно навчити (див. Рис. 1). Розрізняють алгоритми навчання з вчителем і без вчителя.
Процес навчання з учителем є пред'явлення мережі вибірки навчальних прикладів. Кожен зразок подається на входи мережі, потім проходить обробку всередині структури НС, обчислюється вихідний сигнал мережі, який порівнюється з відповідним значенням цільового вектора, що представляє собою необхідний вихід мережі. Потім за певним правилом обчислюється помилка, і відбувається зміна вагових коефіцієнтів зв'язків всередині мережі в залежності від обраного алгоритму. Вектори навчальної множини пред'являються послідовно, обчислюються помилки і ваги підлаштовуються для кожного вектора до тих пір, поки помилка по всьому навчальному масиву не досягне прийнятного рівня.
Мал. 1. Ілюстрація процесу навчання НС
При навчанні без учителя навчальну множину складається лише з вхідних векторів. Навчальний алгоритм підлаштовує ваги мережі так, щоб виходили узгоджені вихідні вектори, тобто щоб пред'явлення досить близьких вхідних векторів давало однакові виходи. Процес навчання, отже, виділяє статистичні властивості навчальної множини і групує подібні вектори в класи. Пред'явлення на вхід вектора з даного класу дасть певний вихідний вектор, але до навчання неможливо передбачити, який вихід буде проводитися даним класом вхідних векторів. Отже, виходи подібної мережі повинні трансформуватися в деяку зрозумілу форму, зумовлену процесом навчання. Це не є серйозною проблемою. Зазвичай не складно ідентифікувати зв'язок між входом і виходом, встановлену мережею.
Для навчання нейронних мереж без вчителя застосовуються сигнальні метод навчання Хебба і Ойа.
Математично процес навчання можна описати таким чином. В процесі функціонування нейронна мережа формує вихідний сигнал Y, реалізуючи деяку функцію Y = G (X). Якщо архітектура мережі задана, то вид функції G визначається значеннями синаптичних ваг і зміщеною мережі.
Нехай рішенням деякої задачі є функція Y = F (X), задана параметрами вхідних-вихідних даних (X1, Y1), (X2, Y2), ..., (XN, YN), для яких Yk = F (Xk) (k = 1, 2, ..., N).
Навчання складається в пошуку (синтезі) функції G, близькою до F в сенсі некториє функції помилки E. (див. Рис. 1.8).
Якщо вибрано безліч навчальних прикладів - пар (XN, YN) (де k = 1, 2, ..., N) і спосіб обчислення функції помилки E, то навчання нейронної мережі перетворюється в задачу багатовимірної оптимізації, що має дуже велику розмірність, при цьому, оскільки функція E може мати довільний вигляд навчання в загальному випадку - багатоекстремального неопуклого завдання оптимізації.
Для вирішення цього завдання можуть використовуватися такі (ітераційні) алгоритми:
алгоритми локальної оптимізації з обчисленням приватних похідних першого порядку:
градієнтний алгоритм (метод найшвидшого спуску),
методи з одновимірної і двовимірної оптимізацією цільової функції в напрямку антіградіента,
методу сполучених градієнтів,
методи, що враховують напрямок антіградіента на кілька кроків алгоритму;
алгоритми локальної оптимізації з обчисленням приватних похідних першого і другого порядку:
метод Ньютона,
методи оптимізації з розрідженими матрицями Гессе,
квазіньютоновскіе методи,
метод Гаусса-Ньютона,
метод Левенберга-Марквардта і ін .;
стохастичні алгоритми оптимізації:
пошук у випадковому напрямку,
імітація відпалу,
метод Монте-Карло (чисельний метод статистичних випробувань);
алгоритми глобальної оптимізації (задачі глобальної оптимізації вирішуються за допомогою перебору значень змінних, від яких залежить цільова функція).