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 :

  1. Vi opretter en indledende population af tilfældige løsninger (dvs. en tilfældigt genereret hyperparametertupel, normalt 100+)
  2. 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)
  3. Rangér hyperparameter-tupler efter deres relative kondition
  4. Erstat hyperparametertupler med dårligere ydeevne med nye hyperparametertupler dannet ved at krydse og mutation
  5. 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. 1 2 Claesen, Marc & Bart De Moor (2015), Hyperparameter Search in Machine Learning, arΧiv : 1502.02127 [cs.LG]. 
  2. 1 2 3 Bergstra, Bengio, 2012 , s. 281-305.
  3. 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 .
  4. Chicco, 2017 , s. 1-17.
  5. Ziyu, Frank, Masrour, David, de Feitas, 2016 .
  6. Hutter, Hoos, Leyton-Brown, 2011 .
  7. 1 2 3 Bergstra, Bardenet, Bengio, Kegl, 2011 .
  8. Snoek, Larochelle, Adams, 2012 .
  9. Thornton, Hutter, Hoos, Leyton-Brown, 2013 .
  10. Larsen, Hansen, Svarer, Ohlsson, 1996 .
  11. Chapelle, Vapnik, Bousquet, Mukherjee, 2002 , s. 131-159.
  12. Chuong, Foo, Ng, 2008 .
  13. Domke, 2012 .
  14. 1 2 Maclaurin, Douglas; Duvenaud, David & Adams, Ryan P. (2015), Gradientbaseret hyperparameteroptimering gennem reversibel læring, arΧiv : 1502.03492 [stat.ML]. 
  15. 1 2 Olson, Urbanowicz, Andrews, Lavender, Kidd, Moore, 2016 , s. 123-137.
  16. 1 2 Olson, Bartley, Urbanowicz, Moore, 2016 , s. 485-492.
  17. 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] . 
  18. 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]. 
  19. 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]. 
  20. 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]. 
  21. 1 2 Hazan, Elad; Klivans, Adam & Yuan, Yang (2017), Hyperparameter Optimization: A Spectral Approach, arΧiv : 1706.00764 [cs.LG]. 
  22. Martinez-Cantin, 2014 , s. 3915−3919.
  23. Kotthoff, Thornton, Hoos, Hutter, Leyton-Brown, 2017 , s. 1-5.
  24. Feurer, Klein, Eggensperger, Springenberg, Blum, Hutter, 2015 , s. 2962-2970.
  25. Baptista, Ricardo & Poloczek, Matthias (2018), Bayesian Optimization of Combinatorial Structures, arΧiv : 1806.08838 [stat.ML]. 
  26. Hutter, Hoos, Leyton-Brown, 2011 , s. 507-523.
  27. Nikitin, Vychuzhanin, Sarafanov, Polonskaia, Revin, Barabanova, Maximov, Kalyuzhnaya, Boukhanovsky, 2022 , s. 109-125.
  28. Gorissen, Crombecq, Couckuyt, Demeester, Dhaene, 2010 , s. 2051-2055

Litteratur