Импульс

Как модели на самом деле обучаются — от обычного градиентного спуска до Adam

Импульс даёт градиентному спуску память. Вместо того чтобы использовать только текущий градиент, он хранит скользящее среднее недавних градиентов и делает шаг в этом накопленном направлении.

Это помогает двумя способами: он сглаживает шумные градиенты и набирает скорость в направлениях, где градиенты раз за разом совпадают. Поперёк узкого оврага чередующиеся боковые градиенты гасят друг друга; вдоль полезного направления повторяющиеся градиенты складываются.

Шар для боулинга не забывает последний толчок. Один толчок приводит его в движение, а повторные толчки в ту же сторону наращивают скорость. Небольшие боковые тычки не разворачивают его мгновенно. Импульс делает оптимизацию похожей не на отдельные шаги, а на движение по инерции. Понаблюдайте за этим ниже: сначала запустите обычный спуск с β = 0, затем увеличьте β и запустите снова. Рикошет из стороны в сторону затухает, а путь набирает скорость вдоль лощины.

Где это встречается в MLSGD с импульсом остаётся сильным базовым методом для компьютерного зрения и масштабного обучения. Даже когда популярен Adam, понимание импульса важно, потому что первый момент Adam — это тот же импульс под другим именем.
▶ Импульс
← Обусловленность и зигзагRMSProp →