stringtranslate.com

Оптимизация гиперпараметров

В машинном обучении оптимизация гиперпараметров [1] или настройка — это проблема выбора набора оптимальных гиперпараметров для алгоритма обучения. Гиперпараметр — это параметр , значение которого используется для управления процессом обучения.

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

Подходы

Поиск по сетке по разным значениям двух гиперпараметров. Для каждого гиперпараметра рассматривается 10 различных значений, поэтому в общей сложности оцениваются и сравниваются 100 различных комбинаций. Синие контуры обозначают регионы с хорошими результатами, а красные — регионы с плохими результатами.

Поиск по сетке

Традиционным способом выполнения оптимизации гиперпараметров был поиск по сетке или перебор параметров , который представляет собой просто исчерпывающий поиск по заданному вручную подмножеству пространства гиперпараметров алгоритма обучения. Алгоритм поиска по сетке должен руководствоваться некоторой метрикой производительности, обычно измеряемой путем перекрестной проверки на обучающем наборе [4] или оценки на наборе для предварительной проверки. [5]

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

Например, типичный классификатор SVM с мягкой маржой , оснащенный ядром RBF, имеет как минимум два гиперпараметра, которые необходимо настроить для хорошей производительности на невидимых данных: константу регуляризации C и гиперпараметр ядра γ. Оба параметра являются непрерывными, поэтому для выполнения поиска по сетке для каждого выбирается конечный набор «разумных» значений, скажем

Затем поиск по сетке обучает SVM с каждой парой ( C , γ) в декартовом произведении этих двух наборов и оценивает их производительность на отложенном наборе проверки (или посредством внутренней перекрестной проверки на обучающем наборе, и в этом случае несколько SVM тренируются в паре). Наконец, алгоритм поиска по сетке выводит настройки, получившие наивысший балл в процедуре проверки.

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

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

Случайный поиск

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

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

Байесовская оптимизация

Байесовская оптимизация — это метод глобальной оптимизации для зашумленных функций черного ящика. Применительно к оптимизации гиперпараметров байесовская оптимизация строит вероятностную модель отображения функции от значений гиперпараметров к цели, оцениваемой на проверочном наборе. Путем итеративной оценки многообещающей конфигурации гиперпараметров на основе текущей модели, а затем ее обновления, байесовская оптимизация направлена ​​на сбор наблюдений, раскрывающих как можно больше информации об этой функции и, в частности, о местоположении оптимума. Он пытается сбалансировать разведку (гиперпараметры, результат которых наиболее неопределенен) и эксплуатацию (гиперпараметры, ожидаемые близкие к оптимальным). На практике было показано [7] [8] [9] [10] для получения лучших результатов при меньшем количестве оценок по сравнению с поиском по сетке и случайным поиском благодаря способности рассуждать о качестве экспериментов до их проведения. .

Градиентная оптимизация

Для конкретных алгоритмов обучения можно вычислить градиент относительно гиперпараметров, а затем оптимизировать гиперпараметры с помощью градиентного спуска . Первое использование этих методов было сосредоточено на нейронных сетях. [11] С тех пор эти методы были распространены на другие модели, такие как машины опорных векторов [12] или логистическая регрессия. [13]

Другой подход для получения градиента по гиперпараметрам заключается в дифференцировании шагов алгоритма итеративной оптимизации с использованием автоматического дифференцирования . [14] [15] [16] [17] Более поздняя работа в этом направлении использует теорему о неявной функции для расчета гиперградиентов и предлагает устойчивую аппроксимацию обратного гессиана. Метод масштабируется до миллионов гиперпараметров и требует постоянной памяти. [18]

В другом подходе [19] гиперсеть обучается аппроксимации наилучшей функции ответа. Одним из преимуществ этого метода является то, что он также может обрабатывать дискретные гиперпараметры. Самонастраивающиеся сети [20] предлагают версию этого подхода с эффективным использованием памяти за счет выбора компактного представления гиперсети. Совсем недавно Δ-STN [21] еще больше усовершенствовал этот метод за счет небольшой репараметризации гиперсети, что ускоряет обучение. Δ-STN также дает лучшее приближение якобиана наилучшего ответа за счет линеаризации сети в весах, тем самым удаляя ненужные нелинейные эффекты больших изменений весов.

Помимо гиперсетевых подходов, градиентные методы могут использоваться для оптимизации дискретных гиперпараметров, а также путем непрерывной релаксации параметров. [22] Такие методы широко используются для оптимизации гиперпараметров архитектуры при поиске нейронной архитектуры .

Эволюционная оптимизация

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

  1. Создайте начальную популяцию случайных решений (т. е. случайным образом сгенерируйте кортежи гиперпараметров, обычно более 100).
  2. Оцените кортежи гиперпараметров и получите их функцию приспособленности (например, 10-кратную точность перекрестной проверки алгоритма машинного обучения с этими гиперпараметрами).
  3. Ранжируйте кортежи гиперпараметров по их относительной пригодности
  4. Замените кортежи гиперпараметров с наихудшими показателями новыми кортежами гиперпараметров, созданными путем скрещивания и мутации.
  5. Повторяйте шаги 2–4 до тех пор, пока не будет достигнута удовлетворительная производительность алгоритма или пока производительность алгоритма не перестанет улучшаться.

Эволюционная оптимизация использовалась при оптимизации гиперпараметров для алгоритмов статистического машинного обучения, [8] автоматизированного машинного обучения , типичной нейронной сети [23] и поиска архитектуры глубоких нейронных сетей , [24] [25] , а также при обучении весов в глубоких нейронных сетях. сети. [26]

Популяционный

Популяционное обучение (PBT) изучает как значения гиперпараметров, так и веса сети. Несколько процессов обучения работают независимо, используя разные гиперпараметры. Как и в случае с эволюционными методами, плохо работающие модели итеративно заменяются моделями, которые принимают модифицированные значения и веса гиперпараметров на основе более эффективных моделей. Эта замещающая модель теплого запуска является основным отличием PBT от других эволюционных методов. Таким образом, PBT позволяет гиперпараметрам развиваться и устраняет необходимость ручной гипернастройки. В этом процессе не делается никаких предположений относительно архитектуры модели, функций потерь или процедур обучения.

PBT и его варианты являются адаптивными методами: они обновляют гиперпараметры во время обучения моделей. Напротив, неадаптивные методы имеют неоптимальную стратегию назначения постоянного набора гиперпараметров для всего обучения. [27]

На основе ранней остановки

Последовательное сокращение пополам для восьми произвольных конфигураций гиперпараметров. Подход начинается с восьми моделей с разными конфигурациями и последовательно применяет последовательное сокращение вдвое, пока не останется только одна модель.

Класс алгоритмов оптимизации гиперпараметров на основе ранней остановки специально создан для больших пространств поиска непрерывных и дискретных гиперпараметров, особенно когда вычислительные затраты для оценки производительности набора гиперпараметров высоки. Irace реализует итеративный гоночный алгоритм, который фокусирует поиск на наиболее перспективных конфигурациях, используя статистические тесты для отбраковки тех, которые работают плохо. [28] [29] Еще одним алгоритмом оптимизации гиперпараметров с ранней остановкой является последовательное сокращение пополам (SHA), [30] который начинается со случайного поиска, но периодически сокращает низкопроизводительные модели, тем самым концентрируя вычислительные ресурсы на более перспективных моделях. Асинхронное последовательное сокращение пополам (ASHA) [31] еще больше улучшает профиль использования ресурсов SHA, устраняя необходимость синхронной оценки и сокращения низкопроизводительных моделей. Hyperband [32] — это алгоритм более высокого уровня, основанный на ранней остановке, который вызывает SHA или ASHA несколько раз с различными уровнями агрессивности сокращения, чтобы иметь более широкое применение и с меньшим количеством требуемых входных данных.

Другие

Также были разработаны RBF [33] и спектральный [34] подходы.

Проблемы с оптимизацией гиперпараметров

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

Смотрите также

Рекомендации

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