Нейросеть — композиция функций. Производную композиции даёт цепное правило. Для скаляров
Для векторов появляется якобиан. Если \(\mathbf{u}=g(\mathbf{x})\), \(\ell=f(\mathbf{u})\), то
Backprop — аккуратный порядок умножения этих якобианов: от функции потерь к входу, переиспользуя уже посчитанные промежуточные активации.
Дельта слоя
Обозначим \(\delta^{(\ell)}=\nabla_{\mathbf{z}^{(\ell)}}\ell\). Тогда для MLP:
Градиенты параметров собираются из дельты и активации предыдущего слоя:
Почему это дёшево
Наивный подсчёт каждой частной производной по отдельности стоил бы примерно столько же, сколько \(|\theta|\) прямых проходов. Обратный режим автоматического дифференцирования считает весь градиент за время того же порядка, что и один прямой ход. Константа обычно от 2 до 5.
Исчезающие и взрывающиеся градиенты
Повторное умножение якобианов даёт произведение
Если спектральный радиус множителей меньше единицы, сигнал затухает; если больше — взрывается. Отсюда ReLU, residual-связи и нормализация.
Residual-блок
ResNet добавляет обходной путь:
Градиент по входу содержит единицу плюс обычный путь через \(\mathcal{F}\). Единица не даёт сигналу полностью исчезнуть.