Выбор ответа Middle SGD, momentum и Adam обновлено
Поправка смещения в Adam
Вопрос
Зачем в Adam делят m и v на (1 - β₁ᵗ) и (1 - β₂ᵗ)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: m и v стартуют с нуля, и в первые шаги их оценки занижены; поправка компенсирует. Скользящее среднее, начатое с нуля, в первые шаги смещено к нулю.
Варианты ответа
- m и v стартуют с нуля, и в первые шаги их оценки занижены; поправка компенсируетправильный ответ
- Чтобы learning rate убывал со временем как 1/(1 - βᵗ) без отдельного расписания
- Чтобы избежать деления на ноль в первые шаги, когда v ещё не накопил градиенты
- Чтобы градиенты разных параметров стали одинаковыми по масштабу
Разбор
Скользящее среднее, начатое с нуля, в первые шаги смещено к нулю. Например, при β₂ = 0.999 после первого шага v = 0.001·g², в тысячу раз меньше правды. Деление на (1 - βᵗ) возвращает несмещённую оценку, а при большом t поправка стремится к 1.
- Затухание lr это отдельное расписание.
- От деления на ноль защищает ε.
- Выравнивание масштабов делает деление на √v, а не поправка.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.