Проблема зникання градієнту
В машинному навчанні пробле́ма зника́ння градіє́нту (англ. vanishing gradient problem) виникає при тренуванні штучних нейронних мереж методами навчання на основі градієнту та зворотного поширення. В таких методах кожен з вагових коефіцієнтів нейронної мережі отримує уточнення пропорційно до частинної похідної функції похибки по відношенню до поточної ваги на кожній ітерації тренування. Проблема полягає в тім, що в деяких випадках градієнт буде зникомо малим, тим самим перешкоджаючи вазі змінювати своє значення. В найгіршому випадку це може повністю зупинити нейронну мережу від подальшого натреновування. Як один із прикладів причини цієї проблеми, традиційні передавальні функції, такі як гіперболічний тангенс, мають градієнти в проміжку (0, 1), а зворотне поширення обчислює градієнти за ланцюговим правилом. Це має ефект перемножування n цих малих чисел для обчислення градієнтів перших шарів в n-шаровій мережі, а це означає, що градієнт (сигнал похибки) експоненційно спадає з n, і перші шари тренуються дуже повільно. Зворотне поширення дозволило дослідникам тренувати керовані глибокі нейронні мережі з нуля, спочатку з невеликим успіхом. Дипломна[en] праця Гохрайтера[en] 1991 року формально ідентифікувала причину цієї невдачі в «проблемі зникання градієнту»,[1][2] яка впливає не лише на багатошарові мережі прямого поширення,[3] а й на рекурентні мережі.[4] Останні тренуються розгортанням їх у дуже глибокі мережі прямого поширення, в яких для кожного моменту часу вхідної послідовності, оброблюваної мережею, створюється новий шар. (Таке поєднання розгортання зі зворотним поширенням називають зворотним поширенням у часі.) Коли застосовують такі передавальні функції, похідні яких можуть набувати великих значень, виникає ризик зіткнутися з пов'язаною пробле́мою ви́буху градіє́нту (англ. exploding gradient problem). Розв'язання
Багаторівнева ієрархіяДля подолання цієї проблеми було запропоновано декілька методів. Одним з них є багаторівнева ієрархія мереж Юргена Шмідгубера (1992 року), попередньо тренована по одному рівню за раз шляхом некерованого навчання, і тонко налаштовувана зворотним поширенням.[5] Тут кожен рівень навчається стисненого подання спостережень, яке подається до наступного рівня. Споріднений підхідПодібні ідеї було застосовано в нейронних мережах прямого поширення для некерованого попереднього тренування, щоби структурувати нейронну мережу, даючи їй спочатку навчитися в цілому корисних детекторів ознак[en]. Тоді мережу тренують далі керованим зворотним поширенням, класифікувати мічені дані. Глибока мережа переконань від Гінтона та ін. (2006 року) включає навчання розподілу високорівневого подання із застосуванням послідовних шарів двійкових або дійснозначних латентних змінних. Для моделювання кожного нового шару ознак вищого рівня вона застосовує обмежену машину Больцмана. Кожен новий шар гарантує збільшення нижньої межі логарифмічної правдоподібності даних, тим самим покращуючи модель, за правильного тренування. Після того, як було навчено достатньо багато шарів, цю глибоку архітектуру можна використовувати як породжувальну модель шляхом відтворення даних при здійсненні вибірки вниз по моделі («родовий прохід», англ. "ancestral pass"), починаючи зі збудження ознак найвищого рівня.[6] Гінтон повідомляє, що його моделі є ефективними для виділяння ознак зі структурованих даних високої розмірності.[7] Довга короткочасна пам'ятьІншою методикою, що зокрема застосовують для рекурентних нейронних мереж, є мережа довгої короткочасної пам'яті (ДКЧП) 1997 року від Гохрайтера[en] та Шмідгубера.[8] 2009 року глибокі багатовимірні мережі ДКЧП продемонстрували потужність глибокого навчання з багатьма нелінійними шарами, вигравши три змагання ICDAR[en] 2009 року з розпізнавання неперервного рукописного тексту без жодного попереднього знання про три різні мови, яких треба було навчитися.[9][10] Швидше апаратне забезпеченняВдосконалення апаратного забезпечення призвело до того, що з 1991 по 2015 рік обчислювальна потужність (особливо забезпечувана ГП) зросла приблизно в мільйон разів, що робить стандартне зворотне поширення прийнятним для мереж на декілька шарів глибше, ніж коли було усвідомлено проблему зникання градієнту. Шмідгубер зауважує, що це «є, в основному, тим, що нині виграє багато зі змагань з розпізнавання зображень», але що воно «не долає насправді проблему фундаментальним чином»,[11] оскільки оригінальні моделі Гінтона та інших, що бралися до проблеми зникання градієнту, було треновано на процесорі Xeon, а не на ГП.[6] За́лишкові мережіОдним із найновіших та найдієвіших способів розв'язування проблеми зникання градієнту є застосування за́лишкових нейронних мереж, або ResNet[12] (не плутати з рекурентними нейронними мережами).[13] ResNet називають нейронні мережі, в яких про́пускові з'єднання (англ. skip connections) та за́лишкові з'єднання (англ. residual connections) є частиною архітектури мережі. Ці про́пускові з'єднання дозволяють інформації градієнту проходити крізь шари, створюючи інформаційні «магістралі», в яких вихід попереднього шару/збудження додається до виходу глибшого шару. Це дозволяє інформації з раніших частин мережі передаватися до її глибших частин, що допомагає підтримувати поширення сигналу навіть у глибших мережах. Про́пускові з'єднання є критичною складовою того, що уможливило успішне тренування глибших нейронних мереж.[14] ResNet[15] видавали нижчу похибку тренування (та похибку перевірки) за свої менш глибокі аналоги, просто повторно вводячи до мережі виходи з менш глибоких рівнів, щоби компенсувати зникання даних.[14] Зауважте, що ResNet є ансамблем відносно неглибоких мереж, і не розв'язують проблему зникання градієнту шляхом зберігання плину градієнту через всю глибину мережі, — натомість, вони уникають цієї проблеми, просто будуючи ансамблі багатьох коротких мереж разом. (Ансамбль за побудовою, англ. Ensemble by Construction[16]) Інші передавальні функціїВипрямлячі, такі як ReLU, потерпають від проблеми знимання градієнту менше, оскільки вони насичуються лише в одному напрямку.[17] ІншеСвен Бенке, коли тренував свою Нейронну піраміду абстракцій (англ. Neural Abstraction Pyramid)[18] для розв'язування задач на кшталт відбудови зображень та локалізації облич, покладався лише на знак градієнту (Rprop[en]).[джерело?] Нейронні мережі можливо також оптимізовувати, застосовуючи універсальний алгоритм пошуку на просторі ваг нейронної мережі, наприклад, випадкове вгадування[en], або, систематичніше, генетичний алгоритм. Цей підхід не ґрунтується на градієнті, й уникає проблеми його зникання.[19] Див. такожПримітки
|
Portal di Ensiklopedia Dunia