заглушки Що таке зворотне поширення? - Об'єднуйтесь.AI
Зв'язатися з нами
Майстер-клас ШІ:

AI 101

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

mm
оновлений on

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

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

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

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

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

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

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

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

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

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

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

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

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

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

error = (expected_output – actual_output) * нахил вихідного значення нейрона

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

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

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

Блогер і програміст зі спеціальностями в машинне навчання та Глибоке навчання теми. Деніел сподівається допомогти іншим використовувати силу ШІ для суспільного блага.