하이퍼파라미터(기계학습)

Hyperparameter (machine learning)

기계학습에서 하이퍼파라미터는 값이 학습과정을 제어하기 위해 사용되는 파라미터입니다.반면 다른 파라미터 값(일반적으로 노드 가중치)은 훈련을 통해 도출됩니다.

하이퍼파라미터는 모델 하이퍼파라미터로 분류할 수 있습니다.모델 선택 태스크 또는 알고리즘 하이퍼파라미터는 원칙적으로 모델의 성능에 영향을 미치지 않지만 학습 프로세스의 속도와 품질에 영향을 미치기 때문에 트레이닝 세트에 기계를 장착하는 동안 유추할 수 없습니다.모델 하이퍼 파라미터의 예로는 뉴럴 네트워크의 토폴로지 및 크기를 들 수 있습니다.알고리즘의 하이퍼 파라미터의 예로는 미니배치 사이즈뿐만 아니라 학습속도, 배치사이즈 등이 있습니다.배치 사이즈는 전체 데이터 샘플을 참조할 수 있습니다.여기서 미니 배치 사이즈는 더 작은 샘플세트입니다

모델 훈련 알고리즘마다 다른 하이퍼 파라미터가 필요하며, 일부 단순 알고리즘(일반 최소 제곱법 등)은 필요하지 않습니다.이러한 하이퍼 파라미터가 주어지면 트레이닝 알고리즘은 데이터로부터 파라미터를 학습합니다.예를 들어, LASO정규화 하이퍼 매개변수를 일반 최소 제곱법에 추가하는 알고리즘으로, 훈련 [1]알고리즘을 통해 매개변수를 추정하기 전에 설정해야 합니다.

고려 사항.

모델을 교육하고 테스트하는 데 필요한 시간은 모델의 하이퍼 [2]파라미터 선택에 따라 달라질 수 있습니다.하이퍼 파라미터는 보통 연속형 또는 정수형이기 때문에 혼합형 최적화 [2]문제가 발생합니다.일부 하이퍼 파라미터의 존재는 다른 파라미터의 값에 따라 결정됩니다. 예를 들어, 신경망의 각 숨겨진 레이어의 크기는 [2]레이어 수에 따라 달라질 수 있습니다.

학습이 어려운 파라미터

일반적으로 항상 그렇지는 않지만 하이퍼 매개변수는 일반적으로 매개변수를 학습하기 위해 사용되는 잘 알려진 경사 기반 방법(예: 경사 강하, LBFGS)을 사용하여 학습할 수 없다.이러한 하이퍼 파라미터는 일반적인 최적화 방법으로는 학습할 수 없지만 손실 함수에 영향을 미치는 모델 표현을 설명하는 파라미터입니다.예를 들어 지원 벡터 시스템의 오류에 대한 허용 오차 하이퍼 매개 변수가 있습니다.

트레이닝할 수 없는 파라미터

하이퍼 파라미터는 모델의 용량을 적극적으로 증가시키고 손실 함수를 원하는 최소값(데이터에 대한 과적합 및 노이즈 픽업)으로 밀어넣을 수 있기 때문에 훈련 데이터에서 학습할 수 없는 경우가 있습니다.예를 들어 회귀 모델에 적합한 다항식 정도를 훈련 가능한 매개 변수로 취급하면, 그 정도는 모델이 데이터에 완벽하게 맞을 때까지 증가하여 훈련 오차는 낮지만 일반화 성능은 떨어진다.

조정성

대부분의 성능 변동은 몇 가지 하이퍼 파라미터에 [3][2][4]기인합니다.알고리즘, 하이퍼파라미터 또는 상호 작용 하이퍼파라미터의 조정가능성은 이를 [5]조정함으로써 얻을 수 있는 성능의 척도입니다.LSTM의 경우 네트워크 크기에 따른 학습 속도가 가장 중요한 하이퍼 [6]파라미터이지만 배치와 모멘텀은 성능에 [7]큰 영향을 미치지 않습니다.

일부 연구에서는 수천 개의 미니 배치 크기를 사용하는 것이 권장되지만, 다른 연구에서는 미니 배치 [8]크기가 2에서 32 사이인 최고의 성능을 발견했습니다.

견고성

학습에 내재된 확률성은 경험적 하이퍼파라미터 성능이 반드시 진정한 [2]성능은 아니라는 것을 직접적으로 암시한다.하이퍼파라미터, 랜덤 시드 또는 동일한 알고리즘의 다른 구현에 대한 단순한 변경에 대해 견고하지 않은 방법은 대폭적인 단순화와 견고화 [9]없이는 미션 크리티컬 제어 시스템에 통합될 수 없다.

특히 강화 학습 알고리즘은 많은 수의 무작위 시드에 대한 성능을 측정하고 하이퍼 파라미터 [9]선택에 대한 민감도를 측정해야 한다.랜덤 시드 수가 적은 평가에서는 [9]분산이 크기 때문에 성능을 제대로 포착하지 못합니다.일부 강화 학습 방법(예: DDPG(Deep Deterministic Policy Gradient))은 다른 [9]방법보다 하이퍼 파라미터 선택에 더 민감하다.

최적화

하이퍼파라미터 최적화는 주어진 테스트 [2]데이터에서 사전 정의된 손실 함수를 최소화하는 최적의 모델을 생성하는 하이퍼파라미터 튜플을 찾습니다.목표 함수는 하이퍼 파라미터의 튜플을 취하여 관련 [2]손실을 반환합니다.

재현성

기계학습에는 하이퍼파라미터의 조정과 별도로 파라미터와 결과를 저장 및 정리하여 재현할 [10]수 있도록 하는 작업이 포함됩니다.이러한 목적을 위한 강력한 인프라가 없는 경우, 연구 코드는 종종 빠르게 발전하고 부기 [11]및 재현성과 같은 필수적인 측면을 손상시킵니다.기계 학습을 위한 온라인 협업 플랫폼은 과학자들이 실험, 데이터 및 [12]알고리즘을 자동으로 공유, 구성 및 토론할 수 있도록 함으로써 더욱 발전합니다. 러닝 모델의 [13]경우 재현성이 특히 어려울 수 있습니다.

관련 서비스와 오픈 소스 소프트웨어는 다음과 같습니다.

서비스

이름. 인터페이스
Comet.ml[14] 파이썬[15]
OpenML[16][12][17][18] REST, Python, Java, R[19]
무게와 바이어스[20] 파이썬[21]

소프트웨어

이름. 인터페이스 가게
결정. REST, Python 포스트그레스Ql
OpenML 도커[16][12][17][18] REST, Python, Java, R[19] MySQL
신성한[10][11] 파이썬[22] 파일, MongoDB, TinyDB, SQL

「 」를 참조해 주세요.

레퍼런스

  1. ^ 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.
  2. ^ a b c d e f g "Claesen, Marc, and Bart De Moor. "Hyperparameter Search in Machine Learning." arXiv preprint arXiv:1502.02127 (2015)". arXiv:1502.02127. Bibcode:2015arXiv150202127C.
  3. ^ Leyton-Brown, Kevin; Hoos, Holger; Hutter, Frank (January 27, 2014). "An Efficient Approach for Assessing Hyperparameter Importance": 754–762 – via proceedings.mlr.press. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  4. ^ "van Rijn, Jan N., and Frank Hutter. "Hyperparameter Importance Across Datasets." arXiv preprint arXiv:1710.04725 (2017)". arXiv:1710.04725. Bibcode:2017arXiv171004725V.
  5. ^ "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.
  6. ^ 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.
  7. ^ "Breuel, Thomas M. "Benchmarking of LSTM networks." arXiv preprint arXiv:1508.02774 (2015)". arXiv:1508.02774. Bibcode:2015arXiv150802774B.
  8. ^ "Revisiting Small Batch Training for Deep Neural Networks (2018)". arXiv:1804.07612. Bibcode:2018arXiv180407612M.
  9. ^ a b c d "Mania, Horia, Aurelia Guy, and Benjamin Recht. "Simple random search provides a competitive approach to reinforcement learning." arXiv preprint arXiv:1803.07055 (2018)". arXiv:1803.07055. Bibcode:2018arXiv180307055M.
  10. ^ a b "Greff, Klaus, and Jürgen Schmidhuber. "Introducing Sacred: A Tool to Facilitate Reproducible Research."" (PDF). 2015.
  11. ^ a b "Greff, Klaus, et al. "The Sacred Infrastructure for Computational Research."" (PDF). 2017.
  12. ^ a b c "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 (25 May 2018). "Reproducibility in ML: why it matters and how to achieve it". Determined AI Blog. Retrieved 31 August 2020.
  14. ^ "Comet.ml – Machine Learning Experiment Management".
  15. ^ Inc, Comet ML. "comet-ml: Supercharging Machine Learning" – via PyPI.
  16. ^ a b Van Rijn, Jan N.; Bischl, Bernd; Torgo, Luis; Gao, Bo; Umaashankar, Venkatesh; Fischer, Simon; Winter, Patrick; Wiswedel, Bernd; Berthold, Michael R.; Vanschoren, Joaquin (2013). "OpenML: A Collaborative Science Platform". Van Rijn, Jan N., et al. "OpenML: A collaborative science platform." Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Berlin, Heidelberg, 2013. Lecture Notes in Computer Science. Vol. 7908. pp. 645–649. doi:10.1007/978-3-642-40994-3_46. ISBN 978-3-642-38708-1. S2CID 10889654.
  17. ^ a b "Vanschoren, Joaquin, Jan N. van Rijn, and Bernd Bischl. "Taking machine learning research online with OpenML." Proceedings of the 4th International Conference on Big Data, Streams and Heterogeneous Source Mining: Algorithms, Systems, Programming Models and Applications-Volume 41. JMLR. org, 2015" (PDF).
  18. ^ a b "van Rijn, J. N. Massively collaborative machine learning. Diss. 2016". 2016-12-19.
  19. ^ a b "OpenML". GitHub.
  20. ^ "Weights & Biases for Experiment Tracking and Collaboration".{{cite web}}: CS1 maint :url-status (링크)
  21. ^ "Monitor your Machine Learning models with PyEnv".{{cite web}}: CS1 maint :url-status (링크)
  22. ^ Greff, Klaus (2020-01-03). "sacred: Facilitates automated and reproducible experimental research" – via PyPI.