Зворотне поширення

Вступ до Deep Learning у Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Зворотне поширення

ch2_3_v2.003.png

Вступ до Deep Learning у Python

Зворотне поширення

ch2_3_v2.004.png

Вступ до Deep Learning у Python

Зворотне поширення

ch2_3_v2.005.png

Вступ до Deep Learning у Python

Зворотне поширення

ch2_3_v2.006.png

  • Дає змогу градієнтному спуску оновлювати всі ваги в нейромережі (отримуючи градієнти для всіх ваг)
  • Ґрунтується на правилі ланцюга з математичного аналізу
  • Важливо розуміти процес, але зазвичай ви використовуватимете бібліотеку, що це реалізує
Вступ до Deep Learning у Python

Процес зворотного поширення

  • Оцінюємо нахил функції втрат відносно кожної ваги
  • Виконайте пряме поширення, щоб обчислити передбачення й помилки
Вступ до Deep Learning у Python

Процес зворотного поширення

ch2_3_v2.013.png

Вступ до Deep Learning у Python

Процес зворотного поширення

ch2_3_v2.014.png

Вступ до Deep Learning у Python

Процес зворотного поширення

  • Рухайтесь назад по одному шару за раз
  • Градієнт для ваги — це добуток:
    1. Значення вузла, що подається на цю вагу
    2. Нахил функції втрат відносно вузла, у який вона входить
    3. Нахил функції активації у цьому вузлі
Вступ до Deep Learning у Python

Функція активації ReLU

ch2_3_v2.022.png

Вступ до Deep Learning у Python

Процес зворотного поширення

  • Також потрібно відстежувати нахили функції втрат відносно значень вузлів
  • Нахил для значення вузла — це сума нахилів усіх ваг, що з нього виходять
Вступ до Deep Learning у Python

Давайте потренуємось!

Вступ до Deep Learning у Python

Preparing Video For Download...