Скорость обучения
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
В машинном обучении и статистике скорость обучения — это параметр настройки в алгоритме оптимизации , который определяет размер шага на каждой итерации при движении к минимуму функции потерь . [1] Поскольку он влияет на то, в какой степени вновь полученная информация превосходит старую, он метафорически представляет скорость, с которой «обучается» модель машинного обучения. В литературе по адаптивному управлению скорость обучения обычно называют коэффициентом усиления . [2]
При настройке скорости обучения существует компромисс между скоростью сходимости и превышения . Хотя направление спуска обычно определяется по градиенту функции потерь, скорость обучения определяет, насколько велик шаг в этом направлении. Слишком высокая скорость обучения приведет к тому, что обучение перепрыгнет через минимумы, но слишком низкая скорость обучения либо займет слишком много времени, чтобы сходиться, либо застрянет в нежелательном локальном минимуме. [3]
Чтобы добиться более быстрой сходимости, предотвратить колебания и застревание в нежелательных локальных минимумах, скорость обучения часто варьируется во время обучения либо в соответствии с графиком скорости обучения, либо с использованием адаптивной скорости обучения. [4] Скорость обучения и ее настройки также могут различаться в зависимости от параметра, и в этом случае это диагональная матрица , которую можно интерпретировать как приближение к обратной матрице Гессе в методе Ньютона . [5] Скорость обучения связана с длиной шага, определяемой неточным поиском строки в квазиньютоновских методах и связанных с ними алгоритмах оптимизации. [6] [7]
График обучения
[ редактировать ]Начальную скорость можно оставить в качестве системной по умолчанию или выбрать с помощью ряда методов. [8] График скорости обучения меняет скорость обучения во время обучения и чаще всего меняется между эпохами/итерациями. В основном это делается с двумя параметрами: затухание и импульс . Существует множество различных графиков скорости обучения, но наиболее распространенными являются временной, пошаговый и экспоненциальный . [4]
Затухание служит для того, чтобы расположить обучение в правильном месте и избежать колебаний - ситуации, которая может возникнуть, когда слишком высокая постоянная скорость обучения заставляет обучение прыгать взад и вперед через минимум и контролируется гиперпараметром.
Импульс аналогичен мячу, катящемуся с холма; мы хотим, чтобы мяч остановился в самой низкой точке холма (соответствующей наименьшей ошибке). Импульс ускоряет обучение (увеличивая скорость обучения), когда градиент стоимости ошибки движется в одном и том же направлении в течение длительного времени, а также позволяет избежать локальных минимумов, «перекатывая» небольшие неровности. Импульс контролируется гиперпараметром, аналогичным массе мяча, который необходимо выбирать вручную: слишком высокий, и мяч перекатится через минимумы, которые мы хотим найти, слишком низкий, и он не выполнит своей цели. Формула для учета импульса более сложна, чем для затухания, но чаще всего встроена в библиотеки глубокого обучения, такие как Keras .
Графики обучения, основанные на времени, изменяют скорость обучения в зависимости от скорости обучения на предыдущей итерации времени. С учетом затухания математическая формула скорости обучения выглядит следующим образом:
где это скорость обучения, является параметром распада и это шаг итерации.
Пошаговые графики обучения изменяют скорость обучения в соответствии с некоторыми заранее заданными шагами. Формула применения распада здесь определена как:
где это скорость обучения на итерации , - начальная скорость обучения, — насколько должна меняться скорость обучения при каждом падении (0,5 соответствует уменьшению вдвое) и соответствует скорости снижения или тому, как часто следует снижать скорость (10 соответствует снижению каждые 10 итераций). Функция пола ( ) здесь сбрасывает значение своего входа до 0 для всех значений меньше 1.
Экспоненциальные графики обучения аналогичны пошаговым, но вместо шагов используется убывающая экспоненциальная функция. Математическая формула для учета распада:
где является параметром распада.
Адаптивная скорость обучения
[ редактировать ]Проблема с графиками скорости обучения заключается в том, что все они зависят от гиперпараметров, которые необходимо выбирать вручную для каждого сеанса обучения и которые могут сильно различаться в зависимости от решаемой задачи или используемой модели. Для борьбы с этим существует множество различных типов алгоритмов адаптивного градиентного спуска, таких как Adagrad , Adadelta, RMSprop и Adam. [9] которые обычно встроены в библиотеки глубокого обучения, такие как Keras . [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Мерфи, Кевин П. (2012). Машинное обучение: вероятностный взгляд . Кембридж: MIT Press. п. 247. ИСБН 978-0-262-01802-9 .
- ^ Делион, Бернар (2000). «Стохастическая аппроксимация с убывающим коэффициентом усиления: сходимость и асимптотическая теория». Неопубликованные конспекты лекций . Университет Ренна. CiteSeerX 10.1.1.29.4428 .
- ^ Будума, Нихил; Локасио, Николас (2017). Основы глубокого обучения: разработка алгоритмов машинного интеллекта следующего поколения . О'Рейли. п. 21. ISBN 978-1-4919-2558-4 .
- ^ Перейти обратно: а б Паттерсон, Джош; Гибсон, Адам (2017). «Понимание скорости обучения». Глубокое обучение: подход практика . О'Рейли. стр. 258–263. ISBN 978-1-4919-1425-0 .
- ^ Рудер, Себастьян (2017). «Обзор алгоритмов оптимизации градиентного спуска». arXiv : 1609.04747 [ cs.LG ].
- ^ Нестеров, Ю. (2004). Вводные лекции по выпуклой оптимизации: базовый курс . Бостон: Клювер. п. 25. ISBN 1-4020-7553-7 .
- ^ Диксон, LCW (1972). «Выбор длины шага — решающий фактор в производительности алгоритмов с переменной метрикой». Численные методы нелинейной оптимизации . Лондон: Академическая пресса. стр. 149–170. ISBN 0-12-455650-7 .
- ^ Смит, Лесли Н. (4 апреля 2017 г.). «Циклическая скорость обучения для обучения нейронных сетей». arXiv : 1506.01186 [ cs.CV ].
- ^ Мерфи, Кевин (2021). Вероятностное машинное обучение: введение . МТИ Пресс . Проверено 10 апреля 2021 г.
- ^ Браунли, Джейсон (22 января 2019 г.). «Как настроить скорость обучения при обучении нейронных сетей глубокого обучения» . Мастерство машинного обучения . Проверено 4 января 2021 г.
Дальнейшее чтение
[ редактировать ]- Жерон, Орельен (2017). «Градиентный спуск» . Практическое машинное обучение с помощью Scikit-Learn и TensorFlow . О'Рейли. стр. 113–124. ISBN 978-1-4919-6229-9 .
- Плагианакос, вице-президент; Магулас, Джорджия; Врахатис, Миннесота (2001). «Адаптация скорости обучения при стохастическом градиентном спуске» . Достижения в области выпуклого анализа и глобальной оптимизации . Клювер. стр. 433–444. ISBN 0-7923-6942-4 .
Внешние ссылки
[ редактировать ]- де Фрейтас, Нандо (12 февраля 2015 г.). «Оптимизация» . Лекция по глубокому обучению 6 . Оксфордский университет – через YouTube .