Раніше ми вже розглядали детально процес навчання одного нейрона на двох лінійно роздільних класах. На практиці такі задачі зустрічаються рідко. На малюнку нижче зображено приклад двох лінійно нероздільних класів
Хоча один нейрон не може розділити такі два класи, але ми можемо спробувати провести дискримінантну площину так, щоб мінімізувати помилку такого розділення.Розглянемо метод метод Уїдроу - Хоффа, або дельта-правило найменшого середнього квадрату навчання одного нейрону, для задачі класифікації двох типів класів ω1 i ω2. На кожному кроці навчання мінімізується помилка між фактичною та бажаною реакцією нейрона. Розглянемо нейрон y(X)=f(WX+b),X∈Rn
Нам потрібно знайти мінімум цієї функції, як функції невідомих ваг. Це класична задача оптимізації для наближеного розв'язання якої використовують ітеративний алгоритм градієнтного спуску (gradient descent). Ідея алгоритму базується на простому факті -- для диференційовної функції від n-змінних F(X) її градієнт ∇F(X)=(∂F(X)∂x1,∂F(X)∂x2,…,∂F(X)∂xn,)
Повернемося тепер до цільової функції E(W) простої нейронної мережі. Нехай W(0) деяке початкове наближення значень вагових коефіцієнтів. Тоді, ми будуємо ітеративний процес W(k+1)=W(k)−λ∂E(W)E(∂W)|W=W(k),k=1,2,3,…
Відмітимо, що замість квадрату різниці для оптимізації можна застосовувати інші функції втрат. Також в деяких випадках ітераційний процес може відбуватися дуже повільно.
Зауважимо, шо навіть коли класи ω1, ω2 лінійно відокремлювані, то цей алгоритм не обов'язково побудує дискримінантну гіперплощину.
Навчання мережі методом зворотного поширення помилки (back propagation).
Розглянемо багатошарову нейронну мережу в якому кожен нейрон одного шару з'єднаний з кожним нейроном наступного шару і більше ніяких зв'язків між нейронами немає, наприклад нейрони одного і того ж шару ніяк не зв'язані. Такі нейронні мережі називаються повнозв'язні мережі прямого поширення (Fully Connected Neural Network)
Знайшовши мінімум цільової функції, ми тим самим визначимо вагові коефіцієнти всіх нейронів вихідного шару. Знаючи, як реагує вихідний шар ми можемо за цим самим алгоритмом знайти вагові коефіцієнти нейронів останнього прихованого шару, потім наступного шару і так далі. Рухаючись до початку, тобто поширюючи помилку від шару до шару, ми поступово визначимо ваги всієї нейронної мережу. Крім штучних багатошарових нейронних мереж прямого поширення існують інші архітектури нейронних мереж, зокрема рекурентні та згорткові. Сукупність алгоритмів та методів навчання таких мереж називається Глибоким навчанням (deep learning) і є частиною ширшої дисципліни Машинне навчання ( Maсhine learning).
Немає коментарів:
Дописати коментар