Обратное распространение ошибки

Введение в глубокое обучение на Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Обратное распространение ошибки

ch2_3_v2.003.png

Введение в глубокое обучение на Python

Обратное распространение ошибки

ch2_3_v2.004.png

Введение в глубокое обучение на Python

Обратное распространение ошибки

ch2_3_v2.005.png

Введение в глубокое обучение на Python

Обратное распространение ошибки

ch2_3_v2.006.png

  • Позволяет градиентному спуску обновлять все веса нейронной сети (вычисляя градиенты для каждого веса)
  • Основан на правиле дифференцирования сложной функции
  • Важно понимать этот процесс, однако на практике вы будете использовать готовые библиотеки
Введение в глубокое обучение на Python

Процесс обратного распространения

  • Цель — оценить наклон функции потерь по каждому весу
  • Прямое распространение выполняется для вычисления предсказаний и ошибок
Введение в глубокое обучение на Python

Процесс обратного распространения

ch2_3_v2.013.png

Введение в глубокое обучение на Python

Процесс обратного распространения

ch2_3_v2.014.png

Введение в глубокое обучение на Python

Процесс обратного распространения

  • Движение слой за слоем в обратном направлении
  • Градиент веса — это произведение:
    1. Значения узла, подающего сигнал на этот вес
    2. Наклона функции потерь по узлу, в который подаётся сигнал
    3. Наклона функции активации в этом узле
Введение в глубокое обучение на Python

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

ch2_3_v2.022.png

Введение в глубокое обучение на Python

Процесс обратного распространения

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

Давайте потренируемся!

Введение в глубокое обучение на Python

Preparing Video For Download...