В предыдущем посте, Алгоритмы градиентного спуска и стохастического градиентного спуска для нейронных сетей, мы обсудили, как алгоритм стохастического градиентного спуска может улучшить простой алгоритм градиентного спуска с точки зрения сложности и обобщения. Напомним правило обновления стохастического градиентного спуска на каждой итерации t,

где θ - параметр, который алгоритм будет настраивать для достижения приемлемых потерь, g - градиенты, которые показывают противоположное направление, и насколько мы должны настроить параметры, чтобы минимизировать потери. , а η - скорость обучения, гиперпараметр, который обозначает, насколько мы настраиваем наши параметры относительно градиентов или насколько мы доверяем градиентам.

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

При обучении нейронных сетей метод Momentum может использоваться для смягчения этих проблем и ускорения обучения по сравнению с обычным стохастическим градиентным спуском. Представленный в 1964 году Поляком, метод Momentum - это метод, который может ускорить градиентный спуск, принимая во внимание предыдущие градиенты в правиле обновления на каждой итерации. Это можно четко наблюдать в уравнении правила обновления на каждой итерации, т. Е.

где v - член скорости, направление и скорость, с которой параметр должен быть изменен, а α - затухающий гиперпараметр, который определяет, насколько быстро будут распадаться накопленные предыдущие градиенты. , или насколько мы доверяем накопленным предыдущим градиентам. Если α намного больше, чем η, накопленные предыдущие градиенты будут доминировать в правиле обновления, поэтому градиент на итерации не будет быстро менять текущее направление. Это хорошо в условиях, когда градиент зашумлен, потому что градиент навсегда останется в истинном направлении. С другой стороны, если α намного меньше, чем η, накопленные предыдущие градиенты могут действовать как коэффициент сглаживания для градиента.

Другой метод, тесно связанный с методом Momentum, - это ускоренный градиент Нестерова. Разница между методом Momentum и Nesterov Accelerated Gradient заключается в фазе вычисления градиента. В методе Momentum градиент вычислялся с использованием текущих параметров θ 𝑡

тогда как в Nesterov Accelerated Gradient мы применяем скорость vt к параметрам θ для вычисления промежуточных параметров θ̃. Затем мы вычисляем градиент, используя промежуточные параметры

После того, как мы получили градиенты, мы обновляем параметры, используя аналогичное правило обновления с методом Momentum (уравнение 2), с той лишь разницей, что градиенты

Мы можем рассматривать ускоренные градиенты Нестерова как поправочный коэффициент для метода Momentum. Рассмотрим случай, когда добавленная к параметрам скорость дает немедленные нежелательные большие потери, например, случай взрывающегося градиента. В этом случае метод Momentum может быть очень медленным, поскольку выбранный путь оптимизации демонстрирует большие колебания. В случае Nesterov Accelerated Gradient вы можете просмотреть это как заглядывать через промежуточные параметры, где добавленная скорость будет опережать параметры. Если обновление скорости приводит к большим потерям, градиенты направят обновление обратно в сторону θ 𝑡. Это поможет Nesterov Accelerated Gradient избежать колебаний. Геометрическую визуализацию можно увидеть на рис.1.

Различие между методом Momentum и обновлениями ускоренного градиента Нестерова было показано Sutskever et al. в теореме 2.1, т.е. оба метода различаются только тогда, когда скорость обучения η достаточно велика. Когда скорость обучения η относительно велика, Ускоренные градиенты Нестерова допускают большую скорость затухания α, чем метод Momentum, при этом предотвращая колебания. Теорема также показывает, что и метод Momentum, и ускоренный градиент Нестерова становятся эквивалентными, когда η мало.

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

использованная литература

  1. Б. Т. Поляк, «Некоторые методы ускорения сходимости итерационных методов» (1964).
  2. И. Суцкевер, Дж. Мартенс, Г. Даль, Г. Хинтон, «О важности инициализации и импульса в глубоком обучении» (2013)
  3. И. Гудфеллоу, Ю. Бенжио, А. Курвиль, «Глубокое обучение» (2016)