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

Поправка смещения в Adam

Вопрос

Зачем в Adam делят m и v на (1 - β₁ᵗ) и (1 - β₂ᵗ)?

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

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

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

Коротко

Правильный ответ: m и v стартуют с нуля, и в первые шаги их оценки занижены; поправка компенсирует. Скользящее среднее, начатое с нуля, в первые шаги смещено к нулю.

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

  1. m и v стартуют с нуля, и в первые шаги их оценки занижены; поправка компенсируетправильный ответ
  2. Чтобы learning rate убывал со временем как 1/(1 - βᵗ) без отдельного расписания
  3. Чтобы избежать деления на ноль в первые шаги, когда v ещё не накопил градиенты
  4. Чтобы градиенты разных параметров стали одинаковыми по масштабу

Разбор

Скользящее среднее, начатое с нуля, в первые шаги смещено к нулю. Например, при β₂ = 0.999 после первого шага v = 0.001·g², в тысячу раз меньше правды. Деление на (1 - βᵗ) возвращает несмещённую оценку, а при большом t поправка стремится к 1.

  • Затухание lr это отдельное расписание.
  • От деления на ноль защищает ε.
  • Выравнивание масштабов делает деление на √v, а не поправка.

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

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