ADAM или адаптивный импульс работает следующим образом:
Скорость v
накапливает градиентные элементы.
Когда вы посмотрите уравнения Адама в этой статье , вы увидите, что размер шага имеет верхнюю границу скорости обучения. В статье они называют эту характеристику Адама: «его тщательный выбор размера шага» (обсуждается в разделе 2.1 статьи).
Это именно то, что вы наблюдаете здесь как «существенные равные показатели» в течение первых 5 шагов, показатели в Адаме накапливаются (накапливаются) по нескольким предыдущим градиентам, в то время как размер шага ограничивается самой скоростью обучения.
Подробнее о том, как переменная рассчитывается и обновляется в Tensorflow (см. Уравнения здесь ).
Дополнительные замечания по Адаму:
Чем больше α
относительно скорости обучения, тем больше предыдущих градиентов влияют на текущее направление.
В sgd размер шага был просто нормой градиента, умноженного на скорость обучения.
В Адаме размер шага зависит от того, насколько велик и как
выровнены последовательности градиентов. Размер шага является наибольшим, когда много последовательных
градиенты указывают точно в одном направлении. Если алгоритм импульса всегда
наблюдает градиент g
, затем он в конечном итоге будет ускоряться в направлении −g
.
Это из Книги Глубокого Обучения Иана Гудфеллоу, более подробно вы можете прочитать об Адаме здесь .