Недоліки алгоритму зворотного розповсюдження помилки

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

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

1. Параліч мережі

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

2. Локальні мінімуми

Як говорилося спочатку, алгоритм зворотного поширення помилки використовує різновид градієнтного спуску, тобто здійснює спуск вниз поверхнею помилки, безперервно підлаштовуючи ваги до мінімуму. Поверхня помилки складної мережі сильно порізана і складається з пагорбів, долин, складок та ярів у просторі високої розмірності. Мережа може потрапити в локальний мінімум (неглибоку долину), коли є більш глибокий мінімум. У точці локального мінімуму всі напрямки ведуть вгору, і мережа нездатна з нього вибратися. Статистичні методи навчання можуть допомогти уникнути цієї пастки, але вони повільні.

3. Розмір кроку

Алгоритм зворотного поширення помилки має доказ своєї збіжності. Цей доказ ґрунтується на тому, що корекція терезів передбачається нескінченно малою. Зрозуміло, що це неможливо на практиці, оскільки веде до нескінченного часу навчання. Розмір кроку має братися кінцевим, й у питанні доводиться спиратися лише з досвід. Якщо розмір кроку дуже малий, то збіжність занадто повільна, якщо дуже великий, то може виникнути параліч або постійна нестійкість.

4. Тимчасова нестійкість

Якщо мережа вчиться розпізнавати літери, немає сенсу вчити «Б», якщо забувається «А». Процес навчання повинен бути таким, щоб мережа навчалася на всій навчальній множині без перепусток того, що вже вивчено. У доказі збіжності ця умова виконано, але потрібно також, щоб мережі пред'являлися всі вектори навчальної множини, перш ніж виконується корекція ваг. Необхідні зміни вагповинні обчислюватися на всій множині, а це вимагає додаткової пам'яті; після низки таких навчальних циклів ваги зійдуться до мінімальної помилки. Цей метод може виявитися марним, якщо мережа знаходиться в зовнішньому середовищі, що постійно змінюється, так що вдруге один і той же вектор може вже не повторитися. В цьому випадку процес навчання може ніколи не зійтися, безцільно блукаючи або сильно осцилюючи. У цьому сенсі алгоритм зворотного розповсюдження помилки не схожий на біологічні системи.