Гиперпараметр (машинное обучение) (Inhyjhgjgbymj (bgonuuky kQrcyuny))

Перейти к навигации Перейти к поиску

Гиперпараметр — параметр машинного обучения, значение которого используется для управления процессом обучения. Его значение устанавливается перед началом обучения, в отличие от значений других параметров (обычно весов узлов), которые определяются во время обучения.

Гиперпараметры могут быть подразделены на гиперпараметры модели — они относятся к задаче выбора модели и не могут быть определены во время обучения машины c помощью обучающего набора, примером таких гиперпараметров являются топология и размер нейронной сети; и гиперпараметры алгоритма, которые в принципе не имеют влияния на производительность модели но оказывают воздействие на скорость и качество процесса обучения, примером таких гиперпараметров являются темп обучения и размер набора данных (batch size)[1], также как и размер мини-набора данных (mini-batch size). Набором данных часто называться полная выборка данных, а мини-набором данных размер выборки меньших размеров.

Учитывая гиперпараметры, алгоритм обучения с помощью данных настраивает собственные параметры. Для различных алгоритмов обучения модели требуются различные гиперпараметры. Некоторым простым алгоритмам (таким как обычные наименьшие квадраты линейной регрессии) они не требуются, а например, в алгоритме LASSO, в котором в алгоритм регрессии обычных наименьших квадратов добавляется гиперпараметр регуляризации, этот гиперпараметр должен быть установлен перед оценкой параметров с помощью алгоритма обучения[2].

Характеристики и детали[править | править код]

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

Настраиваемость[править | править код]

Настраиваемость алгоритма, гиперпараметра, или взаимодействия гиперпараметров — это измерение, показывающее насколько высокую производительность можно получить при использовании такой настройки.[4] Большая часть изменений производительности может быть связана всего с несколькими гиперпараметрами.[5][3][6] Например, в нейронных сетях LSTM, темп обучения и размер сети являются самыми критическими гиперпараметрами,[7] а пакетирование и инерция не имеют значительного влияния на производительность.[8] До сих пор существуют споры об оптимальных значениях гиперпараметров, так, например, хотя некоторые исследования выступают за использование размеров мини-пакетов с тысячами экземпляров, другие исследования обнаружили, что самая лучшая производительность достигается при использовании мини-пакетов размером от 2 и 32 экземпляров[9].

Сложнообучаемые параметры[править | править код]

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

Необучаемые параметры[править | править код]

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

Оптимизация[править | править код]

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

Воспроизводимость[править | править код]

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

Примечания[править | править код]

  1. Thomas M. Breuel. The Effects of Hyperparameters on SGD Training of Neural Networks. — 2015-08-01. Архивировано 12 июня 2023 года.
  2. Yang, Li; Shami, Abdallah (2020-11-20). "On hyperparameter optimization of machine learning algorithms: Theory and practice". Neurocomputing (англ.). 415: 295—316. arXiv:2007.15745. doi:10.1016/j.neucom.2020.07.061. ISSN 0925-2312. S2CID 220919678.
  3. 1 2 3 4 5 6 "Claesen, Marc, and Bart De Moor. "Hyperparameter Search in Machine Learning." arXiv preprint arXiv:1502.02127 (2015)". arXiv:1502.02127. Bibcode:2015arXiv150202127C.
  4. "Probst, Philipp, Bernd Bischl, and Anne-Laure Boulesteix. "Tunability: Importance of Hyperparameters of Machine Learning Algorithms." arXiv preprint arXiv:1802.09596 (2018)". arXiv:1802.09596. Bibcode:2018arXiv180209596P.
  5. Leyton-Brown, Kevin; Hoos, Holger; Hutter, Frank (January 27, 2014). "An Efficient Approach for Assessing Hyperparameter Importance": 754—762. Архивировано 20 мая 2022. Дата обращения: 19 февраля 2023 – via proceedings.mlr.press. {{cite journal}}: Cite journal требует |journal= (справка)
  6. "van Rijn, Jan N., and Frank Hutter. "Hyperparameter Importance Across Datasets." arXiv preprint arXiv:1710.04725 (2017)". arXiv:1710.04725. Bibcode:2017arXiv171004725V.
  7. Greff, K.; Srivastava, R. K.; Koutník, J.; Steunebrink, B. R.; Schmidhuber, J. (October 23, 2017). "LSTM: A Search Space Odyssey". IEEE Transactions on Neural Networks and Learning Systems. 28 (10): 2222—2232. arXiv:1503.04069. doi:10.1109/TNNLS.2016.2582924. PMID 27411231. S2CID 3356463.
  8. "Breuel, Thomas M. "Benchmarking of LSTM networks." arXiv preprint arXiv:1508.02774 (2015)". arXiv:1508.02774. Bibcode:2015arXiv150802774B.
  9. "Revisiting Small Batch Training for Deep Neural Networks (2018)". arXiv:1804.07612. Bibcode:2018arXiv180407612M.
  10. "Greff, Klaus, and Jürgen Schmidhuber. "Introducing Sacred: A Tool to Facilitate Reproducible Research."" (PDF). 2015. Архивировано (PDF) 7 апреля 2018. Дата обращения: 19 февраля 2023.
  11. "Greff, Klaus, et al. "The Sacred Infrastructure for Computational Research."" (PDF). 2017. Архивировано (PDF) 29 сентября 2020. Дата обращения: 19 февраля 2023.
  12. "Vanschoren, Joaquin, et al. "OpenML: networked science in machine learning." arXiv preprint arXiv:1407.7722 (2014)". arXiv:1407.7722. Bibcode:2014arXiv1407.7722V.
  13. Villa, Jennifer; Zimmerman, Yoav Reproducibility in ML: why it matters and how to achieve it. Determined AI Blog (25 мая 2018). Дата обращения: 31 августа 2020. Архивировано 19 сентября 2020 года.