Проблемы. Обучение нейронной сети состоит из оптимизации стохастических функций в многомерном пространстве. В этом контексте сложно найти эффективный с точки зрения вычислений и памяти метод со свойствами быстрой сходимости. С одной стороны, целевые функции, встречающиеся в глубоком обучении, в большинстве случаев невыпуклы и нестационарны. С другой стороны, градиенты могут быть шумными и/или разреженными.

Подход. Для эффективной стохастической оптимизации Adam, как и RMSProp и AdaGrad, использует только градиенты первого порядка. Каждый параметр обновляется своей адаптивной скоростью обучения, полученной из первой и второй моментных оценок градиента. Оба аппроксимируются экспоненциальным скользящим средним со скоростями затухания β1, β2. Поскольку правило обновления делит первый момент на квадратный корень из второго, Адам инвариантен к изменению масштаба градиента, работает с разреженными градиентами и, естественно, выполняет отжиг ступенчатого размера.

Поскольку скользящие средние инициализируются как нулевые векторы, оценка момента смещается в сторону нуля. Этому противодействует коррекция смещения, отсюда и деление на (1-b).

Заберите. Тщательный выбор размера шага: величина шага, сделанного в пространстве параметров на каждом временном шаге, приблизительно ограничена настройкой размера шага альфа. Это можно понимать как установление доверительной области вокруг текущего значения параметра, за пределами которой текущая оценка градиента не дает достаточной информации. Отношение моментов можно интерпретировать как ОСШ: малое значение уменьшает размер шага и связано с большей неопределенностью относительно оптимального направления градиента. Кроме того, эффективный размер шага не зависит от масштаба градиента, умножение g на c сокращается через долю m / srqt (v). Разница между RMSProp с импульсом и Адамом заключается в том, что RMSProp генерирует обновление своего параметра, используя импульс на перемасштабированном градиенте, тогда как обновления Адама напрямую оцениваются с использованием скользящего среднего первого и второго моментов градиента. Также в RMSProp отсутствует срок коррекции смещения. АдаГрад соответствует частному случаю Адама, где b1=0, b2=1 и отожженной версии альфы. Наконец, можно использовать экспоненциальное скользящее среднее по параметру, чтобы придать больший вес более позднему значению параметра. Это часто дает лучшую производительность обобщения и улучшает сходимость.

Результаты. Обширные эксперименты подтверждают скорость сходимости при обучении глубоких нейронных сетей. Его надежность, эффективное использование памяти и способность обрабатывать нестационарные цели, а также разреженные градиенты делают его предпочтительным оптимизатором для широкого круга задач невыпуклой оптимизации. Интуитивный гиперпараметр обычно требует небольшой настройки.

Источники. Дополнительную информацию см. в [бумаге]. Все цифры взяты из бумаги.