Оптимизация гиперпараметров
В машинном обучении оптимизация гиперпараметров [ 1 ] или настройка — это проблема выбора набора оптимальных гиперпараметров для алгоритма обучения. Гиперпараметр — это параметр , значение которого используется для управления процессом обучения.
Оптимизация гиперпараметров определяет набор гиперпараметров, который дает оптимальную модель, которая минимизирует заранее определенную функцию потерь в заданном наборе данных. [ 2 ] Целевая функция принимает набор гиперпараметров и возвращает соответствующие потери. [ 2 ] Перекрестная проверка часто используется для оценки эффективности этого обобщения и, следовательно, выбора набора значений для гиперпараметров, которые максимизируют ее. [ 3 ]
Подходы
[ редактировать ]
Поиск по сетке
[ редактировать ]Традиционным методом оптимизации гиперпараметров был поиск по сетке или прогонка параметров , которая представляет собой просто исчерпывающий поиск по заданному вручную подмножеству пространства гиперпараметров алгоритма обучения. Алгоритм поиска по сетке должен руководствоваться некоторыми показателями производительности, обычно измеряемыми путем перекрестной проверки на обучающем наборе. [ 4 ] или оценка на наборе отложенных проверок. [ 5 ]
Поскольку пространство параметров машинного обучения может включать в себя пространства вещественных или неограниченных значений для определенных параметров, перед применением поиска по сетке может потребоваться установка границ и дискретизация вручную.
Например, типичный SVM классификатор с мягкой маржой , оснащенный ядром RBF, имеет как минимум два гиперпараметра, которые необходимо настроить для хорошей производительности на невидимых данных: константу регуляризации C и гиперпараметр ядра γ. Оба параметра являются непрерывными, поэтому для выполнения поиска по сетке для каждого выбирается конечный набор «разумных» значений, скажем
Затем поиск по сетке обучает SVM с каждой парой ( C , γ) в декартовом произведении этих двух наборов и оценивает их производительность на отложенном наборе проверки (или посредством внутренней перекрестной проверки на обучающем наборе, и в этом случае несколько SVM тренируются в паре). Наконец, алгоритм поиска по сетке выводит настройки, получившие наивысший балл в процедуре проверки.
Поиск по сетке страдает от проклятия размерности , но часто оказывается смущающе параллельным, поскольку параметры гиперпараметров, которые он оценивает, обычно не зависят друг от друга. [ 3 ]

Случайный поиск
[ редактировать ]Случайный поиск заменяет исчерпывающий перебор всех комбинаций случайным их выбором. Это можно просто применить к описанной выше дискретной ситуации, но также можно обобщить и на непрерывные и смешанные пространства. Преимущество поиска по сетке заключается в том, что случайный поиск может исследовать гораздо больше значений, чем поиск по сетке для непрерывных гиперпараметров. Он может превзойти поиск по сетке, особенно когда лишь небольшое количество гиперпараметров влияет на конечную производительность алгоритма машинного обучения. [ 3 ] В этом случае говорят, что задача оптимизации имеет низкую внутреннюю размерность. [ 6 ] Случайный поиск также поразительно параллелен и, кроме того, позволяет включать предварительные знания, указывая распределение, из которого следует выполнять выборку. Несмотря на свою простоту, случайный поиск остается одним из важных базовых показателей для сравнения производительности новых методов оптимизации гиперпараметров.

Байесовская оптимизация
[ редактировать ]Байесовская оптимизация — это метод глобальной оптимизации для зашумленных функций черного ящика. Применительно к оптимизации гиперпараметров байесовская оптимизация строит вероятностную модель отображения функции от значений гиперпараметров к цели, оцениваемой на проверочном наборе. Путем итеративной оценки многообещающей конфигурации гиперпараметров на основе текущей модели, а затем ее обновления, байесовская оптимизация направлена на сбор наблюдений, раскрывающих как можно больше информации об этой функции и, в частности, о местоположении оптимума. Он пытается сбалансировать разведку (гиперпараметры, результат которых наиболее неопределенен) и эксплуатацию (гиперпараметры, ожидаемые близкие к оптимальным). На практике была показана байесовская оптимизация. [ 7 ] [ 8 ] [ 9 ] [ 10 ] получить лучшие результаты при меньшем количестве оценок по сравнению с поиском по сетке и случайным поиском благодаря возможности рассуждать о качестве экспериментов до их проведения.
Градиентная оптимизация
[ редактировать ]Для конкретных алгоритмов обучения можно вычислить градиент относительно гиперпараметров, а затем оптимизировать гиперпараметры с помощью градиентного спуска . Первое использование этих методов было сосредоточено на нейронных сетях. [ 11 ] С тех пор эти методы были распространены на другие модели, такие как машины опорных векторов. [ 12 ] или логистическая регрессия. [ 13 ]
Другой подход для получения градиента по гиперпараметрам заключается в дифференцировании шагов алгоритма итеративной оптимизации с использованием автоматического дифференцирования . [ 14 ] [ 15 ] [ 16 ] [ 17 ] Более поздняя работа в этом направлении использует теорему о неявной функции для расчета гиперградиентов и предлагает устойчивую аппроксимацию обратного гессиана. Метод масштабируется до миллионов гиперпараметров и требует постоянной памяти. [ 18 ]
В другом подходе [ 19 ] гиперсеть обучена аппроксимировать наилучшую функцию ответа. Одним из преимуществ этого метода является то, что он также может обрабатывать дискретные гиперпараметры. Самонастраивающиеся сети [ 20 ] предложите версию этого подхода с эффективным использованием памяти, выбрав компактное представление гиперсети. Совсем недавно Δ-STN [ 21 ] усовершенствовал этот метод, слегка изменив параметры гиперсети, что ускорило обучение. Δ-STN также дает лучшее приближение якобиана наилучшего ответа за счет линеаризации сети в весах, тем самым удаляя ненужные нелинейные эффекты больших изменений весов.
Помимо гиперсетевых подходов, градиентные методы могут использоваться для оптимизации дискретных гиперпараметров, а также путем непрерывной релаксации параметров. [ 22 ] Такие методы широко используются для оптимизации гиперпараметров архитектуры при поиске нейронной архитектуры .
Эволюционная оптимизация
[ редактировать ]Эволюционная оптимизация — это методология глобальной оптимизации зашумленных функций черного ящика. При оптимизации гиперпараметров эволюционная оптимизация использует эволюционные алгоритмы для поиска в пространстве гиперпараметров для данного алгоритма. [ 8 ] Эволюционная оптимизация гиперпараметров следует процессу, вдохновленному биологической концепцией эволюции :
- Создайте начальную популяцию случайных решений (т. е. случайным образом сгенерируйте кортежи гиперпараметров, обычно более 100).
- Оцените кортежи гиперпараметров и получите их функцию пригодности (например, 10-кратную точность перекрестной проверки алгоритма машинного обучения с этими гиперпараметрами).
- Ранжируйте кортежи гиперпараметров по их относительной пригодности
- Замените кортежи гиперпараметров с наихудшей производительностью новыми, созданными посредством кроссовера и мутации.
- Повторяйте шаги 2–4 до тех пор, пока не будет достигнута удовлетворительная производительность алгоритма или пока ее улучшение не перестанет улучшаться.
Эволюционная оптимизация использовалась при оптимизации гиперпараметров для алгоритмов статистического машинного обучения. [ 8 ] автоматизированное машинное обучение , типичная нейронная сеть [ 23 ] и нейронных сетей , глубокий поиск архитектуры [ 24 ] [ 25 ] а также обучение весов в глубоких нейронных сетях. [ 26 ]
Популяционный
[ редактировать ]Популяционное обучение (PBT) изучает как значения гиперпараметров, так и веса сети. Несколько процессов обучения работают независимо, используя разные гиперпараметры. Как и в случае с эволюционными методами, плохо работающие модели итеративно заменяются моделями, которые принимают модифицированные значения и веса гиперпараметров на основе более эффективных моделей. Эта замещающая модель теплого запуска является основным отличием PBT от других эволюционных методов. Таким образом, PBT позволяет гиперпараметрам развиваться и устраняет необходимость ручной гипернастройки. В этом процессе не делается никаких предположений относительно архитектуры модели, функций потерь или процедур обучения.
PBT и его варианты являются адаптивными методами: они обновляют гиперпараметры во время обучения моделей. Напротив, неадаптивные методы имеют неоптимальную стратегию назначения постоянного набора гиперпараметров для всего обучения. [ 27 ]
На основе ранней остановки
[ редактировать ]
Класс алгоритмов оптимизации гиперпараметров на основе ранней остановки специально создан для больших пространств поиска непрерывных и дискретных гиперпараметров, особенно когда вычислительные затраты для оценки производительности набора гиперпараметров высоки. Irace реализует итеративный гоночный алгоритм, который фокусирует поиск на наиболее перспективных конфигурациях, используя статистические тесты для отбраковки тех, которые работают плохо. [ 28 ] [ 29 ] Еще один алгоритм оптимизации гиперпараметров с ранней остановкой — последовательное сокращение пополам (SHA). [ 30 ] который начинается со случайного поиска, но периодически отсекает низкопроизводительные модели, тем самым сосредотачивая вычислительные ресурсы на более перспективных моделях. Асинхронное последовательное сокращение пополам (ASHA) [ 31 ] дальнейшее улучшение профиля использования ресурсов SHA за счет устранения необходимости синхронной оценки и сокращения низкопроизводительных моделей. Гиперполоса [ 32 ] — это алгоритм более высокого уровня, основанный на ранней остановке, который вызывает SHA или ASHA несколько раз с различными уровнями агрессивности сокращения, чтобы обеспечить более широкое применение и с меньшим количеством требуемых входных данных.
Другие
[ редактировать ]РФБ [ 33 ] и спектральный [ 34 ] подходы также были разработаны.
Проблемы с оптимизацией гиперпараметров
[ редактировать ]Когда выполняется оптимизация гиперпараметров, набор гиперпараметров часто помещается в обучающий набор и выбирается на основе эффективности обобщения или оценки проверочного набора. Однако эта процедура сопряжена с риском переподбора гиперпараметров в набор проверки. Следовательно, показатель эффективности обобщения набора проверки (который может состоять из нескольких наборов в случае процедуры перекрестной проверки) не может использоваться для одновременной оценки эффективности обобщения окончательной модели. Для этого эффективность обобщения должна оцениваться на наборе, независимом (не имеющем пересечения) от набора (или наборов), используемых для оптимизации гиперпараметров, иначе производительность может дать слишком оптимистичное значение ( слишком большой). Это можно сделать на втором наборе тестов или с помощью процедуры внешней перекрестной проверки , называемой вложенной перекрестной проверкой, которая позволяет объективно оценить эффективность обобщения модели с учетом систематической ошибки, вызванной оптимизацией гиперпараметров.
См. также
[ редактировать ]- Автоматизированное машинное обучение
- Поиск нейронной архитектуры
- Метаоптимизация
- Выбор модели
- Самонастройка
- XGBoost
Ссылки
[ редактировать ]- ^ Матиас Фойрер и Фрэнк Хаттер. Оптимизация гиперпараметров . В: AutoML: методы, системы, проблемы , страницы 3–38.
- ^ Jump up to: а б Класен, Марк; Барт Де Мур (2015). «Поиск гиперпараметров в машинном обучении». arXiv : 1502.02127 [ cs.LG ].
- ^ Jump up to: а б с Бергстра, Джеймс; Бенджио, Йошуа (2012). «Случайный поиск для оптимизации гиперпараметров» (PDF) . Журнал исследований машинного обучения . 13 : 281–305.
- ^ Чин-Вэй Сюй, Чи-Чунг Чанг и Чи-Джен Линь (2010). Практическое руководство по поддержке векторной классификации . Технический отчет, Национальный Тайваньский университет .
- ^ Чикко Д. (декабрь 2017 г.). «Десять быстрых советов по машинному обучению в вычислительной биологии» . Добыча биоданных . 10 (35): 35. дои : 10.1186/s13040-017-0155-3 . ПМК 5721660 . ПМИД 29234465 .
- ^ Зию, Ван; Фрэнк, Хаттер; Масрур, Зоги; Дэвид, Мэтисон; Нандо, де Фейтас (2016). «Байесовская оптимизация в миллиарде измерений посредством случайных вложений». Журнал исследований искусственного интеллекта . 55 : 361–387. arXiv : 1301.1942 . дои : 10.1613/jair.4806 . S2CID 279236 .
- ^ Хаттер, Фрэнк; Хус, Хольгер; Лейтон-Браун, Кевин (2011), «Последовательная оптимизация на основе моделей для общей конфигурации алгоритмов», Обучение и интеллектуальная оптимизация (PDF) , Конспекты лекций по информатике, том. 6683, стр. 507–523, CiteSeerX 10.1.1.307.8813 , doi : 10.1007/978-3-642-25566-3_40 , ISBN 978-3-642-25565-6 , S2CID 6944647
- ^ Jump up to: а б с Бергстра, Джеймс; Бардене, Реми; Бенджио, Йошуа; Кегль, Балаж (2011), «Алгоритмы оптимизации гиперпараметров» (PDF) , Достижения в области нейронных систем обработки информации
- ^ Снук, Джаспер; Ларошель, Хьюго; Адамс, Райан (2012). «Практическая байесовская оптимизация алгоритмов машинного обучения» (PDF) . Достижения в области нейронных систем обработки информации . arXiv : 1206.2944 . Бибкод : 2012arXiv1206.2944S .
- ^ Торнтон, Крис; Хаттер, Фрэнк; Хус, Хольгер; Лейтон-Браун, Кевин (2013). «Auto-WEKA: Комбинированный выбор и оптимизация гиперпараметров алгоритмов классификации» (PDF) . Обнаружение знаний и интеллектуальный анализ данных . arXiv : 1208.3719 . Бибкод : 2012arXiv1208.3719T .
- ^ Ларсен, Ян; Хансен, Ларс Кай; Сварер, Клаус; Олссон, М. (1996). «Проектирование и регуляризация нейронных сетей: оптимальное использование набора проверки» (PDF) . Нейронные сети для обработки сигналов VI. Материалы семинара Общества обработки сигналов IEEE 1996 года . стр. 62–71. CiteSeerX 10.1.1.415.3266 . дои : 10.1109/NNSP.1996.548336 . ISBN 0-7803-3550-3 . S2CID 238874 .
- ^ Оливье Шапель; Владимир Вапник; Оливье Буске; Саян Мукерджи (2002). «Выбор нескольких параметров для машин опорных векторов» (PDF) . Машинное обучение . 46 : 131–159. дои : 10.1023/а:1012450327387 .
- ^ Чуонг Б; Чуан-Шэн Фу; Эндрю Й Нг (2008). «Эффективное обучение множественным гиперпараметрам для лог-линейных моделей» (PDF) . Достижения в области нейронных систем обработки информации . 20 .
- ^ Домке, Джастин (2012). «Общие методы моделирования на основе оптимизации» (PDF) . Айстат . 22 . Архивировано из оригинала (PDF) 24 января 2014 г. Проверено 9 декабря 2017 г.
- ^ Маклорен, Дугал; Дювено, Дэвид; Адамс, Райан П. (2015). «Оптимизация гиперпараметров на основе градиента посредством обратимого обучения». arXiv : 1502.03492 [ stat.ML ].
- ^ Франчески, Лука; Донини, Микеле; Фраскони, Паоло; Понтил, Массимилиано (2017). «Оптимизация гиперпараметров на основе прямого и обратного градиента» (PDF) . Материалы 34-й Международной конференции по машинному обучению . arXiv : 1703.01785 . Бибкод : 2017arXiv170301785F .
- ^ Шабан, А., Ченг, Калифорния, Хэтч, Н., и Бутс, Б. (апрель 2019 г.). Усеченное обратное распространение ошибки для двухуровневой оптимизации . На 22-й Международной конференции по искусственному интеллекту и статистике (стр. 1723-1732). ПМЛР.
- ^ Лорейн Дж., Викол П. и Дювено Д. (2018). Оптимизация миллионов гиперпараметров с помощью неявного дифференцирования . Препринт arXiv arXiv:1911.02590 .
- ^ Лорейн Дж. и Дювено Д. (2018). Стохастическая оптимизация гиперпараметров через гиперсети . Препринт arXiv arXiv:1802.09419 .
- ^ Маккей, М., Викол, П., Лоррейн, Дж., Дювено, Д., и Гросс, Р. (2019). Самонастраивающиеся сети: двухуровневая оптимизация гиперпараметров с использованием структурированных функций наилучшего ответа . Препринт arXiv arXiv:1903.03088 .
- ^ Бэ, Дж., и Гросс, РБ (2020). Дельта-stn: Эффективная двухуровневая оптимизация нейронных сетей с использованием якобианов структурированного ответа . Достижения в области нейронных систем обработки информации , 33 , 21725-21737.
- ^ Лю Х., Симонян К. и Ян Ю. (2018). Дартс: Поиск дифференцируемой архитектуры . Препринт arXiv arXiv:1806.09055 .
- ^ Кузиурис Г., Куччинотта Т., Варваригу Т. (2011). «Влияние планирования, типа рабочей нагрузки и сценариев консолидации на производительность виртуальных машин и их прогнозирование с помощью оптимизированных искусственных нейронных сетей» . Журнал систем и программного обеспечения . 84 (8): 1270–1291. дои : 10.1016/j.jss.2011.04.013 . hdl : 11382/361472 .
- ^ Мииккулайнен Р., Лян Дж., Мейерсон Э., Равал А., Финк Д., Франкон О., Раджу Б., Шахрзад Х., Наврузян А., Даффи Н., Ходжат Б. (2017). «Развитие глубоких нейронных сетей». arXiv : 1703.00548 [ cs.NE ].
- ^ Ядерберг М., Далибард В., Осиндеро С., Чарнецкий В.М., Донахью Дж., Разави А., Виньялс О., Грин Т., Даннинг И., Симонян К., Фернандо С., Кавукчуоглу К. (2017). «Популяционное обучение нейронных сетей». arXiv : 1711.09846 [ cs.LG ].
- ^ Такие Ф.П., Мадхаван В., Конти Э., Леман Дж., Стэнли КО, Клюн Дж. (2017). «Глубокая нейроэволюция: генетические алгоритмы — конкурентная альтернатива обучению глубоких нейронных сетей для обучения с подкреплением». arXiv : 1712.06567 [ cs.NE ].
- ^ Ли, Анг; Спайра, Ола; Перель, Саги; Далибар, Валентин; Ядерберг, Макс; Гу, Чэньцзе; Бадден, Дэвид; Харли, Тим; Гупта, Прамод (05 февраля 2019 г.). «Общая основа обучения населения». arXiv : 1902.01894 [ cs.AI ].
- ^ Лопес-Ибаньес, Мануэль; Дюбуа-Лакост, Жереми; Перес Касерес, Лесли; Штютцле, Томас; Бираттари, Мауро (2016). «Пакет irace: итеративные гонки для автоматической настройки алгоритма» . Перспектива исследования операций . 3 (3): 43–58. дои : 10.1016/j.orp.2016.09.002 . hdl : 10419/178265 .
- ^ Бираттари, Мауро; Штютцле, Томас; Пакете, Луис; Варрентрапп, Клаус (2002). «Гоночный алгоритм настройки метаэвристики». Gecco 2002 : 11–18.
- ^ Джеймисон, Кевин; Талвалкар, Амит (27 февраля 2015 г.). «Нестохастическая идентификация лучшей руки и оптимизация гиперпараметров». arXiv : 1502.07943 [ cs.LG ].
- ^ Ли, Лиам; Джеймисон, Кевин; Ростамизаде, Афшин; Гонина, Екатерина; Хардт, Мориц; Рехт, Бенджамин; Талвалкар, Амит (16 марта 2020 г.). «Система массово-параллельной настройки гиперпараметров». arXiv : 1810.05934v5 [ cs.LG ].
- ^ Ли, Лиша; Джеймисон, Кевин; ДеСальво, Джулия; Ростамизаде, Афшин; Талвалкар, Амит (16 марта 2020 г.). «Гиперполоса: новый бандитский подход к оптимизации гиперпараметров». Журнал исследований машинного обучения . 18 : 1–52. arXiv : 1603.06560 .
- ^ Диас, Гонсало; Фокуэ, Ахилл; Нанничини, Джакомо; Самуловиц, Хорст (2017). «Эффективный алгоритм гиперпараметрической оптимизации нейронных сетей». arXiv : 1705.08520 [ cs.AI ].
- ^ Хазан, Элад; Кливанс, Адам; Юань, Ян (2017). «Оптимизация гиперпараметров: спектральный подход». arXiv : 1706.00764 [ cs.LG ].