XYZNOT

Статьи · arXiv 1412.6980

Adam: Метод стохастической оптимизации

Adam: A Method for Stochastic Optimization

Опубликовано cs.LG arXivPDF

Читать с переводом и ИИ

Кратко в трёх строках

  1. 🎯 Стохастический градиентный спуск испытывает трудности при наличии шумных градиентов, нестационарных функций и плохо обусловленной кривизны по различным параметрам.
  2. 🔧 Вычисляет индивидуальные адаптивные скорости обучения с помощью экспоненциально затухающих скользящих средних градиентов и их квадратов, используя важную коррекцию смещения инициализации.
  3. 📈 Доказывает границу регрета для выпуклых онлайн-постановок и превосходит SGD с моментумом, AdaGrad и RMSProp на бенчмарках глубокого обучения.

Аннотация

Мы представляем Adam — алгоритм оптимизации первого порядка для стохастических целевых функций на основе градиентов, использующий адаптивные оценки моментов низших порядков. Метод прост в реализации, вычислительно эффективен, требует мало памяти, инвариантен к диагональному масштабированию градиентов и отлично подходит для задач с большими объемами данных и/или параметров. Он также применим к нестационарным целевым функциям и задачам с сильно зашумленными и/или разреженными градиентами. Гиперпараметры метода имеют интуитивную интерпретацию и обычно практически не требуют настройки. Рассматриваются связи со смежными алгоритмами, послужившими вдохновением для создания Adam. Мы также анализируем теоретические свойства сходимости алгоритма и приводим границу регрета (regret bound) для скорости сходимости, сопоставимую с лучшими известными результатами в рамках онлайн-выпуклой оптимизации. Эмпирические результаты показывают, что Adam отлично работает на практике и превосходит другие методы стохастической оптимизации. Наконец, мы описываем AdaMax — вариант Adam на основе бесконечной нормы.

Оригинальная аннотация (англ.)

We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. The method is straightforward to implement, is computationally efficient, has little memory requirements, is invariant to diagonal rescaling of the gradients, and is well suited for problems that are large in terms of data and/or parameters. The method is also appropriate for non-stationary objectives and problems with very noisy and/or sparse gradients. The hyper-parameters have intuitive interpretations and typically require little tuning. Some connections to related algorithms, on which Adam was inspired, are discussed. We also analyze the theoretical convergence properties of the algorithm and provide a regret bound on the convergence rate that is comparable to the best known results under the online convex optimization framework. Empirical results demonstrate that Adam works well in practice and compares favorably to other stochastic optimization methods. Finally, we discuss AdaMax, a variant of Adam based on the infinity norm.

Разбор статьи

Проблема и мотивация

Стохастическая оптимизация первого порядка лежит в основе современного машинного обучения. Однако стандартный стохастический градиентный спуск (SGD) применяет единый размер шага ко всем координатам, что делает его чувствительным к масштабированию градиентов, плохо обусловленной кривизне и стохастическому шуму. Хотя AdaGrad адаптирует шаг по координатам с помощью накопленных квадратов градиентов, его скорость обучения быстро затухает до нуля в глубоких архитектурах. RMSProp и AdaDelta решают проблему этого затухания с помощью экспоненциальных скользящих средних, однако для RMSProp отсутствуют теоретические гарантии в нестационарных условиях, и ни один из этих методов не учитывает смещение инициализации, когда скользящие средние стартуют с нуля.

Авторы стремились объединить преимущества двух парадигм: AdaGrad/RMSProp (адаптация к разреженным и различающимся по масштабу градиентам) и классического Momentum (ускорение сходимости вдоль пологих направлений и сглаживание шума).

Ключевые идеи

  • Оценка первого и второго моментов: Adam поддерживает экспоненциальные скользящие средние как самого градиента (первый начальный момент ), так и квадрата градиента (второй нецентрированный момент ).
  • Коррекция смещения (Bias Correction): Поскольку и инициализируются нулевыми векторами, их стандартные скользящие средние смещены к нулю — особенно на ранних итерациях или когда коэффициенты затухания () близки к 1. Adam аналитически корректирует это смещение делением на и .
  • Инвариантность к масштабированию градиента: Эффективное направление шага приближенно масштабируется отношением сигнал/шум , что обеспечивает естественное ограничение величины шага и инвариантность к диагональному масштабированию градиентов.
  • AdaMax: Обобщение отслеживания градиентов в норме для на норму дает AdaMax — численно стабильный вариант, в котором не требуется коррекция смещения для второго момента.

Метод (с ключевыми формулами)

На шаге , при заданной целевой функции , градиенте , размере шага , коэффициентах экспоненциального затухания и малой константе :

  1. Обновление смещенной оценки первого момента:

  2. Обновление смещенной оценки второго начального момента:

  3. Вычисление скорректированных по смещению оценок моментов:

  4. Обновление параметров:

Значения гиперпараметров по умолчанию, рекомендованные в статье: , , и .

Результаты (с важнейшими показателями)

  • Теоретическая сходимость: В рамках онлайн-выпуклой оптимизации с ограниченными градиентами и ограниченной областью параметров алгоритм Adam достигает теоретической границы регрета , что обеспечивает среднюю скорость снижения регрета порядка .
  • Логистическая регрессия и многослойные перцептроны: На задаче классификации MNIST Adam сходился быстрее, чем AdaGrad, RMSProp и SGD с моментумом Нестерова на различных архитектурах, демонстрируя минимальную чувствительность к изменению гиперпараметров.
  • Сверточные нейронные сети: На датасете CIFAR-10 с использованием многослойной CNN (с dropout и пулингом) Adam показал более быстрое снижение функции потерь на обучении и достиг меньшего финального значения потерь, чем RMSProp и AdaDelta.

Ограничения и открытые вопросы

  • Выпуклая теория против невыпуклой: Теоретические границы регрета предполагают выпуклость функций; теоретическая сходимость на невыпуклых задачах глубокого обучения формально доказана не была.
  • Последующие теоретические неточности: Более поздние работы (например, Reddi et al., 2018) показали, что в доказательстве сходимости Adam есть пробел, из-за которого разность не обязательно является положительно полуопределенной, что в редких случаях ведет к расходимости на практике (это привело к появлению таких модификаций, как AMSGrad).
  • Разрыв в обобщающей способности (Generalization Gap): Последующие эмпирические исследования показали, что хотя Adam обучается на начальных этапах быстрее, тщательно настроенный SGD с моментумом нередко находит решения, обладающие чуть лучшей обобщающей способностью в ряде задач классификации изображений.

Ключевые термины

Adam
Алгоритм градиентной стохастической оптимизации первого порядка, название которого происходит от 'adaptive moment estimation'.
First Moment Vector (Вектор первого момента)
Экспоненциально затухающее скользящее среднее прошлых стохастических градиентов, представляющее собой оценку среднего направления.
Second Raw Moment Vector (Вектор второго начального момента)
Экспоненциально затухающее скользящее среднее прошлых поэлементных квадратов стохастических градиентов, отслеживающее нецентрированную дисперсию.
Bias Correction (Коррекция смещения)
Масштабирование скользящих средних с помощью коэффициента для компенсации смещения к нулю, вызванного инициализацией на ранних шагах оптимизации.
Signal-to-Noise Ratio (SNR, Отношение сигнал/шум)
Отношение , которое уменьшает размер шага вдоль направлений с высокой неопределенностью и увеличивает его вдоль уверенных направлений.
AdaMax
Вариант алгоритма Adam, в котором оценка второго момента на основе нормы обобщается на случай нормы .
Regret Bound (Граница регрета)
Теоретическая метрика, измеряющая разность между накопленными потерями алгоритма и потерями наилучшего фиксированного параметра апостериори.

Вопросы

Зачем в Adam необходима коррекция смещения?

Поскольку и инициализируются нулевыми векторами, скользящие средние сильно смещены к нулю на первых итерациях (особенно когда и близки к 1). Деление на и корректирует математическое ожидание оценки, приводя его в соответствие с истинным моментом.

Какие гиперпараметры по умолчанию рекомендуются для Adam?

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

Чем Adam отличается от RMSProp?

RMSProp использует экспоненциальное скользящее среднее квадратов градиентов, но не учитывает скользящее среднее первых моментов (моментум) и не выполняет коррекцию смещения при инициализации.

Что такое AdaMax?

AdaMax обобщает учет второго момента в норме , используемый в Adam, на норму , заменяя скользящую сумму квадратов градиентов на скользящий максимум их абсолютных значений, что исключает необходимость коррекции смещения для второго момента.

Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.

Читать с переводом и ИИ