Пређи на садржај

Оптимизација хиперпараметара

С Википедије, слободне енциклопедије

У машинском учењу, оптимизација хиперпараметара [1] или подешавање је проблем избора скупа оптималних хиперпараметара за алгоритам учења. Хиперпараметар је параметар чија вредност се користи за контролу процеса учења.

Оптимизација хиперпараметара проналази низ хиперпараметара помоћу којих се добија оптимални модел који минимизира функцију губитка. [2] Функција циља узима низ хиперпараметара и враћа повезани губитак. [2] Унакрсна валидација се често користи за процену перформанси, па се на основу ње врши одабир вредности хиперпараметара из одређеног скупа тако да одабране вредности максимизирају перформансе. [3]

Претрага мреже где су дате различите вредности два хиперпараметра. За сваки хиперпараметар узима се у обзир 10 различитих вредности, тако да се процењује и пореди укупно 100 различитих комбинација. Плаве контуре означавају области са добрим резултатима, док црвене означавају области са лошим резултатима.

Претрага мреже

[уреди | уреди извор]

Традиционална метода за оптимизацију хиперпараметара је претрага мреже (енгл. grid search) или претрага параметара односно претрага грубом силом над ручно дефинисаним подскупом скупа хиперапараметара коришћеним у алгоритму учења. Алгоритам претраге мреже мора бити праћен неком метриком за мерење перформанси, која се уобичајено мери унакрсном валидацијом над скупом за тренирање.[4][5]

С обзиром да параметри могу да имају реалне или неограничене вредности, може бити неопходно ручно поставити границе и извршити дискретизацију пре примене претраге мреже.

На пример, SVM класификатор са RBF језгром има најмање два хиперпараметра која треба да се подесе како би перформансе над непознатим подацима биле добре: регуларизациона константа C и хиперпараметар језгра γ. Оба параметра су континуална, тако да се за извођење претраге мреже бира коначан скуп вредности за сваки, рецимо

Метода претраге мреже онда тренира SVM са паром (C, γ) у облику Декартовог производа ова два скупа и процењује перформансе на валидационим скупу (или унакрсном валидацијом на подацима за тренирање, у ком случају се више SVM-ова тренира по пару). На крају, алгоритам претраге мреже даје она подешавања која су постигла најбољи резултат у процесу валидације.

Мана методе претраге мреже је проблем димензионалности. Са друге стране овај проблем се лако може паралелизовати јер су подешавања хиперпараметара које метода процењује обично независна једна од других. [3]

Случајна претрага различитих комбинација вредности два хиперпараметра. У овом примеру оцењује се 100 различитих случајних избора. Зелене траке показују да се узима у обзир више појединачних вредности за сваки хиперпараметар у поређењу са методом претраге мреже.

Случајна претрага

[уреди | уреди извор]

Слуачајна претрага је процес који замењује исцрпљујуће набрајање свих комбинација тако што се оне бирају насумично. Предност у односу на претрагу мреже јесте то што случајна претрага може да истражи много више вредности за континуалне хиперпараметре него што би то претрага мреже могла. Може надмашити претрагу мреже, посебно када само мали број хиперпараметара утиче на коначне перформансе алгортима машинског учења.[3] У овом случају се каже да проблем оптимизације има ниску унутрашњу димензионалност.[6] Случајна претрага се такође може лако паралелизовати и она додатно дозвољава укључивање претходног знања, одређивањем расподеле из које се узоркује. Упркос својој једноставности, случајна претрага остаје једна од важних основа у односу на коју се пореде перформансе нових метода за оптимизацију хиперпараметара.

Методе попут Бајесове оптимизације истражују простор потенцијалних хиперпараметара доносећи одлуку коју комбинацију следећу испитати на основу претходних опажања.

Бајесова оптимизација

[уреди | уреди извор]

Бајесова оптимизација је метода глобалне оптимизације за black-box функције. Код оптимизације хиперпараметара, Бајесова оптимизација гради модел вероватноће функције. У пракси се показало[7][8][9][10] да Бајесова оптимизација даје боље резултате са мање евалуација у поређењу са претрагом мреже и случајном претрагом, захваљујући способности да пре спровођења експеримената размишља о њиховом квалитету.

Оптимизација заснована на градијенту

[уреди | уреди извор]

За одређене алгоритме учења, могуће је израчунати градијент у односу на хиперпараметре и након тога оптимизовати хиперпараметре користећи алгоритам опадајућег градијента. Прва употреба ових техинка била је усмерена на неуронске мреже.[11] Од тада, ове методе су проширене на друге моделе, као што су метода потпорних вектора[12] или логистичка регресија.[13]

Eволуциона оптимизација

[уреди | уреди извор]

Еволуциона оптимизација је методологија за глобалну оптимизацију black-box функција. Код оптимизације хиперпараметара, еволуциона оптимизација користи еволуционе алгоритме за претрагу простора хиперпараметара за задати алгоритам.[8]

Тренирање засновано на популацији

[уреди | уреди извор]

У току тренирања заснованог на популацији (енгл. Population Based Training - PBT) уче се и вредности хиперпараметара и тежине мреже. Више процеса учења ради независно, користећи различите хиперпараметре.

Алгоритми засновани на раном заустављању

[уреди | уреди извор]
Узастопно преполовљење за осам произвољних конфигурација хиперпараметара. Код ове методе у почетку је дефинисано осам модела са различитим конфигурацијама, а затим се врши узастопно преполовљење док не остане само један модел.

Класа алгоритама за оптимизацију хиперпараметара заснованих на раном заустављању је специјално направљена за велике просторе претраге континуалних и дискретних хиперпараметара, посебно за случај када су захтеви у погледу времена и ресурса потребних за процену перформанси скупа хиперпараметара високи.

RBF[14] и спектралне[15] методе су такође развијене.

Проблеми код оптимизације хиперпараметара

[уреди | уреди извор]

Када се врши оптимизација хиперпараметара, скуп хиперпараметара се често прилагођава на скупу података за тренирање и бира на основу перформанси генерализације или резултата на валидационом скупу података. Међутим, овај поступак је у ризику од преприлагођавања (енгл. overfitting) хиперпараметара на валидационом скупу. Стога, оцена перформанси генерализације на валидационом скупу (у случају унакрсне валидације може бити неколико скупова) не може бити истовремено коришћена за процену перформански генерализације коначног модела.

Референце

[уреди | уреди извор]
  1. ^ Matthias Feurer и Frank Hutter. Hyperparameter optimization. In: AutoML: Methods, Systems, Challenges, стране 3–38.
  2. ^ а б Claesen, Marc; Bart De Moor. „Hyperparameter Search in Machine Learning”. arXiv:1502.02127Слободан приступ [cs.LG]. 
  3. ^ а б в Bergstra, James; Bengio, Yoshua (2012). „Random Search for Hyper-Parameter Optimization” (PDF). Journal of Machine Learning Research. 13: 281—305. 
  4. ^ Chin-Wei Hsu, Chih-Chung Chang and Chih-Jen Lin (2010). A practical guide to support vector classification. Technical Report, National Taiwan University.
  5. ^ 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Слободан приступ. 
  6. ^ 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. 
  7. ^ 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 
  8. ^ а б Bergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), „Algorithms for hyper-parameter optimization” (PDF), Advances in Neural Information Processing Systems 
  9. ^ 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Слободан приступ. 
  10. ^ 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Слободан приступ. 
  11. ^ 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. 
  12. ^ 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. 
  13. ^ 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. 
  14. ^ Diaz, Gonzalo; Fokoue, Achille; Nannicini, Giacomo; Samulowitz, Horst (2017). „An effective algorithm for hyperparameter optimization of neural networks”. arXiv:1705.08520Слободан приступ [cs.AI]. 
  15. ^ Hazan, Elad; Klivans, Adam; Yuan, Yang (2017). „Hyperparameter Optimization: A Spectral Approach”. arXiv:1706.00764Слободан приступ [cs.LG].