Метод зворотного поширення помилки: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
стиль
Рядок 20:
де s&nbsp;— вихід суматора нейрона, <math>\alpha</math>&nbsp;— довільна константа.
 
Процесорний час розрахунку раціональної сигмоїдної функцій активації є найменшим з усіх сигмоїд. Для обчислення гіперболічного тангенса потрібно найбільше тактів роботи процесора. Якщо ж порівнювати з пороговими функціями активації, то сигмоїди розраховуються дуже повільно. Якщо після підсумовування в пороговій функції відразу можна починати порівняння з певною величиною (порогом), то у випадку сигмоїдної функції активації потрібно розрахувати сигмоїду (затратити час у кращому випадкущонайменше на три операції: взяття модуля, додавання і поділ), і тільки потім порівнювати з пороговою величиною (наприклад, нулем). Якщо вважати, що всі прості операції розраховуються процесором за приблизно однаковий час, то робота сигмоїдної функції активації після зробленого підсумовування (яке займе однаковий час) буде повільнішою від порогової функції активації в пропорції 1:4.
 
== Функція оцінки роботи мережі ==
Рядок 28:
де <math>Z^*(\tau)</math>&nbsp;— необхідне значення вихідного сигналу.
 
[[Метод найменших квадратів]] далеко не завжди є кращимнайкращим вибором оцінки. Ретельне конструювання функції оцінки дозволяє на порядок підвищити ефективність навчання мережі, а також одержувати додаткову інформацію&nbsp;— «рівень впевненості» мережі у відповіді <ref>''Миркес Е. М.'', [http://pca.narod.ru/MirkesNeurocomputer.htm Нейрокомпьютер. Проект стандарта].&nbsp;— Новосибирск: Наука, Сибирская издательская фирма РАН, 1999.&nbsp;— 337 с. ISBN 5-02-031409-9 Інші копії онлайн: [http://www.koob.ru/mirkes/neirokomputer], [http://neuroschool.narod.ru/books/mirkes/mirkes.html].</ref>
 
== Опис алгоритму ==
Рядок 34:
[[Файл:Neuro.PNG|left|400x300px|thumb|left| Архітектура багатошарового перцептрону]]
 
Алгоритм зворотного поширення помилки застосовується для [[багатошаровий перцептрон|багатошарового перцептрону]]. У мережі є множина входів <math>x_1, ..., x_n</math>, множина виходів Outputs і безліч внутрішніх вузлів. ПеренумеруемоПеренумеруємо всі вузли (включаючи входи і виходи) числами від 1 до N (наскрізна нумерація, незалежно від топології шарів). Позначимо через <math>w_{i,j}</math> вагу зв'язку, що з'єднує i-й і j-й вузли, а через <math>o_i</math>&nbsp;— вихід i-го вузла. Якщо нам відомий навчальний приклад (правильні відповіді мережі <math>t_k</math>, <math>k \in Outputs</math>), то функція помилки, отримана за [[Метод найменших квадратів|методом найменших квадратів]], виглядає так:
 
<math>E(\{w_{i,j}\}) = \cfrac{1}{2} \sum_{k \in Outputs} (t_k - o_k)^2 </math>
Рядок 95:
На кожній ітерації алгоритму зворотного поширення вагові коефіцієнти нейронної мережі модифікуються так, щоб поліпшити рішення одного прикладу. Таким чином, у процесі навчання циклічно вирішуються однокритеріальні задачі оптимізації.
 
Навчання нейронної мережі характеризується чотирма специфічними обмеженнями, що виділяють навчання нейромереж із загальних задач оптимізації: астрономічне число параметрів, необхідність високого паралелізму при навчанні, багато критеріально вирішуваних завдань, необхідність знайти досить широку область, в якій значення всіх функцій, що мінімізуються близькі до мінімальних. Стосовно решти проблему навчання можна, як правило, сформулювати як завдання мінімізації оцінки. Обережність попередньої фрази («як правило») пов'язана з тим, що насправді нам невідомі і ніколи не будуть відомі всі можливі завдання для нейронних мереж, і, може, десь в невідомості є завдання, які не зводяться до мінімізації оцінки. Мінімізація оцінки&nbsp;— складна проблема: параметрів астрономічно багато (для стандартних прикладів, що реалізуються на РС&nbsp;— від 100 до 1000000), адаптивний рельєф (графік оцінки як функції від підлаштовуємихпідлаштовуваних параметрів) складний, може містити багато локальних мінімумів.
 
== Недоліки алгоритму ==
Рядок 111:
=== Розмір кроку ===
 
Уважний розбір доведення збіжності <ref name="Rumelhart"/> показує, що корекції ваг передбачаються нескінченно малими. Ясно, що це нездійсненно на практиці, тому що веде до безкінечного часу навчання. Розмір кроку повинен братися кінцевим. Якщо розмір кроку фіксований і дуже малий, то збіжність надто повільна, якщо ж він фіксований і занадто великий, то може виникнути параліч або постійна нестійкість. Ефективно збільшувати крок до тих пір, поки не припиниться поліпшення оцінки в даному напрямку антиградієнтаанти[[градієнт]]а і зменшувати, якщо такого покращення не відбувається. П.&nbsp;Д.&nbsp;Вассерман <ref>Wasserman P. D. Experiments in translating Chinese characters using backpropagation. Proceedings of the Thirty-Third IEEE Computer Society International Conference..&nbsp;— Washington: D. C.: Computer Society Press of the IEEE, 1988.</ref> описав адаптивний алгоритм вибору кроку, який автоматично коректує розмір кроку в процесі навчання. В книзі А.&nbsp;Н.&nbsp;Горбаня <ref>Горбань А.&nbsp;Н.&nbsp;Обучение нейронных сетей..&nbsp;— Москва: СП ПараГраф, 1990.</ref> запропонована розгалудженарозгалужена технологія оптимізації навчання. Слід також відмітити можливість перенавчання мережі, що є скоріше результатом помилкового проектування її топології. При дуже великій кількості нейронів втрачається властивість мережі узагальнювати інформацію. Весь набір образів, наданих до навчання, буде вивчений мережею, але будь-які інші образи, навіть дуже схожі, можуть бути [[Задача класифікації|класифіковані]] невірно.
 
== Література ==