Цепное правило: скалярная композиция

Многомерный анализ с первых принципов

Снимите с обратного распространения математику — и найдёте этот модуль. Многомерное цепное правило говорит, как дифференцировать композицию функций, что и есть единственное, что делает autograd. Начнём со скалярной версии: как изменение одного входа рябью проходит через промежуточные переменные к выходу.

Пусть z зависит от промежуточных y₁, y₂, …, которые зависят от входов x. Чтобы найти, как z меняется с одним входом, просуммируйте по всем путям от входа к выходу, умножая производные вдоль каждого пути:

Каждое слагаемое (∂z/∂yₖ)(∂yₖ/∂xᵢ) — вклад одного маршрута; складываете все маршруты. Если путь один, сворачивается к обычному 1D-цепному правилу.

Где это встречается в MLЭта сумма по путям — в точности обратный проход через один узел сети. Каждая промежуточная yₖ — активация нейрона; ∂z/∂yₖ — градиент, текущий обратно в неё; ∂yₖ/∂xᵢ — локальная производная операции. Умножьте и сложите — и градиент распространён на шаг назад. Повторите по всему графу — и модель обучена.
▶ Цепное правило: скалярная композиция
← Геометрия гессианаЦепное правило: матричная форма →