ШІ 101

Що таке зворотнє поширення?

mm

Що таке зворотнє поширення?

Системи глибокого навчання здатні вивчати надзвичайно складні закономірності, і вони досягають цього,调整ючи свої ваги. Як саме ваги глибокої нейронної мережі регулюються? Вони регулюються за допомогою процесу, який називається зворотнім поширенням. Без зворотнього поширення глибокі нейронні мережі не могли б виконувати завдання, такі як розпізнавання зображень та інтерпретація природної мови. Поняття того, як працює зворотнє поширення, є важливим для розуміння глибоких нейронних мереж загалом, тому давайте обговоримо зворотнє поширення та побачимо, як цей процес використовується для регулювання ваг мережі.

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

Мета зворотнього поширення

Давайте почнемо з визначення мети зворотнього поширення. Ваги глибокої нейронної мережі – це сила зв’язків між одиницями нейронної мережі. Коли нейронна мережа встановлюється, робляться припущення про те, як одиниці в одному шарі пов’язані з шарами, що приєднуються до нього. Коли дані рухаються через нейронну мережу, ваги обчислюються, і робляться припущення. Коли дані досягають останнього шару мережі, робиться передбачення про те, як особливості пов’язані з класами в наборі даних. Різниця між передбаченими значеннями та фактичними значеннями – це помилка/втрата, а мета зворотнього поширення зменшити втрату. Це досягається шляхом регулювання ваг мережі, роблячи припущення більш подібними до справжніх відносин між вхідними особливостями.

Навчання глибокої нейронної мережі

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

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

Активація = сума(вага * вхід) + смещення

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

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

Зворотнє поширення в мережі

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

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

помилка = (очікуваний_вихід – фактичний_вихід) * нахил виходу нейрона

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

Після того, як помилки для мережі обчислені, ваги в мережі повинні бути оновлені. Як згадувалося раніше, розрахунок помилки включає визначення нахилу виходу. Після того, як нахил обчислений, процес, відомий як градієнтний спуск, можна використовувати для регулювання ваг мережі. Градієнт – це нахил, крутизну якого можна виміряти. Нахил обчислюється шляхом побудови “y над” або “підйом” над “бігом”. У випадку нейронної мережі та швидкості помилки “y” – це обчислена помилка, а “x” – це параметри мережі. Параметри мережі мають відносини з обчислюваними значеннями помилок, і при регулюванні ваг мережі помилка збільшується або зменшується.

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

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.