Градиент \(\nabla_\theta\mathcal{L}\) указывает направление наискорейшего роста функции потерь. Обучение идёт в противоположную сторону. Базовый шаг — градиентный спуск:
Полный градиент по всей выборке честен, но дорог. Стохастический градиентный спуск (SGD) оценивает его по мини-пакету \(\mathcal{B}\):
Шум оценки даже полезен: он помогает выбираться из острых минимумов.
Импульс
Momentum копит экспоненциальное среднее градиентов, как скорость шарика, катящегося по поверхности:
Типичные значения \(\mu \approx 0.9\). Nesterov смотрит градиент чуть впереди по направлению скорости — часто сходится устойчивее.
Адаптивные методы
RMSProp делит шаг на корень из среднего квадрата градиента по каждой координате:
Adam объединяет импульс и адаптивный масштаб. Сначала считают смещённые моменты
затем поправляют смещение в начале обучения и делают шаг:
Канонические гиперпараметры: \(\beta_1=0.9\), \(\beta_2=0.999\), \(\varepsilon=10^{-8}\).
Расписание скорости обучения
Популярна косинусная анниляция после прогрева:
Слишком большой \(\eta\) даёт расходимость (лосс становится NaN). Слишком маленький — сеть почти не учится.
Weight decay
В чистом \(L2\)-штрафе градиент содержит \(\lambda\theta\). В AdamW затухание отделяют от адаптивного масштаба: