Оптимизација хиперпараметара
У машинском учењу, оптимизација хиперпараметара [1] или подешавање је проблем избора скупа оптималних хиперпараметара за алгоритам учења. Хиперпараметар је параметар чија вредност се користи за контролу процеса учења.
Оптимизација хиперпараметара проналази низ хиперпараметара помоћу којих се добија оптимални модел који минимизира функцију губитка. [2] Функција циља узима низ хиперпараметара и враћа повезани губитак. [2] Унакрсна валидација се често користи за процену перформанси, па се на основу ње врши одабир вредности хиперпараметара из одређеног скупа тако да одабране вредности максимизирају перформансе. [3]
Методе
[уреди | уреди извор]Претрага мреже
[уреди | уреди извор]Традиционална метода за оптимизацију хиперпараметара је претрага мреже (енгл. grid search) или претрага параметара односно претрага грубом силом над ручно дефинисаним подскупом скупа хиперапараметара коришћеним у алгоритму учења. Алгоритам претраге мреже мора бити праћен неком метриком за мерење перформанси, која се уобичајено мери унакрсном валидацијом над скупом за тренирање.[4][5]
С обзиром да параметри могу да имају реалне или неограничене вредности, може бити неопходно ручно поставити границе и извршити дискретизацију пре примене претраге мреже.
На пример, SVM класификатор са RBF језгром има најмање два хиперпараметра која треба да се подесе како би перформансе над непознатим подацима биле добре: регуларизациона константа C и хиперпараметар језгра γ. Оба параметра су континуална, тако да се за извођење претраге мреже бира коначан скуп вредности за сваки, рецимо
Метода претраге мреже онда тренира SVM са паром (C, γ) у облику Декартовог производа ова два скупа и процењује перформансе на валидационим скупу (или унакрсном валидацијом на подацима за тренирање, у ком случају се више SVM-ова тренира по пару). На крају, алгоритам претраге мреже даје она подешавања која су постигла најбољи резултат у процесу валидације.
Мана методе претраге мреже је проблем димензионалности. Са друге стране овај проблем се лако може паралелизовати јер су подешавања хиперпараметара које метода процењује обично независна једна од других. [3]
Случајна претрага
[уреди | уреди извор]Слуачајна претрага је процес који замењује исцрпљујуће набрајање свих комбинација тако што се оне бирају насумично. Предност у односу на претрагу мреже јесте то што случајна претрага може да истражи много више вредности за континуалне хиперпараметре него што би то претрага мреже могла. Може надмашити претрагу мреже, посебно када само мали број хиперпараметара утиче на коначне перформансе алгортима машинског учења.[3] У овом случају се каже да проблем оптимизације има ниску унутрашњу димензионалност.[6] Случајна претрага се такође може лако паралелизовати и она додатно дозвољава укључивање претходног знања, одређивањем расподеле из које се узоркује. Упркос својој једноставности, случајна претрага остаје једна од важних основа у односу на коју се пореде перформансе нових метода за оптимизацију хиперпараметара.
Бајесова оптимизација
[уреди | уреди извор]Бајесова оптимизација је метода глобалне оптимизације за black-box функције. Код оптимизације хиперпараметара, Бајесова оптимизација гради модел вероватноће функције. У пракси се показало[7][8][9][10] да Бајесова оптимизација даје боље резултате са мање евалуација у поређењу са претрагом мреже и случајном претрагом, захваљујући способности да пре спровођења експеримената размишља о њиховом квалитету.
Оптимизација заснована на градијенту
[уреди | уреди извор]За одређене алгоритме учења, могуће је израчунати градијент у односу на хиперпараметре и након тога оптимизовати хиперпараметре користећи алгоритам опадајућег градијента. Прва употреба ових техинка била је усмерена на неуронске мреже.[11] Од тада, ове методе су проширене на друге моделе, као што су метода потпорних вектора[12] или логистичка регресија.[13]
Eволуциона оптимизација
[уреди | уреди извор]Еволуциона оптимизација је методологија за глобалну оптимизацију black-box функција. Код оптимизације хиперпараметара, еволуциона оптимизација користи еволуционе алгоритме за претрагу простора хиперпараметара за задати алгоритам.[8]
Тренирање засновано на популацији
[уреди | уреди извор]У току тренирања заснованог на популацији (енгл. Population Based Training - PBT) уче се и вредности хиперпараметара и тежине мреже. Више процеса учења ради независно, користећи различите хиперпараметре.
Алгоритми засновани на раном заустављању
[уреди | уреди извор]Класа алгоритама за оптимизацију хиперпараметара заснованих на раном заустављању је специјално направљена за велике просторе претраге континуалних и дискретних хиперпараметара, посебно за случај када су захтеви у погледу времена и ресурса потребних за процену перформанси скупа хиперпараметара високи.
Остало
[уреди | уреди извор]RBF[14] и спектралне[15] методе су такође развијене.
Проблеми код оптимизације хиперпараметара
[уреди | уреди извор]Када се врши оптимизација хиперпараметара, скуп хиперпараметара се често прилагођава на скупу података за тренирање и бира на основу перформанси генерализације или резултата на валидационом скупу података. Међутим, овај поступак је у ризику од преприлагођавања (енгл. overfitting) хиперпараметара на валидационом скупу. Стога, оцена перформанси генерализације на валидационом скупу (у случају унакрсне валидације може бити неколико скупова) не може бити истовремено коришћена за процену перформански генерализације коначног модела.
Референце
[уреди | уреди извор]- ^ Matthias Feurer и Frank Hutter. Hyperparameter optimization. In: AutoML: Methods, Systems, Challenges, стране 3–38.
- ^ а б Claesen, Marc; Bart De Moor. „Hyperparameter Search in Machine Learning”. arXiv:1502.02127 [cs.LG].
- ^ а б в Bergstra, James; Bengio, Yoshua (2012). „Random Search for Hyper-Parameter Optimization” (PDF). Journal of Machine Learning Research. 13: 281—305.
- ^ Chin-Wei Hsu, Chih-Chung Chang and Chih-Jen Lin (2010). A practical guide to support vector classification. Technical Report, National Taiwan University.
- ^ Chicco D (децембар 2017). „Ten quick tips for machine learning in computational biology”. BioData Mining. 10 (35): 35. PMC 5721660 . PMID 29234465. doi:10.1186/s13040-017-0155-3 .
- ^ Ziyu, Wang; Frank, Hutter; Masrour, Zoghi; David, Matheson; Nando, de Feitas (2016). „Bayesian Optimization in a Billion Dimensions via Random Embeddings”. Journal of Artificial Intelligence Research (на језику: енглески). 55: 361—387. S2CID 279236. arXiv:1301.1942 . doi:10.1613/jair.4806.
- ^ Hutter, Frank; Hoos, Holger; Leyton-Brown, Kevin (2011), „Sequential Model-Based Optimization for General Algorithm Configuration”, Learning and Intelligent Optimization (PDF), Lecture Notes in Computer Science, 6683, стр. 507—523, CiteSeerX 10.1.1.307.8813 , ISBN 978-3-642-25565-6, S2CID 6944647, doi:10.1007/978-3-642-25566-3_40
- ^ а б Bergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), „Algorithms for hyper-parameter optimization” (PDF), Advances in Neural Information Processing Systems
- ^ Snoek, Jasper; Larochelle, Hugo; Adams, Ryan (2012). „Practical Bayesian Optimization of Machine Learning Algorithms” (PDF). Advances in Neural Information Processing Systems. Bibcode:2012arXiv1206.2944S. arXiv:1206.2944 .
- ^ Thornton, Chris; Hutter, Frank; Hoos, Holger; Leyton-Brown, Kevin (2013). „Auto-WEKA: Combined selection and hyperparameter optimization of classification algorithms” (PDF). Knowledge Discovery and Data Mining. Bibcode:2012arXiv1208.3719T. arXiv:1208.3719 .
- ^ Larsen, Jan; Hansen, Lars Kai; Svarer, Claus; Ohlsson, M (1996). „Design and regularization of neural networks: The optimal use of a validation set” (PDF). Neural Networks for Signal Processing VI. Proceedings of the 1996 IEEE Signal Processing Society Workshop. стр. 62—71. CiteSeerX 10.1.1.415.3266 . ISBN 0-7803-3550-3. S2CID 238874. doi:10.1109/NNSP.1996.548336.
- ^ Olivier Chapelle; Vladimir Vapnik; Olivier Bousquet; Sayan Mukherjee (2002). „Choosing multiple parameters for support vector machines” (PDF). Machine Learning. 46: 131—159. doi:10.1023/a:1012450327387 . Архивирано из оригинала (PDF) 24. 12. 2016. г. Приступљено 15. 08. 2024.
- ^ Chuong B; Chuan-Sheng Foo; Andrew Y Ng (2008). „Efficient multiple hyperparameter learning for log-linear models” (PDF). Advances in Neural Information Processing Systems. 20.
- ^ Diaz, Gonzalo; Fokoue, Achille; Nannicini, Giacomo; Samulowitz, Horst (2017). „An effective algorithm for hyperparameter optimization of neural networks”. arXiv:1705.08520 [cs.AI].
- ^ Hazan, Elad; Klivans, Adam; Yuan, Yang (2017). „Hyperparameter Optimization: A Spectral Approach”. arXiv:1706.00764 [cs.LG].