Навчання методом зворотного поширення помилок



Для навчання багатошарової мережі в 1986 р. Руммельхартом і Хинтоном (Rummelhart D.E., Hіnton G.E., Wіllіams R.J., 1986) був запропонований алгоритм зворотного поширення помилок (error back propagatіon). Численні публікації про промислові застосування багатошарових мереж із цим алгоритмом навчання підтвердили його принципову працездатність на практиці.

На початку виникає резонне питання - а чому для навчання багатошарового персептрона не можна застосувати вже відоме d -правило Розенблатта? Відповідь полягає в тому, що для застосування методу Розенблатта необхідно знати не тільки поточні виходи нейронів y, але й необхідні правильні значення Y. У випадку багатошарової мережі ці правильні значення є тільки для нейронів вихідного шару. Необхідні значення виходів для нейронів схованих шарів невідомі, що й обмежує застосування d -правила.

Основна ідея зворотного поширення полягає в тому, як одержати оцінку помилки для нейронів схованих шарів. Помітимо, що відомі помилки, що роблять нейронами вихідного шару, виникають внаслідок невідомих поки помилок нейронів схованих шарів. Чим більше значення синаптичного зв'язку між нейроном схованого шару й вихідним нейроном, тим сильніше помилка першого впливає на помилку другого. Отже, оцінку помилки елементів схованих шарів можна одержати, як зважену суму помилок наступних шарів. При навчанні інформація поширюється від нижчих шарів ієрархії до вищих, а оцінки помилок, що робляться мережею - у зворотному напрямку, що й відбито в назві методу.

Перейдемо до докладного розгляду цього алгоритму. Для спрощення позначень обмежимося ситуацією, коли мережа має тільки один схований шар. Матрицю вагових коефіцієнтів від входів до схованого шару позначимо W, а матрицю ваг, що з'єднують схований і вихідний шар - як V. Для індексів приймемо наступні позначення: входи будемо нумерувати тільки індексом і, елементи схованого шару - індексом j, а виходи, відповідно, індексом k.

Нехай мережа навчається на вибірці (Xa,Ya), a =1..p. Активності нейронів будемо позначати малими буквами y з відповідним індексом, а сумарні зважені входи нейронів - малими буквами x.

Загальна структура алгоритму зворотного поширення помилки:

Крок 0. Початкові значення ваг всіх нейронів всіх шарів V(t=0) і W(t=0) покладаються випадковими числами.
Крок 1. Мережі пред'являється вхідний образ Xa,, у результаті формується вихідний образ y¹ Ya. При цьому нейрони послідовно від шару до шару функціонують по наступних формулах: схований шар вихідний шар Де f(x) - сигмоідальная функція, обумовлена по формулі (5.1)
Крок 2. Функціонал квадратичної помилки мережі для даного вхідного образа має вигляд: Даний функціонал підлягає мінімізації. Класичний градієнтний метод оптимізації складається в ітераційному уточненні аргументу відповідно до формули: Функція помилки в явному виді не містить залежності від ваги Vjk, тому скористаємося формулами неявного диференціювання складної функції: Тут враховане корисна властивість сигмоідальной функції f(x): її похідна виражається тільки через саме значення функції, f'(x)=f(1-f). Таким чином, всі необхідні величини для підстроювання ваг вихідного шару V отримані.
Крок 3. На цьому кроці виконується підстроювання ваг схованого шару. Градієнтний метод як і раніше дає: Обчислення похідних виконуються по тих же формулам, за винятком деякого ускладнення формули для помилки dj. При обчисленні dj тут і був застосований принцип зворотного поширення помилки: частки похідні беруться тільки по змінним наступного шару. По отриманих формулах модифікуються ваги нейронів схованого шару. Якщо в нейронній мережі є кілька схованих шарів, процедура зворотного поширення застосовується послідовно для кожного з них, починаючи із шару, що передує вихідному, і далі до шару, що випливає за вхідним. При цьому формули зберігають свій вид із заміною елементів вихідного шару на елементи відповідного схованого шару.
Крок 4. Кроки 1-3 повторюються для всіх навчальних векторів. Навчання завершується по досягненні малої повної помилки або максимально припустимого числа ітерацій, як й у методі навчання Розенблатта.

Як видно з опису кроків 2-3, навчання зводиться до рішення задачі оптимізації функціонала помилки градієнтним методом. Вся “сіль” зворотного поширення помилки полягає в тому, що для її оцінки для нейронів схованих шарів можна прийняти зважену суму помилок наступного шару.

Параметр h має сенс темпу навчання й вибирається досить малим для збіжності методу. Про збіжність необхідно зробити кілька додаткових зауважень. По-перше, практика показує що збіжність методу зворотного поширення досить повільна. Невисокий темп збіжності є “генетичною хворобою” всіх градієнтних методів, тому що локальний напрямок градієнта аж ніяк не збігається з напрямком до мінімуму. По-друге, підстроювання ваг виконується незалежно для кожної пари образів навчальної вибірки. При цьому поліпшення функціонування на деякій заданій парі може, загалом кажучи, приводити до погіршення роботи на попередніх образах. У цьому змісті, немає достовірних (крім досить великої практики застосування методу) гарантій збіжності.

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

У завершення лекції зробимо зауваження щодо настроювання порогів нейронів. Легко помітити, що поріг нейрона може бути зроблений еквівалентним додатковій вазі, з'єднаному з фіктивним входом, рівним -1. Дійсно, вибираючи W0=Q, x0=-1 і починаючи підсумовування з нуля, можна розглядати нейрон з нульовим порогом й одним додатковим входом:

Додаткові входи нейронів, що відповідають порогам, зображені на Рис. 1 темними квадратиками. З урахуванням цього зауваження, всі викладені в алгоритмі зворотного поширення формули підсумовування по входах починаються з нульового індексу.


Дата добавления: 2018-04-15; просмотров: 531; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!