Выбор ответа Senior SGD, momentum и Adam обновлено

Когда SGD лучше Adam

Вопрос

В каких случаях SGD с momentum всё ещё выбирают вместо Adam?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В части задач CV (CNN с BatchNorm): с хорошим расписанием SGD обобщает не хуже. Классические CNN (ResNet на ImageNet) часто учат SGD с momentum и хорошим расписанием, и он даёт отличное обобщение.

Варианты ответа

  1. Для трансформеров, потому что Adam на них расходится без долгого warmup и клиппинга
  2. Когда данные очень разреженные, например эмбеддинги в NLP
  3. Никогда: Adam строго лучше на любой задаче и при любом расписании learning rate
  4. В части задач CV (CNN с BatchNorm): с хорошим расписанием SGD обобщает не хужеправильный ответ

Разбор

Классические CNN (ResNet на ImageNet) часто учат SGD с momentum и хорошим расписанием, и он даёт отличное обобщение. Плюс Adam хранит два дополнительных тензора на каждый параметр, а SGD с momentum один. Однако для трансформеров стандарт AdamW.

  • Для трансформеров как раз нужен Adam/AdamW, SGD на них учится плохо.
  • Для разреженных признаков (эмбеддинги, NLP) адаптивные методы обычно выигрывают.
  • Универсально лучшего оптимизатора нет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.