Подробно объясните метод градиентного спуска (галантерейные товары)

глубокое обучение
Подробно объясните метод градиентного спуска (галантерейные товары)

содержание:

  1. предисловие
  2. Стохастический градиентный спуск
  3. Классификация деревьев решений
  4. пакетный градиентный спуск
  5. Импульсный градиентный спуск
  6. Нестеров Импульсный градиентный спуск
  7. АдаГрад градиентный спуск
  8. Градиентный спуск Адама
  9. Сравнение с другими алгоритмами неограниченной оптимизации

1. Введение

Градиентный спуск — широко используемый алгоритм в машинном обучении, но это не сам алгоритм машинного обучения, а алгоритм оптимизации решения. Это в основном решает проблему поиска минимального значения.Основная идея состоит в том, чтобы непрерывно приближаться к оптимальной точке.Направление оптимизации каждого шага - это направление градиента.
Суть машинного обучения состоит в том, чтобы «накормить» данные модели и позволить модели продолжать обучение, и этот процесс обучения представляет собой процесс непрерывной оптимизации с использованием метода градиентного спуска, Наиболее распространенной глубокой нейронной сетью является использование обратного распространения градиента. , и неоднократно обновлять параметры модели до сходимости, чтобы достичь цели оптимизации модели.
Для простейших линейных моделей, таких как

Предположим, что его функция потерь
Тогда основная форма градиентного спуска

,в,скорость обучения (learning_rate). Следующим шагом является минимизация функции потерь, для чего требуетсяРуководство:

в, так что найти не сложно

который

Общие методы градиентного спуска включаютСтохастический градиентный спуск (SGD),пакетный градиентный спуск,Импульсный градиентный спуск,Нестеров Импульсный градиентный спуск,АдаГрад градиентный спуск,Градиентный спуск RMSprop,Градиентный спуск Адама. Различные методы градиентного спуска описаны ниже.

梯度下降法图示
Метод градиентного спуска

2 Стохастический градиентный спуск

Так называемый метод стохастического градиентного спуска относится к случайному извлечению пары выборок из набора выборок каждый раз.Для обновления формула обновления:

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

3 Стандартный градиентный спуск

Стандартное правило градиентного спуска заключается в обновлении параметров после вычисления суммы функций потерь в выборке:

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

4 партии градиентного спуска

Рисовать случайным образом из набора образцов каждый разПеребрать образцы (batch_size):

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

5 Импульсный градиентный спуск

Этот алгоритм также известен как метод градиентного спуска по импульсу.Основная идея заключается в следующем: процесс нахождения оптимального решения функции потерь можно рассматривать как маленький шарик, движущийся от поверхности решения (поверхности, на которой представлено значение функции потерь в системе координат) где-то вдоль поверхности.В процессе падения в низшую точку поверхности градиент функции потерь можно рассматривать как силу, приложенную к шарику, через действие силы возникает скорость, и положение мяча может быть изменено скоростью. Из закона механики F=ma можно узнать, что градиент пропорционален ускорению, а ускорение изменяет скорость, и можно получить следующий процесс обновления:

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

6 Нестеров Импульсный градиентный спуск

Метод градиентного спуска Нестерова по импульсу является усовершенствованием метода градиентного спуска по импульсу Процесс обновления выглядит следующим образом:

В методе градиентного спуска Momentum было обнаружено, что, то вы можете «заглянуть вперед» не для решения градиента текущей позиции, а для решенияградиент в . Хотя эта позиция неверна, она лучше, чем текущая позиция θ.

7 АдаГрад градиентный спуск

В методе градиентного спуска выбор скорости обучения очень важен, поскольку он связан с «размером шага» каждого шага в процессе оптимизации.Если шаг слишком велик, это вызовет колебания вокруг оптимального решения. Если шаг слишком мал, легко попасть в локальное оптимальное решение, а размер скорости обучения, применимый к разным параметрам, разный, некоторые параметры могут быть близки к оптимальным, нужно только их тонко настроить, требуется относительно небольшая скорость обучения, а некоторые параметры нуждаются в серьезной корректировке. В этом сценарии AdaGrad может адаптироваться к различным скоростям обучения. Процесс обновления выглядит следующим образом:

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

8. Градиентный спуск Адама

Адам рассматривает градиент и квадрат градиента, используя преимущества AdaGrad и RMSprop. Адам динамически регулирует скорость обучения на основе оценок градиента первого и второго порядка.

в,- среднее значение первого момента градиента,- значение нецентральной дисперсии градиента во второй момент, гдеОбычно устанавливается на 0,9,Обычно устанавливается на 0,9999,Обычно устанавливается на.
Этот метод не только сохраняет экспоненциально убывающее среднее значение предыдущих квадратов градиентов AdaDelta, но также поддерживает экспоненциально убывающее среднее значение предыдущих градиентов M(t), подобно импульсу.

9 Сравнение с другими алгоритмами неограниченной оптимизации

Алгоритмы безусловной оптимизации в машинном обучении, помимо градиентного спуска, есть еще метод наименьших квадратов, упомянутый выше, в дополнение к методу Ньютона и методу квазиньютона.
По сравнению с методом градиентного спуска и наименьших квадратов,Градиентный спуск требует выбора размера шага, а метод наименьших квадратов — нет. Метод градиентного спуска представляет собой итеративное решение, а метод наименьших квадратов заключается в вычислении аналитического решения..
Если размер выборки невелик и есть аналитическое решение, метод наименьших квадратов имеет преимущество перед методом градиентного спуска, и скорость вычислений очень высока. Однако, если размер выборки велик, трудно или медленно решать аналитическое решение с использованием метода наименьших квадратов из-за необходимости получения сверхбольшой обратной матрицы.Более выгодно использовать метод итеративного градиентного спуска.
По сравнению с методом Ньютона/квазиньютоновским методом метод градиентного спуска представляет собой итеративное решение,Однако метод градиентного спуска представляет собой градиентное решение, а метод Ньютона/квазиньютоновский метод решается с помощью обратной матрицы или псевдообратной матрицы матрицы Гессе второго порядка..
Условно говоря, использование метода Ньютона/квазиньютоновского метода сходится быстрее. Но каждая итерация занимает больше времени, чем градиентный спуск.

Прочитайте исходный текст:https://mp.weixin.qq.com/s/qtnACz8Oqq5ziNy61zbovw