Optimizarea hiperparametrului
Optimizarea hiperparametrilor este o sarcină de învățare automată care constă în alegerea unui set de hiperparametri optimi pentru un algoritm de învățare.
Aceleași tipuri de modele de învățare automată pot necesita ipoteze, ponderi sau rate de învățare diferite pentru diferite tipuri de date. Acești parametri se numesc hiperparametri și ar trebui ajustați astfel încât modelul să poată rezolva în mod optim problema de învățare. Pentru aceasta, se găsește un tuplu hiperparametru , care oferă modelul optim care optimizează funcția de pierdere dată pe datele independente date [1] . Funcția obiectiv ia un tuplu de hiperparametri și returnează pierderea asociată [1] . Validarea încrucișată este adesea folosită pentru a evalua această capacitate de generalizare [2] .
Abordări
Căutare în grilă
Metoda tradițională de realizare a optimizării hiperparametrilor este căutarea în rețea (sau variația parametrilor ), care pur și simplu efectuează o căutare exhaustivă peste un subset specificat manual al spațiului hiperparametric al algoritmului de antrenament. Căutarea în zăbrele trebuie să fie însoțită de o anumită măsură a performanței, măsurată de obicei prin validare încrucișată pe setul de antrenament [3] , sau prin rularea algoritmului pe un set de teste bine stabilit [4] .
Deoarece spațiul de parametri al unui algoritm de învățare automată pentru anumiți parametri poate include spații cu valori reale sau nemărginite, setarea manuală a limitei și discretizarea poate fi necesară înainte de a aplica căutarea în rețea.
De exemplu, un clasificator tipic de mașină vectorială de suport soft-gap (SVM) echipat cu o funcție de bază radială a nucleului are cel puțin doi hiperparametri care trebuie reglați pentru o performanță bună pe date indisponibile - constanta de regularizare C și hiperparametrul nucleului γ. Ambii parametri sunt continui, astfel încât se alege un set finit de valori „acceptabile” pentru căutarea în zăbrele, să zicem
Căutarea în zăbrele rulează apoi SVM-ul pentru fiecare pereche ( C , γ) în produsul cartezian al celor două seturi și testează performanța sub parametrii aleși pe setul de testare stabilit (sau prin validare încrucișată internă pe setul de antrenament, caz în care mai multe SVM-uri sunt rulate în perechi). În cele din urmă, algoritmul de căutare în rețea produce ca rezultat cel mai înalt rezultat obținut în procedura de verificare.
Căutarea în zăbrele suferă de blestemul dimensionalității , dar este adesea ușor paralelizabilă , deoarece de obicei mărimile hiperparametrice cu care lucrează algoritmul sunt independente unele de altele [2] .
Căutare aleatorie
Căutarea aleatorie înlocuiește căutarea exhaustivă a tuturor combinațiilor cu o selecție aleatorie a acestora. Acest lucru poate fi aplicat cu ușurință setărilor discrete de mai sus, dar metoda poate fi generalizată și la spații continue și mixte. Căutarea aleatorie poate depăși căutarea în zăbrele, mai ales dacă doar un număr mic de hiperparametri afectează performanța algoritmului de învățare automată [2] . În acest caz, se spune că problema de optimizare are o dimensiune intrinsecă scăzută [5] . Căutările aleatoare sunt, de asemenea, ușor paralelizabile și, în plus, permit utilizarea datelor preliminare prin specificarea unei distribuții pentru eșantionarea parametrilor aleatori.
Optimizare bayesiană
Optimizarea bayesiană este o metodă globală de optimizare pentru o funcție necunoscută (cutie neagră) cu zgomot. Optimizarea bayesiană aplicată optimizării hiperparametrice construiește un model stocastic al funcției de mapare de la valorile hiperparametrului la o funcție obiectiv aplicată pe setul de testare. Prin aplicarea iterativă a unei configurații de hiperparametru de perspectivă bazată pe modelul actual și apoi actualizarea acesteia, optimizarea bayesiană urmărește să adune cât mai multe informații despre acea funcție și, în special, despre locația optimului. Metoda încearcă să echilibreze sondarea (hiper-parametrii pentru care modificarea este cel mai puțin cunoscută) și utilizarea (hiper-parametrii care se așteaptă să fie cel mai aproape de optim). În practică, optimizarea bayesiană a arătat [6] [7] [8] [9] rezultate mai bune cu mai puține calcule în comparație cu căutarea în grilă și căutarea aleatorie, datorită posibilității de a evalua calitatea experimentelor chiar înainte de a fi efectuate.
Optimizare bazată pe gradient
Pentru algoritmi de învățare specifici, se poate calcula gradientul hiperparametrilor și îi poate optimiza folosind coborârea gradientului. Prima utilizare a acestor tehnici s-a concentrat pe rețelele neuronale [10] . Aceste metode au fost apoi extinse la alte modele, cum ar fi mașinile vector suport [11] sau regresia logistică [12] .
O altă abordare a utilizării gradienților de hiperparametri este diferențierea pașilor algoritmului de optimizare iterativă folosind diferențierea automată [13] [14] .
Optimizare evolutivă
Optimizarea evolutivă este o metodologie pentru optimizarea globală a funcțiilor necunoscute cu zgomot. În optimizarea hiperparametrului, optimizarea evolutivă utilizează algoritmi evolutivi pentru a găsi hiperparametri pentru un algoritm dat [7] . Optimizarea hiperparametrică evolutivă urmează un proces inspirat de conceptul biologic de evoluție :
- Creăm o populație inițială de soluții aleatoare (adică un tuplu hiperparametru generat aleatoriu, de obicei 100+)
- Evaluați tuplurile de hiperparametri și obțineți funcția de fitness a acestora (de exemplu, utilizând validarea încrucișată cu precizie de 10 ori a unui algoritm de învățare automată cu acești hiperparametri)
- Clasați tuplurile hiperparametrice după fitness-ul lor relativ
- Înlocuiți tuplurile hiperparametrice cu performanțe mai slabe cu tupluri hiperparametric noi formate prin încrucișare și mutație
- Repetați pașii 2-4 până când obținem o performanță satisfăcătoare a algoritmului sau până când performanța încetează să se îmbunătățească
Optimizarea evolutivă este utilizată pentru a optimiza hiperparametrii pentru algoritmii statistici de învățare automată [7] , învățarea automată a mașinilor [15] [16] , pentru a găsi arhitectura rețelelor neuronale profunde [17] [18] , precum și pentru a forma ponderi în neuronale profunde. rețele [19] .
Altele
De asemenea, sunt în curs de dezvoltare metodele funcției de bază radială (RBF) [20] și metoda spectrală [21] .
Software cu sursă deschisă
Căutare în grilă
Căutare aleatorie
Optimizare bayesiană
Bazat pe gradient
Metode evolutive
Altele
Servicii comerciale
Vezi și
Note
- ↑ 1 2 Claesen, Marc & Bart De Moor (2015), Hyperparameter Search in Machine Learning, arΧiv : 1502.02127 [cs.LG].
- ↑ 1 2 3 Bergstra, Bengio, 2012 , p. 281–305.
- ↑ Chin-Wei Hsu, Chih-Chung Chang și Chih-Jen Lin (2010). Un ghid practic pentru a sprijini clasificarea vectorilor Arhivat 25 iunie 2013 la Wayback Machine . Raport tehnic, Universitatea Națională din Taiwan .
- ↑ Chicco, 2017 , p. 1–17.
- ↑ Ziyu, Frank, Masrour, David, de Feitas, 2016 .
- ↑ Hutter, Hoos, Leyton-Brown, 2011 .
- ↑ 1 2 3 Bergstra, Bardenet, Bengio, Kegl, 2011 .
- ↑ Snoek, Larochelle, Adams, 2012 .
- ↑ Thornton, Hutter, Hoos, Leyton-Brown, 2013 .
- ↑ Larsen, Hansen, Svarer, Ohlsson, 1996 .
- ↑ Chapelle, Vapnik, Bousquet, Mukherjee, 2002 , p. 131–159.
- ↑ Chuong, Foo, Ng, 2008 .
- ↑ Domke, 2012 .
- ↑ 1 2 Maclaurin, Douglas; Duvenaud, David & Adams, Ryan P. (2015), Optimizarea hiperparametrului bazată pe gradient prin învățare reversibilă, arΧiv : 1502.03492 [stat.ML].
- ↑ 1 2 Olson, Urbanowicz, Andrews, Lavender, Kidd, Moore, 2016 , p. 123–137.
- ↑ 1 2 Olson, Bartley, Urbanowicz, Moore, 2016 , p. 485–492.
- ↑ Miikkulainen R, Liang J, Meyerson E, Rawal A, Fink D, Francon O, Raju B, Shahrzad H, Navruzyan A, Duffy N, Hodjat B (2017), Evolving Deep Neural Networks, arΧiv : 1703.00548 [cs.NE] .
- ↑ Jaderberg M, Dalibard V, Osindero S, Czarnecki WM, Donahue J, Razavi A, Vinyals O, Green T, Dunning I, Simonyan K, Fernando C, Kavukcuoglu K (2017), Population Based Training of Neural Networks, arΧiv : 1711,0946 [cs.LG].
- ↑ Such FP, Madhavan V, Conti E, Lehman J, Stanley KO, Clune J (2017), Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning, arΧiv : 1712.06567 [cs.NE].
- ↑ 1 2 Diaz, Gonzalo; Fokoue, Achille; Nannicini, Giacomo & Samulowitz, Horst (2017), An effective algorithm for hyperparameter optimization of neuronal networks, arΧiv : 1705.08520 [cs.AI].
- ↑ 1 2 Hazan, Elad; Klivans, Adam & Yuan, Yang (2017), Hyperparameter Optimization: A Spectral Approach, arΧiv : 1706.00764 [cs.LG].
- ↑ Martinez-Cantin, 2014 , p. 3915−3919.
- ↑ Kotthoff, Thornton, Hoos, Hutter, Leyton-Brown, 2017 , p. 1–5.
- ↑ Feurer, Klein, Eggensperger, Springenberg, Blum, Hutter, 2015 , p. 2962–2970.
- ↑ Baptista, Ricardo & Poloczek, Matthias (2018), Bayesian Optimization of Combinatorial Structures, arΧiv : 1806.08838 [stat.ML].
- ↑ Hutter, Hoos, Leyton-Brown, 2011 , p. 507-523.
- ↑ Nikitin, Vychuzhanin, Sarafanov, Polonskaia, Revin, Barabanova, Maximov, Kalyuzhnaya, Boukhanovsky, 2022 , p. 109–125.
- ↑ Gorissen, Crombecq, Couckuyt, Demeester, Dhaene, 2010 , p. 2051–2055
Literatură
- James Bergstra, Yoshua Bengio. Căutare aleatorie pentru optimizarea hiper-parametrului // J. Cercetare în învățare automată. - 2012. - T. 13 .
- Chicco D. Zece sfaturi rapide pentru învățarea automată în biologia computațională // BioData Mining. - 2017. - Decembrie ( vol. 10 ). — P. 1–17. - doi : 10.1186/s13040-017-0155-3 . — PMID 29234465 .
- Wang Ziyu, Hutter Frank, Zoghi Masrour, Matheson David, Nando de Feitas. Optimizarea bayesiană într-un miliard de dimensiuni prin încorporare aleatorie // Journal of Artificial Intelligence Research. - 2016. - Vol. 55 . - doi : 10.1613/jair.4806 . Arhivat din original pe 23 aprilie 2018.
- James Bergstra, Remi Bardenet, Yoshua Bengio, Balazs Kegl. Algoritmi pentru optimizarea hiper-parametrului // Progrese în sistemele de procesare a informațiilor neuronale. — 2011.
- Jasper Snoek, Hugo Larochelle, Ryan Adams. Optimizarea Bayesiană practică a algoritmilor de învățare automată // Progrese în sistemele de procesare a informațiilor neuronale. - 2012. - . - arXiv : 1206.2944 .
- Chris Thornton, Frank Hutter, Holger Hoos, Kevin Leyton-Brown. Auto-WEKA: Selecție combinată și optimizare hiperparametrică a algoritmilor de clasificare // Knowledge Discovery și Data Mining. - 2013. - . - arXiv : 1208.3719 .
- Jan Larsen, Lars Kai Hansen, Claus Svarer, M Ohlsson. Proiectarea și regularizarea rețelelor neuronale: utilizarea optimă a unui set de validare // Proceedings of the 1996 IEEE Signal Processing Society Workshop. — 1996.
- Olivier Chapelle, Vladimir Vapnik, Olivier Bousquet, Sayan Mukherjee. Alegerea mai multor parametri pentru mașinile vectoriale suport // Machine Learning. - 2002. - Vol. 46. - doi : 10.1023/a:1012450327387 .
- Chuong B., Chuan-Sheng Foo, Andrew Y Ng. Învățare eficientă cu hiperparametri multipli pentru modele log-lineare // Avansuri în sistemele de procesare a informațiilor neuronale 20. - 2008.
- Justin Domke. Metode generice pentru modelarea bazată pe optimizare // AISTATS. - 2012. - T. 22 .
- Ruben Martinez Cantin. BayesOpt: O bibliotecă de optimizare bayesiană pentru optimizare neliniară, proiectare experimentală și bandiți // Journal of Machine Learning Research. - 2014. - T. 15 . — S. 3915−3919 . - Cod . - arXiv : 1405,7430 .
- Kotthoff L., Thornton C., Hoos HH, Hutter F., Leyton-Brown K. Auto-WEKA 2.0: Selectarea automată a modelului și optimizarea hiperparametrului în WEKA // Journal of Machine Learning Research. — 2017.
- Feurer M., Klein A., Eggensperger K., Springenberg J., Blum M., Hutter F. Efficient and Robust Automated Machine Learning // Advances in Neural Information Processing Systems 28 (NIPS 2015). — 2015.
- Hutter F., Hoos HH, Leyton-Brown K. Sequential Model-Based Optimization for General Algorithm Configuration // Proceedings of the Conference on Learning and Intelligent Optimization (LION 5) . — Roma, Italia: Springer-Verlag, 2011.
- Olson RS, Urbanowicz RJ, Andrews PC, Lavender NA, Kidd L., Moore JH Automatizarea științei datelor biomedicale prin optimizarea conductelor bazată pe arbori // Proceedings of EvoStar 2016 . - 2016. - T. 9597. - (Note de curs în Informatică). — ISBN 978-3-319-31203-3 . - doi : 10.1007/978-3-319-31204-0_9 .
- Olson RS, Bartley N., Urbanowicz RJ, Moore JH Evaluarea unui instrument de optimizare a conductelor bazat pe arbori pentru automatizarea științei datelor . - 2016. - C. Actele EvoBIO 2016 . — ISBN 9781450342063 . - doi : 10.1145/2908812.2908918 . - arXiv : 1603.06212 .
- Dirk Gorissen, Karel Crombecq, Ivo Couckuyt, Piet Demeester, Tom Dhaene. O casetă de instrumente de modelare surogat și eșantionare adaptivă pentru proiectarea bazată pe computer // J. Cercetare în învățare automată. - 2010. - T. 11 . — S. 2051–2055 .
- Nikolay O. Nikitin, Pavel Vychuzhanin, Mihail Sarafanov, Iana S. Polonskaia, Ilia Revin, Irina V. Barabanova, Gleb Maximov, Anna V. Kalyuzhnaya, Alexander Boukhanovsky. Abordare evolutivă automatizată pentru proiectarea conductelor compozite de învățare automată // Sisteme computerizate de generație viitoare. - 2022. - T. 127 . - S. 109-125 .