Hyperparameter optimering
Hyperparameteroptimering er en maskinlæringsopgave med at vælge et sæt optimale hyperparametre til en indlæringsalgoritme.
De samme typer maskinlæringsmodeller kan kræve forskellige antagelser, vægte eller indlæringshastigheder for forskellige typer data. Disse parametre kaldes hyperparametre og bør tunes, så modellen optimalt kan løse indlæringsproblemet. Til dette findes en hyperparameter tupel , som giver den optimale model, der optimerer den givne tabsfunktion på de givne uafhængige data [1] . Objektivfunktionen tager en tuple af hyperparametre og returnerer det tilhørende tab [1] . Krydsvalidering bruges ofte til at evaluere denne generaliserende evne [2] .
Tilnærmelser
Gittersøgning
Den traditionelle metode til at udføre hyperparameteroptimering er gittersøgning (eller parametervariation ), som blot udfører en udtømmende søgning over en manuelt specificeret delmængde af træningsalgoritmens hyperparameterrum. Gittersøgning skal ledsages af et eller andet mål for ydeevne, normalt målt ved krydsvalidering på træningssættet [3] , eller ved at køre algoritmen på et veletableret testsæt [4] .
Da parameterrummet for en maskinlæringsalgoritme for nogle parametre kan omfatte rum med reelle eller ubegrænsede værdier, kan det være nødvendigt at angive grænsen manuelt, og diskretisering, før du anvender gittersøgningen.
For eksempel har en typisk SVM- klassifikator ( soft-gap support vector machine) udstyret med en kerne radial basisfunktion mindst to hyperparametre, der skal indstilles for god ydeevne på utilgængelige data - regulariseringskonstanten C og kernehyperparameteren γ. Begge parametre er kontinuerlige, så et endeligt sæt af "acceptable" værdier vælges til gittersøgningen, f.eks.
Gittersøgning kører derefter SVM for hvert par ( C , γ) i det kartesiske produkt af de to sæt og tester ydeevnen under de valgte parametre på det etablerede testsæt (eller ved intern krydsvalidering på træningssættet, i hvilket tilfælde flere SVM'er køres i par). Endelig frembringer gittersøgningsalgoritmen som et resultat det højeste resultat opnået i verifikationsproceduren.
Gittersøgning lider af dimensionalitetens forbandelse , men er ofte let paralleliserbar , da de hyperparametriske størrelser, som algoritmen arbejder med, normalt er uafhængige af hinanden [2] .
Tilfældig søgning
Tilfældig søgning erstatter den udtømmende søgning af alle kombinationer med et udvalg af dem tilfældigt. Dette kan nemt anvendes på de diskrete indstillinger ovenfor, men metoden kan også generaliseres til kontinuerlige og blandede rum. Tilfældig søgning kan udkonkurrere gittersøgning, især hvis kun et lille antal hyperparametre påvirker ydeevnen af maskinlæringsalgoritmen [2] . I dette tilfælde siges optimeringsproblemet at have en lav indre dimension [5] . Tilfældige søgninger er også let parallelliserbare og tillader desuden brugen af foreløbige data ved at specificere en fordeling til stikprøvetagning af tilfældige parametre.
Bayesiansk optimering
Bayesiansk optimering er en global optimeringsmetode for en ukendt funktion (sort boks) med støj. Bayesiansk optimering anvendt til hyperparametrisk optimering bygger en stokastisk model af kortlægningsfunktionen fra hyperparameterværdier til en objektiv funktion anvendt på testsættet. Ved iterativt at anvende en perspektivhyperparameterkonfiguration baseret på den aktuelle model og derefter opdatere den, søger Bayesiansk optimering at indsamle så meget information som muligt om denne funktion og især placeringen af det optimale. Metoden forsøger at balancere sondering (hyper-parametre, for hvilke ændringer er mindst pålideligt kendt) og brug (hyper-parametre, der forventes at være tættest på det optimale). I praksis har Bayesiansk optimering vist [6] [7] [8] [9] bedre resultater med mindre beregning sammenlignet med gittersøgning og tilfældig søgning på grund af muligheden for at bedømme kvaliteten af eksperimenter, allerede før de udføres.
Gradientbaseret optimering
For specifikke indlæringsalgoritmer kan man beregne gradienten af hyperparametre og optimere dem ved hjælp af gradient descent. Den første brug af disse teknikker fokuserede på neurale netværk [10] . Disse metoder blev derefter udvidet til andre modeller såsom understøttende vektormaskiner [11] eller logistisk regression [12] .
En anden tilgang til brug af hyperparametergradienter er at differentiere trinene i den iterative optimeringsalgoritme ved hjælp af automatisk differentiering [13] [14] .
Evolutionær optimering
Evolutionær optimering er en metode til global optimering af ukendte funktioner med støj. I hyperparameteroptimering bruger evolutionær optimering evolutionære algoritmer til at finde hyperparametre for en given algoritme [7] . Evolutionær hyperparameteroptimering følger en proces inspireret af det biologiske evolutionsbegreb :
- Vi opretter en indledende population af tilfældige løsninger (dvs. en tilfældigt genereret hyperparametertupel, normalt 100+)
- Evaluer tuples af hyperparametre og udled deres fitnessfunktion (f.eks. ved hjælp af 10x præcision krydsvalidering af en maskinlæringsalgoritme med disse hyperparametre)
- Rangér hyperparameter-tupler efter deres relative kondition
- Erstat hyperparametertupler med dårligere ydeevne med nye hyperparametertupler dannet ved at krydse og mutation
- Gentag trin 2-4, indtil vi får en tilfredsstillende ydeevne af algoritmen, eller indtil ydeevnen holder op med at forbedres
Evolutionær optimering bruges til at optimere hyperparametre for statistiske maskinlæringsalgoritmer [7] , automatisk maskinlæring [15] [16] , til at finde arkitekturen af dybe neurale netværk [17] [18] samt til at danne vægte i dybe neurale netværk netværk [19] .
Andet
Metoderne for den radiale basisfunktion (RBF) [20] og den spektrale metode [21] er også under udvikling .
Open source-software
Gittersøgning
Tilfældig søgning
Bayesiansk optimering
Gradient baseret
Evolutionære metoder
Andet
Kommercielle tjenester
Se også
Noter
- ↑ 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 , s. 281-305.
- ↑ Chin-Wei Hsu, Chih-Chung Chang og Chih-Jen Lin (2010). En praktisk guide til understøttelse af vektorklassificering Arkiveret 25. juni 2013 på Wayback Machine . Teknisk rapport, National Taiwan University .
- ↑ Chicco, 2017 , s. 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 , s. 131-159.
- ↑ Chuong, Foo, Ng, 2008 .
- ↑ Domke, 2012 .
- ↑ 1 2 Maclaurin, Douglas; Duvenaud, David & Adams, Ryan P. (2015), Gradientbaseret hyperparameteroptimering gennem reversibel læring, arΧiv : 1502.03492 [stat.ML].
- ↑ 1 2 Olson, Urbanowicz, Andrews, Lavender, Kidd, Moore, 2016 , s. 123-137.
- ↑ 1 2 Olson, Bartley, Urbanowicz, Moore, 2016 , s. 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 Neurale Networks, arΧiv : 198461. [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), En effektiv algoritme til hyperparameteroptimering af neurale netværk, 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 , s. 3915−3919.
- ↑ Kotthoff, Thornton, Hoos, Hutter, Leyton-Brown, 2017 , s. 1-5.
- ↑ Feurer, Klein, Eggensperger, Springenberg, Blum, Hutter, 2015 , s. 2962-2970.
- ↑ Baptista, Ricardo & Poloczek, Matthias (2018), Bayesian Optimization of Combinatorial Structures, arΧiv : 1806.08838 [stat.ML].
- ↑ Hutter, Hoos, Leyton-Brown, 2011 , s. 507-523.
- ↑ Nikitin, Vychuzhanin, Sarafanov, Polonskaia, Revin, Barabanova, Maximov, Kalyuzhnaya, Boukhanovsky, 2022 , s. 109-125.
- ↑ Gorissen, Crombecq, Couckuyt, Demeester, Dhaene, 2010 , s. 2051-2055
Litteratur
- James Bergstra, Yoshua Bengio. Tilfældig søgning efter Hyper-Parameter Optimization // J. Machine Learning Research. - 2012. - T. 13 .
- Chicco D. Ti hurtige tips til maskinlæring i beregningsbiologi // BioData Mining. - 2017. - December ( bind 10 ). — S. 1–17. - doi : 10.1186/s13040-017-0155-3 . — PMID 29234465 .
- Wang Ziyu, Hutter Frank, Zoghi Masrour, Matheson David, Nando de Feitas. Bayesiansk optimering i en milliard dimensioner via tilfældige indlejringer // Journal of Artificial Intelligence Research. - 2016. - Bd. 55 . - doi : 10.1613/jair.4806 . Arkiveret fra originalen den 23. april 2018.
- James Bergstra, Remi Bardenet, Yoshua Bengio, Balazs Kegl. Algoritmer til hyper-parameter optimering // Fremskridt i neurale informationsbehandlingssystemer. – 2011.
- Jasper Snoek, Hugo Larochelle, Ryan Adams. Praktisk Bayesiansk optimering af maskinlæringsalgoritmer // Fremskridt i neurale informationsbehandlingssystemer. - 2012. - . - arXiv : 1206.2944 .
- Chris Thornton, Frank Hutter, Holger Hoos, Kevin Leyton-Brown. Auto-WEKA: Kombineret udvælgelse og hyperparameteroptimering af klassifikationsalgoritmer // Knowledge Discovery and Data Mining. - 2013. - . - arXiv : 1208.3719 .
- Jan Larsen, Lars Kai Hansen, Claus Svarer, M Ohlsson. Design og regularisering af neurale netværk: den optimale brug af et valideringssæt // Proceedings of the 1996 IEEE Signal Processing Society Workshop. - 1996.
- Olivier Chapelle, Vladimir Vapnik, Olivier Bousquet, Sayan Mukherjee. Valg af flere parametre til understøttelse af vektormaskiner // Machine Learning. - 2002. - Bd. 46.- doi : 10.1023/a:1012450327387 .
- Chuong B., Chuan-Sheng Foo, Andrew Y Ng. Effektiv indlæring af flere hyperparametre til log-lineære modeller // Advances in Neural Information Processing Systems 20. - 2008.
- Justin Domke. Generiske metoder til optimeringsbaseret modellering // AISTATS. - 2012. - T. 22 .
- Ruben Martinez Cantin. BayesOpt: Et Bayesiansk optimeringsbibliotek for ikke-lineær optimering, eksperimentelt design og banditter // Journal of Machine Learning Research. - 2014. - T. 15 . — S. 3915−3919 . - . - arXiv : 1405.7430 .
- Kotthoff L., Thornton C., Hoos HH, Hutter F., Leyton-Brown K. Auto-WEKA 2.0: Automatisk modelvalg og hyperparameteroptimering i WEKA // Journal of Machine Learning Research. – 2017.
- Feurer M., Klein A., Eggensperger K., Springenberg J., Blum M., Hutter F. Effektiv og robust automatiseret maskinlæring // Advances in Neural Information Processing Systems 28 (NIPS 2015). – 2015.
- Hutter F., Hoos HH, Leyton-Brown K. Sekventiel modelbaseret optimering til generel algoritmekonfiguration // Proceedings of the conference on Learning and Intelligent Optimization (LION 5) . — Rom, Italien: Springer-Verlag, 2011.
- Olson RS, Urbanowicz RJ, Andrews PC, Lavender NA, Kidd L., Moore JH Automatisering af biomedicinsk datavidenskab gennem træbaseret pipelineoptimering // Proceedings of EvoStar 2016 . - 2016. - T. 9597. - (Lecture Notes in Computer Science). — ISBN 978-3-319-31203-3 . - doi : 10.1007/978-3-319-31204-0_9 .
- Olson RS, Bartley N., Urbanowicz RJ, Moore JH Evaluering af et træbaseret rørledningsoptimeringsværktøj til automatisering af datavidenskab . - 2016. - C. Proceedings of EvoBIO 2016 . — ISBN 9781450342063 . - doi : 10.1145/2908812.2908918 . - arXiv : 1603.06212 .
- Dirk Gorissen, Karel Crombecq, Ivo Couckuyt, Piet Demeester, Tom Dhaene. En værktøjskasse til surrogatmodellering og adaptiv sampling til computerbaseret design // J. Machine Learning Research. - 2010. - T. 11 . — S. 2051–2055 .
- Nikolay O. Nikitin, Pavel Vychuzhanin, Mikhail Sarafanov, Iana S. Polonskaia, Ilia Revin, Irina V. Barabanova, Gleb Maximov, Anna V. Kalyuzhnaya, Alexander Boukhanovsky. Automatiseret evolutionær tilgang til design af sammensatte maskinlæringspipelines // Future Generation Computer Systems. - 2022. - T. 127 . - S. 109-125 .