Зворотне поширення на практиці

Вступ до Deep Learning у Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

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

ch2_4_v2.002.png

Вступ до Deep Learning у Python

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

ch2_4_v2.003.png

Вступ до Deep Learning у Python

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

ch2_4_v2.004.png

Вступ до Deep Learning у Python

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

ch2_4_v2.010.png

Вступ до Deep Learning у Python

Обчислення похилів для будь-якої ваги

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

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

ch2_4_v2.016.png

Вступ до Deep Learning у Python

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

ch2_4_v2.017.png

Вступ до Deep Learning у Python

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

ch2_4_v2.018.png

Вступ до Deep Learning у Python

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

ch2_4_v2.019.png

Вступ до Deep Learning у Python

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

ch2_4_v2.020.png

Вступ до Deep Learning у Python

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

ch2_4_v2.021.png

Вступ до Deep Learning у Python

Зворотне поширення: підсумок

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

Стохастичний градієнтний спуск

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

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

Вступ до Deep Learning у Python

Preparing Video For Download...