Optimizacija hiperparametara

U mašinskom učenju, optimizacija hiperparametara [1] ili podešavanje je problem izbora skupa optimalnih hiperparametara za algoritam učenja. Hiperparametar je parametar čija vrednost se koristi za kontrolu procesa učenja.

Optimizacija hiperparametara pronalazi niz hiperparametara pomoću kojih se dobija optimalni model koji minimizira funkciju gubitka. [2] Funkcija cilja uzima niz hiperparametara i vraća povezani gubitak. [2] Unakrsna validacija se često koristi za procenu performansi, pa se na osnovu nje vrši odabir vrednosti hiperparametara iz određenog skupa tako da odabrane vrednosti maksimiziraju performanse. [3]

Metode

uredi
 
Pretraga mreže gde su date različite vrednosti dva hiperparametra. Za svaki hiperparametar uzima se u obzir 10 različitih vrednosti, tako da se procenjuje i poredi ukupno 100 različitih kombinacija. Plave konture označavaju oblasti sa dobrim rezultatima, dok crvene označavaju oblasti sa lošim rezultatima.

Pretraga mreže

uredi

Tradicionalna metoda za optimizaciju hiperparametara je pretraga mreže (engl. grid search) ili pretraga parametara odnosno pretraga grubom silom nad ručno definisanim podskupom skupa hiperaparametara korišćenim u algoritmu učenja. Algoritam pretrage mreže mora biti praćen nekom metrikom za merenje performansi, koja se uobičajeno meri unakrsnom validacijom nad skupom za treniranje.[4][5]

S obzirom da parametri mogu da imaju realne ili neograničene vrednosti, može biti neophodno ručno postaviti granice i izvršiti diskretizaciju pre primene pretrage mreže.

Na primer, SVM klasifikator sa RBF jezgrom ima najmanje dva hiperparametra koja treba da se podese kako bi performanse nad nepoznatim podacima bile dobre: regularizaciona konstanta C i hiperparametar jezgra γ. Oba parametra su kontinualna, tako da se za izvođenje pretrage mreže bira konačan skup vrednosti za svaki, recimo

 
 

Metoda pretrage mreže onda trenira SVM sa parom (C, γ) u obliku Dekartovog proizvoda ova dva skupa i procenjuje performanse na validacionim skupu (ili unakrsnom validacijom na podacima za treniranje, u kom slučaju se više SVM-ova trenira po paru). Na kraju, algoritam pretrage mreže daje ona podešavanja koja su postigla najbolji rezultat u procesu validacije.

Mana metode pretrage mreže je problem dimenzionalnosti. Sa druge strane ovaj problem se lako može paralelizovati jer su podešavanja hiperparametara koje metoda procenjuje obično nezavisna jedna od drugih. [3]

 
Slučajna pretraga različitih kombinacija vrednosti dva hiperparametra. U ovom primeru ocenjuje se 100 različitih slučajnih izbora. Zelene trake pokazuju da se uzima u obzir više pojedinačnih vrednosti za svaki hiperparametar u poređenju sa metodom pretrage mreže.

Slučajna pretraga

uredi

Sluačajna pretraga je proces koji zamenjuje iscrpljujuće nabrajanje svih kombinacija tako što se one biraju nasumično. Prednost u odnosu na pretragu mreže jeste to što slučajna pretraga može da istraži mnogo više vrednosti za kontinualne hiperparametre nego što bi to pretraga mreže mogla. Može nadmašiti pretragu mreže, posebno kada samo mali broj hiperparametara utiče na konačne performanse algortima mašinskog učenja.[3] U ovom slučaju se kaže da problem optimizacije ima nisku unutrašnju dimenzionalnost.[6] Slučajna pretraga se takođe može lako paralelizovati i ona dodatno dozvoljava uključivanje prethodnog znanja, određivanjem raspodele iz koje se uzorkuje. Uprkos svojoj jednostavnosti, slučajna pretraga ostaje jedna od važnih osnova u odnosu na koju se porede performanse novih metoda za optimizaciju hiperparametara.

 
Metode poput Bajesove optimizacije istražuju prostor potencijalnih hiperparametara donoseći odluku koju kombinaciju sledeću ispitati na osnovu prethodnih opažanja.

Bajesova optimizacija

uredi

Bajesova optimizacija je metoda globalne optimizacije za black-box funkcije. Kod optimizacije hiperparametara, Bajesova optimizacija gradi model verovatnoće funkcije. U praksi se pokazalo[7][8][9][10] da Bajesova optimizacija daje bolje rezultate sa manje evaluacija u poređenju sa pretragom mreže i slučajnom pretragom, zahvaljujući sposobnosti da pre sprovođenja eksperimenata razmišlja o njihovom kvalitetu.

Optimizacija zasnovana na gradijentu

uredi

Za određene algoritme učenja, moguće je izračunati gradijent u odnosu na hiperparametre i nakon toga optimizovati hiperparametre koristeći algoritam opadajućeg gradijenta. Prva upotreba ovih tehinka bila je usmerena na neuronske mreže.[11] Od tada, ove metode su proširene na druge modele, kao što su metoda potpornih vektora[12] ili logistička regresija.[13]

Evoluciona optimizacija

uredi

Evoluciona optimizacija je metodologija za globalnu optimizaciju black-box funkcija. Kod optimizacije hiperparametara, evoluciona optimizacija koristi evolucione algoritme za pretragu prostora hiperparametara za zadati algoritam.[8]

Treniranje zasnovano na populaciji

uredi

U toku treniranja zasnovanog na populaciji (engl. Population Based Training - PBT) uče se i vrednosti hiperparametara i težine mreže. Više procesa učenja radi nezavisno, koristeći različite hiperparametre.

Algoritmi zasnovani na ranom zaustavljanju

uredi
 
Uzastopno prepolovljenje za osam proizvoljnih konfiguracija hiperparametara. Kod ove metode u početku je definisano osam modela sa različitim konfiguracijama, a zatim se vrši uzastopno prepolovljenje dok ne ostane samo jedan model.

Klasa algoritama za optimizaciju hiperparametara zasnovanih na ranom zaustavljanju je specijalno napravljena za velike prostore pretrage kontinualnih i diskretnih hiperparametara, posebno za slučaj kada su zahtevi u pogledu vremena i resursa potrebnih za procenu performansi skupa hiperparametara visoki.

Ostalo

uredi

RBF[14] i spektralne[15] metode su takođe razvijene.

Problemi kod optimizacije hiperparametara

uredi

Kada se vrši optimizacija hiperparametara, skup hiperparametara se često prilagođava na skupu podataka za treniranje i bira na osnovu performansi generalizacije ili rezultata na validacionom skupu podataka. Međutim, ovaj postupak je u riziku od preprilagođavanja (engl. overfitting) hiperparametara na validacionom skupu. Stoga, ocena performansi generalizacije na validacionom skupu (u slučaju unakrsne validacije može biti nekoliko skupova) ne može biti istovremeno korišćena za procenu performanski generalizacije konačnog modela.

Reference

uredi
  1. ^ Matthias Feurer i Frank Hutter. Hyperparameter optimization. In: AutoML: Methods, Systems, Challenges, strane 3–38.
  2. ^ a b Claesen, Marc; Bart De Moor. „Hyperparameter Search in Machine Learning”. arXiv:1502.02127  [cs.LG]. 
  3. ^ a b v 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 (decembar 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 (na jeziku: engleski). 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, str. 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. ^ a b 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. str. 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 . Arhivirano iz originala (PDF) 24. 12. 2016. g. Pristupljeno 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].