Гіперпараметр (машинне навчання)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

У машинному навчанні гіперпараметр — це параметр, значення якого використовується для керування процесом навчання. На відміну від цього, значення інших параметрів (як правило, вага вузлів) виводяться за допомогою навчання.

Гіперпараметри можна класифікувати як гіперпараметри моделі, які неможливо визначити під час підгонки моделі до навчального набору[en], оскільки вони відносяться до задачі вибору моделі, або гіперпараметри алгоритму, які в принципі не впливають на продуктивність моделі, але впливають на швидкість і якість навчального процесу. Прикладом гіперпараметра моделі є топологія та розмір нейронної мережі. Прикладами гіперпараметрів алгоритму є швидкість навчання та розмір пакету, а також розмір міні-пакету. Розмір пакету може посилатися на повну вибірку даних, де розмір міні-партії буде меншим набором вибірки.

Різні алгоритми навчання моделі вимагають різних гіперпараметрів, деякі прості алгоритми (наприклад, звичайна регресія найменших квадратів[en]) не потребують жодного. Враховуючи ці гіперпараметри, навчальний алгоритм вивчає параметри з даних. Наприклад, LASSO[en] — це алгоритм, який додає гіперпараметр регуляризації до звичайної регресії за найменшими квадратами, який необхідно встановити перед оцінкою параметрів за допомогою навчального алгоритму.[1]

Міркування

[ред. | ред. код]

Час, необхідний для навчання та тестування моделі, може залежати від вибору її гіперпараметрів.[2] Гіперпараметр зазвичай має безперервний або цілочисельний тип, що призводить до проблем оптимізації змішаного типу.[2] Існування одних гіперпараметрів залежить від значення інших, наприклад, розмір кожного прихованого шару в нейронній мережі може залежати від кількості шарів.[2]

Важкі для сприйняття параметри

[ред. | ред. код]

Зазвичай, але не завжди, гіперпараметри неможливо вивчити за допомогою відомих методів, заснованих на градієнті (таких як градієнтний спуск, LBFGS), які зазвичай використовуються для вивчення параметрів. Ці гіперпараметри — це параметри, що описують представлення моделі, які неможливо дізнатися за допомогою звичайних методів оптимізації, але, тим не менш, впливають на функцію втрат. Прикладом може бути гіперпараметр допуску для помилок у машинах опорних векторів.

Параметри, які не підлягають навчанню

[ред. | ред. код]

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

Можливість налаштування

[ред. | ред. код]

Більшу частину змін продуктивності можна пояснити лише кількома гіперпараметрами.[2][3][4] Можливість налаштування алгоритму, гіперпараметра або взаємодіючих гіперпараметрів є мірою того, наскільки продуктивність може бути досягнута шляхом їх налаштування.[5] Для LSTM, в той час як швидкість навчання, а потім розмір мережі є його найважливішими гіперпараметрами,[6] пакетна робота та імпульс не мають значного впливу на його продуктивність.[7]

Міцність

[ред. | ред. код]

Внутрішня стохастичність навчання прямо означає, що емпірична продуктивність гіперпараметра не обов'язково є його справжньою продуктивністю.[2] Методи, які не стійкі до простих змін гіперпараметрів, випадкових початкових даних або навіть різних реалізацій одного і того ж алгоритму, не можуть бути інтегровані в критично важливі системи керування без значного спрощення та надійності.[8]

Алгоритми навчання з підкріпленням, зокрема, вимагають вимірювання їхньої ефективності щодо великої кількості випадкових зародків, а також вимірювання їх чутливості до вибору гіперпараметрів.[8] Їхня оцінка за допомогою невеликої кількості випадкових зерен не фіксує належним чином продуктивність через високу дисперсію.[8] Деякі методи навчання з підкріпленням, напр DDPG (Deep Deterministic Policy Gradient) є більш чутливими до вибору гіперпараметрів, ніж інші.[8]

Оптимізація

[ред. | ред. код]

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

Відтворюваність

[ред. | ред. код]

Окрім налаштування гіперпараметрів, машинне навчання передбачає збереження й упорядкування параметрів і результатів, а також забезпечення їх відтворюваності.[9] За відсутності надійної інфраструктури для цієї мети код дослідження часто розвивається швидко і ставить під загрозу такі важливі аспекти, як бухгалтерський облік і відтворюваність.[10] Онлайн-платформи для співпраці для машинного навчання йдуть далі, дозволяючи вченим автоматично обмінюватися, організовувати та обговорювати експерименти, дані та алгоритми.[11] Відтворюваність може бути особливо важкою для моделей глибокого навчання.[12]

Існує ряд відповідних служб і програмного забезпечення з відкритим кодом:

Послуги

[ред. | ред. код]
Ім'я Інтерфейси
Comet.ml [Архівовано 27 січня 2020 у Wayback Machine.][13] Python[14]
OpenML [Архівовано 25 травня 2022 у Wayback Machine.][11][15][16][17] REST, Python, Java, R[18]
Вага та упередження [Архівовано 20 листопада 2020 у Wayback Machine.][19] Python[20]

Програмне забезпечення

[ред. | ред. код]
Ім'я Інтерфейси Магазин
Вирішується [Архівовано 30 травня 2022 у Wayback Machine.] REST, Python PostgreSQL
OpenML Docker [Архівовано 24 травня 2022 у Wayback Machine.][11][15][16][17] REST, Python, Java, R[18] MySQL
sacred [Архівовано 24 травня 2022 у Wayback Machine.][9][10] Python[21] file, MongoDB, TinyDB, SQL

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Yang, Li; Shami, Abdallah (20 листопада 2020). On hyperparameter optimization of machine learning algorithms: Theory and practice. Neurocomputing (англ.). 415: 295—316. doi:10.1016/j.neucom.2020.07.061. ISSN 0925-2312.
  2. а б в г д е ж 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 (27 січня 2014). An Efficient Approach for Assessing Hyperparameter Importance: 754—762. Архів оригіналу за 20 травня 2022. Процитовано 28 травня 2022 — через proceedings.mlr.press.
  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. (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.
  7. Breuel, Thomas M. "Benchmarking of LSTM networks." arXiv preprint arXiv:1508.02774 (2015). arXiv:1508.02774. Bibcode:2015arXiv150802774B.
  8. а б в г 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.
  9. а б Greff, Klaus, and Jürgen Schmidhuber. "Introducing Sacred: A Tool to Facilitate Reproducible Research." (PDF). 2015. Архів оригіналу (PDF) за 7 квітня 2018. Процитовано 28 травня 2022.
  10. а б Greff, Klaus, et al. "The Sacred Infrastructure for Computational Research." (PDF). 2017. Архів оригіналу (PDF) за 29 вересня 2020. Процитовано 28 травня 2022.
  11. а б в Vanschoren, Joaquin, et al. "OpenML: networked science in machine learning." arXiv preprint arXiv:1407.7722 (2014). arXiv:1407.7722. Bibcode:2014arXiv1407.7722V.
  12. Villa, Jennifer; Zimmerman, Yoav (25 травня 2018). Reproducibility in ML: why it matters and how to achieve it. Determined AI Blog. Архів оригіналу за 19 вересня 2020. Процитовано 31 серпня 2020.
  13. Comet.ml – Machine Learning Experiment Management. Архів оригіналу за 12 червня 2021. Процитовано 28 травня 2022.
  14. Inc, Comet ML. comet-ml: Supercharging Machine Learning. Архів оригіналу за 27 січня 2020. Процитовано 28 травня 2022.
  15. а б Van Rijn, Jan N.; Bischl, Bernd; Torgo, Luis; Gao, Bo; Umaashankar, Venkatesh; Fischer, Simon; Winter, Patrick; Wiswedel, Bernd; Berthold, Michael R. (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. Т. 7908. с. 645—649. doi:10.1007/978-3-642-40994-3_46. ISBN 978-3-642-38708-1.
  16. а б 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).{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  17. а б van Rijn, J. N. Massively collaborative machine learning. Diss. 2016. 19 грудня 2016. Архів оригіналу за 4 січня 2017. Процитовано 28 травня 2022.
  18. а б OpenML. GitHub. Архів оригіналу за 24 травня 2022. Процитовано 28 травня 2022.
  19. Weights & Biases for Experiment Tracking and Collaboration. Архів оригіналу за 28 жовтня 2020.
  20. Monitor your Machine Learning models with PyEnv. Архів оригіналу за 8 листопада 2020.
  21. Greff, Klaus (3 січня 2020). sacred: Facilitates automated and reproducible experimental research. Архів оригіналу за 24 травня 2022. Процитовано 28 травня 2022.