Адаптивный метод: хранит средние градиента и его квадрата, подбирая шаг для каждого параметра.
- адаптивный шаг: направление от инерции, масштаб — от типичной величины градиента
- скользящее среднее градиента (инерция), скорректированное на смещение первых шагов
- скользящее среднее квадрата градиента: большие градиенты уменьшают шаг, малые — увеличивают
Ключевые тезисы
- Работает «из коробки» при lr ≈ 1e-3 почти на любой задаче.
- Быстро сходится, но иногда обобщает хуже SGD с momentum.
- Bias correction компенсирует смещение оценок на первых шагах.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Механика метода
Два скользящих средних и адаптивный шаг для каждого параметра.
- скорость обучения — длина шага оптимизатора
- коэффициент инерции (momentum): доля прошлого направления
- малая величина: шум, допуск или защита от деления на ноль
- скользящие средние градиента и его квадрата в адаптивных оптимизаторах
- веса модели — то, что подбирается при обучении
- — инерция (первый момент), — масштаб градиента (второй момент).
- Деление на делает шаг большим там, где градиенты малы, и наоборот — это лечит эффект оврага.
- Bias correction нужен потому, что и инициализированы нулями и первые шаги были бы недооценены.
- Дефолты: , , , .
2Когда Adam хуже SGD
Быстрая сходимость не равна лучшему обобщению.
В задачах компьютерного зрения SGD с momentum и хорошим расписанием часто даёт лучшее итоговое качество, хотя сходится медленнее. Одна из гипотез: адаптивный шаг приводит в более «острые» минимумы.
Память: Adam хранит два состояния на каждый параметр. Для модели на 7 млрд параметров это ~56 ГБ в fp32 только под оптимизатор — отсюда 8-битные оптимизаторы и ZeRO-шардинг.
Связанные темы
Оптимизаторы
Optimization85%
Оптимизация · ОсновыПоиск параметров, минимизирующих функцию потерь. Свойства задачи — выпуклость, гладкость, обусловленность — определяют, насколько это просто.
Optimizers85%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
Gradient Descent85%
Градиентный спуск · Оптимизация обученияИтеративный шаг против градиента функции потерь — базовый алгоритм обучения.
SGD85%
Стохастический градиентный спуск · Оптимизация обученияГрадиент оценивается по мини-батчу: быстрее, шумнее и, как оказалось, полезнее для обобщения.
Momentum85%
Момент · Оптимизация обученияНакопление экспоненциального среднего градиентов — движение по инерции сквозь колебания.
AdamW85%
AdamW · Оптимизация обученияAdam с корректно отделённым weight decay — регуляризация применяется к весам, а не к градиенту.
RMSProp85%
RMSProp · Оптимизация обученияНормирует шаг на скользящее среднее квадратов градиента, выравнивая масштаб обновлений.
Learning Rate Scheduling85%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Batch size85%
Размер батча · Оптимизация обученияЧисло объектов на одно обновление весов: влияет на скорость, память и качество обобщения.