Статья:

Оптимизаторы нейронных сетей

Конференция: XXII Международная научно-практическая конференция «Научный форум: инновационная наука»

Секция: Технические науки

Выходные данные
Мальцев В.А. Оптимизаторы нейронных сетей // Научный форум: Инновационная наука: сб. ст. по материалам XXII междунар. науч.-практ. конф. — № 4(22). — М., Изд. «МЦНО», 2019. — С. 61-65.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

Оптимизаторы нейронных сетей

Мальцев Всеволод Александрович
магистрант, Ростовский Государственный Экономический Университет (РИНХ), РФ, г. Ростов-на-Дону

 

NEURAL NETWORK OPTIMIZERS

 

Vsevolod Maltsev

Graduate student, Rostov State Economic University (RSUE), Russia, Rostov-on-Don

 

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

Abstract. In this paper, the author examines the various optimizers available for neural networks. They are compared, highlighting the advantages and disadvantages of each.

 

Ключевые слова: машинное обучение; нейронные сети; оптимизаторы; градиентный спуск

Keywords: machine learning; neural networks; optimizers; gradient descent.

 

Введение

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

В связи с этим верный выбор оптимизатора — важный этап в создании нейронных сетей.

Цель данной статьи — описать существующие методы, указать на преимущества и недостатки. В конечном итоге дать рекомендации по выбору оптимизатора под поставленную задачу.

Материалы и методы

Существует две основные группы оптимизаторов:

  • Алгоритмы оптимизации первого порядка
  • Алгоритмы оптимизации второго порядка

Алгоритмы оптимизации первого порядка минимизируют или максимизируют функцию потерь E (x), используя ее значения градиента по отношению к параметрам. Наиболее широко используемым алгоритмом оптимизации первого порядка является градиентный спуск. Производная первого порядка говорит нам, уменьшается или увеличивается функция в определенной точке. Производная первого порядка задает линию, касательную к точке на ее поверхности ошибок.

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

В работе будут рассмотрены семь самых используемых и цитируемых работ по оптимизаторам.

SGD

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

Стохастический градиентный спуск (SGD), выполняет обновление параметров для каждого примера обучения. Обычно это намного более быстрый метод [7].

Adagrad

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

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

Основным преимуществом Adagrad является то, что нам не нужно настраивать скорость обучения вручную. Большинство реализаций используют значение по умолчанию 0,01.

Основным недостатком является то, что скорость обучения постоянно уменьшается, то есть скорость обучения со временем сойдет на нет, ограничивая качество конечной сети [1].

AdaDelta

AdaDelta – расширение AdaGrad, которое имеет тенденцию устранять проблему ухудшения скорости обучения. Вместо того чтобы накапливать все предыдущие квадратные градиенты, Adadelta ограничи­вает окно накопленных прошлых градиентов до некоторого фиксиро­ванного размера.

В связи с этим, для AdaDelta нет необходимости устанавливать скорость обучения по умолчанию [8].

Adam

Adam - сокращение адаптивной оценки момента. Адаптивная оценка момента – еще один метод, который вычисляет адаптивные скорости обучения для каждого параметра. В дополнение к хранению экспоненци­ально убывающего среднего значения прошлых квадратов градиентов, таких как AdaDelta, Адам также сохраняет экспоненциально убывающее среднее значение прошлых градиентов M (t), аналогично импульсу.

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

AmsGrad

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

Исправление, предложенное авторами, состояло в том, чтобы заставить квадрат градиента увеличиваться, добавив еще одну переменную для отслеживания их максимумов [5]. До сих под идут обсуждения этого оптимизатора и приносимая им польза [2].

Adabound и AmsBound

Adabound и AmsBound решают другую проблему Adam – экстремальные показатели обучения, которые могут вредить оконча­тельному качеству сети. Недавние работы, такие как AMSGrad, не смогли добиться значительного улучшения по сравнению с существующими методами.

Авторы предоставляют новые варианты Adam и AMSGrad, которые называются AdaBound и AMSBound соответственно, которые используют динамические ограничения скорости обучения для достижения постепен­ного и плавного перехода от адаптивных методов к SGD и предоставляют теоретическое доказательство сходимости.

B работе на эмпирических данных показано, что эти оптимизаторы на сегодняшний день является оптимальными [4].

Результаты и обсуждение

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

За разными оптимизаторами стоят разные математические подходы. Как правило, качество работы оптимизатора зависит не только от сложности мат. аппарата, но и от изначальных весов сети. Хороший оптимизатор позволяет уменьшить влияние сторонних факторов, как изначальных весов, на окончательное качество сети.

Поэтому необходимо изучить существующие решения и выявить наиболее подходящие для конкретной задачи.

К примеру, для обучения работе с нейронными сетями не так важен оптимизатор, как быстрый результат. В таких случаях быстрый и нересурсоемкий оптимизатор как SGD хорошо подойдет.

Для более сложных проектов, где важна итоговое качество сети, рекомендуется использовать более сложный оптимизатор, такой как Adam или Adabound/AmsBound.

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

Выводы

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

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

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

 

Список литературы:
1. Duchi John, Elad Hazan, and Yoram Singer. «Adaptive subgradient methods for online learning and stochastic optimization» Journal of Machine Learning Research 12.Jul (2011): 2121-2159.
2. Gugger S, Howard J. «AdamW and Super-convergence is now the fastest way to train neural nets» // fast.ai [Электронный ресурс] URL: https://www.fast.ai/ 2018/07/02/adam-weight-decay/ (Дата обращения: 08.04.2019)
3. Kingma Diederik, and Jimmy Ba. «Adam: a method for stochastic optimization (2014).» arXiv preprint arXiv:1412.6980 15 (2015).
4. Luo Liangchen, et al. «Adaptive gradient methods with dynamic bound of learning rate.», arXiv preprint arXiv:1902.09843, 2019.
5. Reddi Sashank J., Satyen Kale, and Sanjiv Kumar. «On the convergence of adam and beyond.» (2018).
6. Ruder Sebastian. «An overview of gradient descent optimization algorithms.», arXiv preprint arXiv:1609.04747, 2016.
7. Sutskever Ilya, et al. «On the importance of initialization and momentum in deep learning.» International conference on machine learning, 2013.
8. Zeiler Matthew D. «ADADELTA: an adaptive learning rate method.» arXiv preprint arXiv:1212.5701 (2012).