Вопрос или проблема
В алгоритме оптимизатора Adam обновления параметров вычисляются следующим образом:
$\theta_t \leftarrow \theta_{t-1} – \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}$
Где $\hat{m}_t$ является смещенно-скорректированным скользящим средним градиентов:
$\hat{m}_t \propto \beta_1 m_{t-1} + (1 – \beta_1) g_t$
А $\hat{v}_t$ является смещенно-скорректированным скользящим средним несмещенной дисперсии:
$\hat{v}_t \propto \beta_2 m_{t-1} + (1 – \beta_2) g_t^2$
Я понимаю идею, что, если среднее значение велико по сравнению с дисперсией, градиенты могут быть более надежными, и следует делать большие шаги. Но в этом случае разве не было бы логичнее использовать центровую дисперсию вместо несмещенной дисперсии в указанной формуле?
Я искал ответ и нашел эту тему, но всё равно не был убежден ответом. По сути, объяснение состояло в том, что несмещенная дисперсия примерно равна централизованной дисперсии, поскольку средний градиент примерно равен нулю. Но если средний градиент равен нулю, это означает, что вы одинаково вероятно можете двигаться в любом направлении, так что вы ничего не оптимизируете…
Так почему оптимизатор Adam использует несмещенную дисперсию? Почему не использовать централизованную дисперсию, которая казалась бы гораздо более логичной?
Если честно, у вас нет доступа к среднему значению. Когда мы говорим о дисперсии, мы говорим о дисперсии распределения. Распределение в этом случае — это полное собрание градиентов на каждом шаге процесса оптимизации, о которых вы не знаете, пока не завершите.
Ответ или решение
Вопрос о том, почему в алгоритме оптимизации Adam используются обновления параметров, основанные на некоррелированной дисперсии, а не наCentered variance, является важным для понимания механики работы этого алгоритма.
Фон и контекст
Adam (Adaptive Moment Estimation) — это один из современных методов оптимизации, который комбинирует идеи из алгоритмов адаптивного градиентного спуска, таких как Adagrad и RMSprop. Он использует не только момент градиентов, но и их дисперсию для регулирования шагов обновления параметров. Параметры обновляются согласно формуле:
[
\thetat \leftarrow \theta{t-1} – \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}
]
где (\hat{m}_t) — это смещённый коррелированный момент средних значений градиентов, а (\hat{v}_t) — смещённый коррелированный момент некоррелированной дисперсии.
Причины использования некоррелированной дисперсии
Основная причина, по которой Adam использует некоррелированную дисперсию, заключается в том, что она позволяет лучше учитывать изменчивость градиентов по сравнению сCentered variance. При этом важно учитывать, что в контексте оптимизации в чаще всего среднее значение градиентов ((\hat{m}_t)) может стремиться к нулю, особенно в начале обучения. Это значит, что при обучении модель будет сталкиваться с градиентами, которые могут иметь разный порядок величины, и использованиеCentered variance может привести к неэффективному или громоздкому процессу обновления.
-
Статистическая природа. Некоррелированная дисперсия быстрее реагирует на изменения в величинах градиентов. При большом количестве итераций градиенты оказываются разными, и использование некоррелированной дисперсии позволяет более точно оценивать изменчивость этих градиентов.
-
Скорость сходимости. Как было указано в вашем вопросе, когда среднее значение больших градиентов значительно выше нуля, это означает, что мы можем более эффективно обновлять параметры, ориентируясь на величину градиентов. Некоррелированная дисперсия модифицирует шаг обновления, основываясь на факторах, которые влияют на скорость сходимости.
-
Смещение. ИспользованиеCentered variance может вносить дополнительное смещение, особенно в случаях, когда градиенты многократно пересекают вокруг нуля. В таких ситуациях некоррелированная дисперсия позволяет избежать накопления этого смещения и обеспечивает более надежное управление шагом обновления.
-
Обработки нуля. Поскольку в случаеCentered variance вы должны знать среднее значение, а в данной ситуации оно может быть трудно вычисляемым в реальном времени, некоррелированная дисперсия предоставляет простую альтернативу, которая учитывает фактическую изменчивость градиентов непосредственно в ходе работы.
Заключение
Использование некоррелированной дисперсии в алгоритме Adam объясняется необходимостью более надежного регулирования шага обновления параметров на основе фактической изменчивости градиентов. Это позволяет оптимизировать процесс обучения, избегая недостатков, связанных сCentered variance, таких как вероятность смещения и сложность вычислений. Adam продемонстрировал свою эффективность в разнообразных задачах машинного обучения, и его успех связан с эффективностью методов, использующих некоррелированную дисперсию для адаптации и контроля шага обновления.