Backpropagation

Оновлено: 31.07.2023

Вступ

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

  • Зворотне поширення - це метод швидкого обчислення похідних.
.

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

Оскільки було важко зрозуміти, як налаштування ваг та упереджень впливає на загальну поведінку штучної нейронної мережі, нейромережеві додатки не набули широкого застосування до початку 2000-х років, коли комп'ютери запропонували необхідне розуміння. Їх використовували в різноманітних програмах штучного інтелекту (ШІ), включаючи обробку природної мови, оптичне розпізнавання символів і обробку зображень.

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

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

Розповсюдження в часі

  • Розповсюдження працює, виражаючи повну нейронну мережу як функцію функції

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

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

Однак рекурентну нейронну мережу можна "розгорнути" і розглядати як нейронну мережу прямого поширення. Для представлення кожного часового кроку використовується одна копія вихідної нейронної мережі.

Поширення в часі досягається шляхом розгортання рекурентної нейронної мережі та представлення її як нейронної мережі прямого поширення.

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

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

Реалізація зворотного розмноження

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

  • Декілька методів керованого навчання використовують алгоритми зворотного поширення в нейронних мережах.
.

Розпізнавання обличчя

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

Розпізнавання облич було детально розглянуто Пархі, Відалді та Зіссерманом у 2015 році. Вони використовували 18-шарову згорткову нейронну мережу та базу даних облич знаменитостей.

Спочатку для навчання мережі було використано метод зворотного розповсюдження для 18 шарів. Зображення подавалися в мережу партіями, визначалася функція втрат і обчислювалися градієнти спочатку для шару 18, потім для шару 1 і так далі. Ваги мережі змінювалися після кожної партії фотографій.

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

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

Розпізнавання мови

Для розпізнавання мовлення рекурентне поширення використовувалося різними способами. В Японії корпорація Sony створила приклад реалізації системи розпізнавання мови для англійської та японської мов, яка може працювати на вбудованих пристроях. Користувачі можуть давати системі лише обмежену кількість команд.

За допомогою швидкого перетворення Фур'є вхідний звуковий потік розбивається на часові відрізки. Сила звуку на різних частотах подається на п'ятишарову нейронну мережу.

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