Stokastisk gradientnedstigning

Stokastisk gradientnedstigning ( SGD ) er en iterativ metode  til at optimere en objektiv funktion med passende glathedsegenskaber (for eksempel differentiabilitet eller subdifferentierbarhed ) . Det kan opfattes som en stokastisk tilnærmelse af gradientnedstigningsoptimering , da den erstatter den faktiske gradient beregnet fra det fulde datasæt med et estimat beregnet ud fra en tilfældigt udvalgt delmængde af dataene [1] . Dette reducerer de involverede computerressourcer og hjælper med at opnå en højere iterationshastighed i bytte for en lavere konvergenshastighed [2] . En særlig stor effekt opnås i applikationer relateret til behandling af big data .

Selvom den grundlæggende idé om stokastisk tilnærmelse går tilbage til Robbins-Monroe-algoritmen fra 1950'erne [3] , er stokastisk gradientnedstigning blevet en vigtig optimeringsteknik i maskinlæring [1] .

Baggrund

Både statistisk estimering og maskinlæring overvejer problemet med at minimere en objektiv funktion , der har form af en sum

hvor parameterminimeringen skal estimeres . _ Hver sumterm er normalt forbundet med den th observation i datasættet , der bruges til træning.

I klassisk statistik opstår summinimeringsproblemer i mindste kvadraters metode og maksimum sandsynlighedsmetoden (til uafhængige observationer). Den generelle klasse af estimatorer, der opstår som minimering af summer, kaldes M-estimatorer . Men allerede i slutningen af ​​det 20. århundrede blev det bemærket, at kravet om selv lokal minimering er for restriktivt til nogle problemer med maksimumsandsynlighedsmetoden [4] . Derfor overvejer moderne statistiske teoretikere ofte de stationære punkter i sandsynlighedsfunktionen (eller nuller af dens afledte, scoringsfunktionen og andre metoder til at estimere ligninger ).

Summinimeringsproblemet opstår også ved minimering af den empiriske risiko . I dette tilfælde er værdien af ​​tabsfunktionen i det -th eksempel, og er den empiriske risiko.

Når den bruges til at minimere ovenstående funktion, udfører standard (eller "batch") gradientnedstigningsmetode følgende iterationer:

hvor er trinstørrelsen, kaldet indlæringshastigheden i maskinlæring.

I mange tilfælde har summerbare funktioner en simpel form, som tillader billige beregninger for summen af ​​funktioner og gradienten af ​​summen. For eksempel, i statistik, tillader brugen af ​​en-parameter eksponentielle familier økonomisk beregning af funktionen og gradienten.

Men i andre tilfælde kan beregning af gradienten af ​​summen kræve dyre gradientberegninger for alle summerbare funktioner. På et stort træningssæt, i mangel af simple formler, bliver det meget dyrt at beregne summen af ​​gradienterne, da beregning af gradienten af ​​summen kræver beregning af gradienterne af de individuelle termer af summen. For at reducere mængden af ​​beregning vælger stokastisk gradientnedstigning et undersæt af summerbare funktioner ved hver iteration af algoritmen. Denne tilgang er især effektiv til store maskinlæringsproblemer [5] .

Iterativ metode

I stokastisk ("online") gradientnedstigning tilnærmes den sande gradient af gradienten i et træningseksempel

Ved at køre gennem træningssættet udfører algoritmen ovenstående genberegning for hvert træningseksempel. Det kan tage flere gennemløb af træningsdatasættet for at opnå konvergens af algoritmen. Før hver ny gennemgang blandes dataene i sættet for at eliminere muligheden for at sløjfe algoritmen. Typiske implementeringer kan bruge adaptiv læringshastighed forbedre konvergens.

I pseudokode kan stokastisk gradientnedstigning repræsenteres som følger:

En afvejning mellem at beregne den sande gradient og gradienten over et enkelt træningseksempel kan være at beregne gradienten over mere end ét træningseksempel, kaldet en "mini-batch", ved hvert trin. Dette kan være væsentligt bedre end den beskrevne "sande" stokastiske gradientnedstigning, da koden kan bruge vektorformbiblioteker i stedet for separate beregninger ved hvert trin. Det kan også resultere i jævnere konvergens, da gradienten beregnet ved hvert trin beregnes som gennemsnit over flere træningseksempler.

Konvergensen af ​​stokastisk gradientnedstigning er blevet analyseret ved hjælp af de konvekse minimerings- og stokastiske tilnærmelsesteorier . I en forenklet form kan resultatet repræsenteres som følger: når indlæringshastigheden falder med en passende hastighed, givet relativt svage antagelser, konvergerer stokastisk gradientnedstigning næsten sikkert til det globale minimum, hvis den objektive funktion er konveks eller pseudokonveks , ellers konvergerer metoden næsten sikkert til lokalt minimum [6] [7] . Faktisk er dette en konsekvens af Robbins-Sigmund-sætningen [8] .

Eksempel

Antag, at vi ønsker at tilnærme en linje ved hjælp af et træningssæt med mange observationer og tilsvarende svar ved hjælp af mindste kvadraters metode . Den objektive funktion for minimering vil være

Den sidste linje i ovenstående pseudokode for opgaven bliver

Bemærk, at i hver iteration (som også kaldes en resampling), beregnes kun gradienten på et punkt i stedet for at beregne over sættet af alle prøver.

Den vigtigste forskel i forhold til standard (batch) gradientnedstigning er, at kun én del af dataene fra hele sættet bruges på hvert trin, og denne del vælges tilfældigt ved hvert trin.

Bemærkelsesværdige applikationer

Stokastisk gradientnedstigning er en populær algoritme til træning af en lang række modeller i maskinlæring , især i (lineære) støttevektormaskiner , i logistisk regression (se for eksempel Vowpal Wabbit ) og i grafsandsynlighedsmodeller [9] . Når det kombineres med backpropagation- algoritmen , er det de facto- standardalgoritmen til træning af kunstige neurale netværk [10] . Dens anvendelse er også blevet set i det geofysiske samfund, især for Full Waveform Inversion (FWI) applikationer [11] .

Stokastisk gradientnedstigning konkurrerer med L-BFGS -algoritmen , som også er meget brugt. Stokastisk gradientnedstigning er blevet brugt siden mindst 1960 til at træne lineære regressionsmodeller under navnet ADALINE [12] .

En anden stokastisk gradientnedstigningsalgoritme er det adaptive filter for mindste middelkvadrater [ ( LMS) . 

Sorter og modifikationer

Der er mange modifikationer til den stokastiske gradientnedstigningsalgoritme. Især i maskinlæring er problemet valget af indlæringshastighed (trinstørrelse): med et stort trin kan algoritmen divergere, og med et lille trin er konvergensen for langsom. For at løse dette problem kan du bruge indlæringshastighedsplanen , hvor indlæringshastigheden falder, når iterationstallet stiger . På samme tid, ved de første iterationer, ændres værdierne af parametrene betydeligt, og ved senere iterationer bliver de kun forfinet. Sådanne tidsplaner har været kendt siden McQueens arbejde med k -betyder clustering [ 13] . Nogle praktiske råd om valg af trin i nogle SGD-varianter er givet i afsnit 4.4, 6.6 og 7.5 i Spall (2003) [14] .

Implicitte ændringer (ISGD)

Som tidligere nævnt er klassisk stokastisk gradientnedstigning normalt følsom over for indlæringshastighed . Hurtig konvergens kræver en hurtig høj indlæringshastighed, men dette kan forårsage numerisk ustabilitet . Problemet kan hovedsageligt løses [15] ved at overveje den implicitte ændring i , når den stokastiske gradient genberegnes ved næste iteration, og ikke ved den nuværende.

Denne lighed er implicit, fordi den optræder på begge sider af ligheden. Dette er den stokastiske form af den proksimale gradientmetode , da genberegningen kan udtrykkes som

Som et eksempel kan du overveje mindste kvadraters metode med egenskaber og observationer . Vi ønsker at beslutte:

hvor betyder det skalære produkt .

Bemærk, at det kan have "1" som det første element. Klassisk stokastisk gradientnedstigning fungerer sådan her

hvor er jævnt fordelt mellem 1 og . Selvom denne procedure teoretisk konvergerer under relativt milde antagelser, kan proceduren i praksis være meget ustabil. Især, hvis de er indstillet forkert, har de store absolutte egenværdier med høj sandsynlighed, og proceduren kan afvige i flere iterationer. I modsætning hertil kan implicit stokastisk gradientnedstigning ( ISGD ) udtrykkes som  

Proceduren vil forblive numerisk stabil for næsten alle , da indlæringshastigheden nu er normaliseret. En sådan sammenligning mellem klassisk og eksplicit stokastisk gradientnedstigning i mindste kvadraters metode er meget lig sammenligningen mellem filteret med mindste kvadraters ( engelsk mindste kvadraters , LMS) og det normaliserede mindste kvadraters filter ( engelsk normaliseret mindste gennemsnitlige kvadraters filter , NLM'er).   

Selvom den analytiske løsning til ISGD kun er mulig i mindste kvadraters metode, kan proceduren implementeres effektivt i en lang række modeller. Antag især, at afhænger af kun som en lineær kombination af egenskaberne af , så vi kan skrive , hvor en reel værdi funktion kan afhænge af , men ikke direkte, kun gennem . Mindste kvadraters metode opfylder denne betingelse, og derfor opfylder logistisk regression og de fleste generaliserede lineære modeller denne betingelse . For eksempel i mindste kvadrater , og i logistisk regression , hvor er den logistiske funktion . I Poisson regression , og så videre.

Under sådanne forhold er ISGD let at implementere som følger. Lad , hvor er et tal. Så svarer ISGD til

Skalafaktoren kan findes ved at halvere , for i de fleste modeller, såsom de ovenstående generaliserede lineære modeller, falder funktionen, og så vil søgegrænserne for være .

Impuls

Nyere udvikling omfatter momentum-metoden , som dukkede op i Rumelhart , Hinton og Williams' papir om backpropagation learning [16] . Momentum stokastisk gradientnedstigning husker ændringen ved hver iteration og bestemmer den næste ændring som en lineær kombination af gradienten og den forrige ændring [17] [18] :

der fører til

hvor parameteren , som minimerer , skal estimeres , og er trinstørrelsen (nogle gange kaldet indlæringshastigheden i maskinlæring).

Navnet "momentum" stammer fra momentum i fysik - vægtvektoren , forstået som en partikels vej langs parameterrummet [16] , oplever acceleration fra gradienten af ​​tabsfunktionen (" kraft "). I modsætning til klassisk stokastisk gradientnedstigning forsøger metoden at holde fremskridtet i samme retning ved at forhindre udsving. Momentum er blevet brugt med succes af computerforskere til at træne kunstige neurale netværk i flere årtier [19] .

Gennemsnitlig

Gennemsnitlig stokastisk gradientnedstigning , udviklet uafhængigt af Ruppert og Polyak i slutningen af ​​1980'erne, er en konventionel stokastisk gradientnedstigning, der registrerer middelværdien af ​​en vektor af parametre. Det vil sige, at genberegningen er den samme som i den sædvanlige stokastiske gradientnedstigningsmetode, men algoritmen sporer også [20]

.

Når optimeringen er fuldført, træder vektoren af ​​middelparametre i stedet for w .

AdaGrad

AdaGrad (adaptive gradient algorithm ), udgivet i 2011 [21] [22] , er en modifikation af den stokastiske gradient descent-algoritme med en separat  indlæringshastighed for hver parameter . Uformelt øger dette indlæringshastigheden for parametre med sparsomme data og reducerer indlæringshastigheden for parametre med mindre sparsomme data. Denne strategi øger konvergenshastigheden sammenlignet med standard stokastisk gradientnedstigningsmetode under forhold, hvor dataene er sparsomme, og de tilsvarende parametre er mere informative. Eksempler på sådanne applikationer er naturlig sprogbehandling og mønstergenkendelse [21] . Algoritmen har en basisindlæringshastighed, men den multipliceres med elementerne i vektoren , som er diagonalen af ​​den ydre produktmatrix

hvor , gradient pr. iteration . Diagonalen er givet ved

.

Denne vektor opdateres efter hver iteration. Konverteringsformel

[en]

eller skrive som genberegning af parametre,

Hvert element giver en multiplikator for indlæringshastigheden anvendt på én parameter . Fordi nævneren i denne faktor, , er ℓ2- normen for den tidligere afledede, dæmpes store parameterændringer, mens parametre, der modtager små ændringer, får højere indlæringsrater [19] .

Selvom algoritmen blev udviklet til konvekse problemer , er AdaGrad med succes blevet brugt til ikke-konveks optimering [23] .

RMSProp

RMSProp (fra Root Mean Square Propagation ) er en  metode, hvor indlæringshastigheden justeres for hver parameter. Ideen er at dividere indlæringshastigheden for vægtene med de glidende gennemsnit af de seneste gradienter for den vægt [24] . Så det første glidende gennemsnit beregnes i forhold til rms

hvor, er den glemmende faktor.

Valgmuligheder opdateres som

RMSProp har vist god tilpasning af indlæringshastigheden på tværs af forskellige applikationer. RMSProp kan opfattes som en generalisering af Rprop . Metoden er i stand til at arbejde med minipakker, ikke kun fulde pakker [25] .

Adam

Adam [26] (forkortelse for Adaptive Moment Estimation ) er en opdatering til RMSProp optimizer .  Denne optimeringsalgoritme bruger glidende gennemsnit af både gradienterne og de andet momenter af gradienterne. Hvis parametrene er givet , og tabsfunktionen , hvor afspejler indekset for den aktuelle iteration (rapporten starter med ), er genberegningen af ​​parameteren ved Adam-algoritmen givet af formlerne

hvor er et lille additiv, der bruges til at forhindre division med 0, og og er glemmekoefficienterne for henholdsvis gradienterne og de andet momenter af gradienterne. Kvadrat og kvadratrod beregnes element for element.

Naturlig gradientnedstigning og kSGD

Kalman- baseret Stokastisk Gradient Descent ( kSGD  ) [27] er en online og offline algoritme til indlæring af parametre for statistiske problemer for quasi-likelihood- modeller , som inkluderer lineære modeller , ikke-lineære modeller , generaliserede lineære modeller og neurale netværk med rms tab som et særligt tilfælde. For online læringsproblemer er kSGD et specialtilfælde af Kalman-filteret for lineære regressionsproblemer, et særligt tilfælde af det udvidede Kalman-filter for ikke-lineære regressionsproblemer, og kan betragtes som en inkrementel Gauss-Newton- metode . På grund af forholdet mellem kSGD og Kalman-filteret og forholdet mellem naturlig gradientnedstigning [28] til Kalman-filteret [29] er kSGD desuden en væsentlig forbedring af den populære metode til naturlig gradientnedstigning.

Fordele ved kSGD frem for andre metoder:

(1) ufølsom over for antallet af betingelser for problemet, [b] (2) har et robust udvalg af hyperparametre, (3) har en stopbetingelse.

Ulempen ved kSGD er, at algoritmen kræver lagring af en tæt kovariansmatrix mellem iterationer, og ved hver iteration skal produktet af vektoren og matricen findes.

For at beskrive algoritmen antager vi, at funktionen , hvor , er defineret ved at bruge så

hvor er gennemsnitsfunktionen (det vil sige den forventede værdi af ), og er variansfunktionen (det vil sige variansen for ). Derefter er genberegningen af ​​parameteren og genberegningen af ​​den kovariante matrix givet ved følgende udtryk

hvor er hyperparametre. Genberegning kan få den kovariante matrix til at blive udefineret, hvilket kan undgås ved at gange matrix med matrix. kan være en hvilken som helst positiv-definitiv symmetrisk matrix, men identitetsmatrixen tages normalt. Som bemærket af Patel [27] kræves der for alle problemer, undtagen lineær regression, gentagne kørsler for at sikre konvergensen af ​​algoritmen, men der gives ingen teoretiske eller implementeringsdetaljer. En nært beslægtet offline multi-batch metode til ikke-lineær regression, analyseret af Bertsekas [30] , brugte glemmefaktoren ved genberegning af den kovariante matrix for at bevise konvergens.

Anden orden metoder

Det er kendt, at den stokastiske analog af den standard (deterministiske) Newton-Raphson algoritme (“anden ordens” metoden) giver en asymptotisk optimal eller næsten optimal form for iterativ optimering under forhold med stokastisk tilnærmelse. En metode, der anvender den direkte beregning af de hessiske matricer af sumleddene i den empiriske risikofunktion, er udviklet af Bird, Hansen, Nosedal og Singer [31] . Imidlertid er en direkte bestemmelse af de nødvendige hessiske matricer til optimering muligvis ikke mulig i praksis. Praktiske og teoretiske metoder til en andenordens version af SGD - algoritmen, der ikke kræver direkte hessisk information, er blevet givet af Spall et al . ). Disse metoder, selv om de ikke direkte kræver information om hessian, er baseret enten på værdierne af sumtermerne i den empiriske risikofunktion givet ovenfor eller på værdierne af gradienterne af sumtermerne (dvs. SGD-input) . Især andenordens optimalitet er asymptotisk opnåelig uden direkte at beregne de hessiske matricer af summens vilkår i den empiriske risikofunktion.

Kommentarer

  1. er det elementvise produkt af .
  2. For et lineært regressionsproblem er kSGDs objektive funktionsvarians (dvs. total fejl og varians) per iteration lig med sandsynlighed, der tenderer til 1 med en hastighed, der afhænger af , hvor er variansen af ​​residualerne. Desuden kan det for et bestemt valg af , vises, at kSGD's iterationsvarians af den objektive funktion er lig med sandsynlighed, der har tendens til 1 med en hastighed afhængig af , hvor er den optimale parameter.

Se også

Noter

  1. 12 Taddy , 2019 , s. 303-307.
  2. Bottou, Bousquet, 2012 , s. 351-368.
  3. Mei, 2018 , s. E7665–E7671.
  4. Ferguson, 1982 , s. 831-834.
  5. Bottou, Bousquet, 2008 , s. 161-168.
  6. Bottou, 1998 .
  7. Kiwiel, 2001 , s. 1-25.
  8. Robbins, Siegmund, 1971 .
  9. Finkel, Kleeman, Manning, 2008 .
  10. LeCun et al., 2012 , s. 9-48.
  11. Diaz, Guitton, 2011 , s. 2804-2808.
  12. Avi Pfeffer. CS181 Forelæsning 5 - Perceptroner (Harvard University) .  (utilgængeligt link)
  13. Darken, Moody, 1990 .
  14. Spall, 2003 .
  15. Toulis, Airoldi, 2017 , s. 1694–1727
  16. 1 2 Rumelhart, Hinton, Williams, 1986 , s. 533-536.
  17. Sutskever, Martens, Dahl, Hinton, 2013 , s. 1139-1147.
  18. Sutskever, Ilya (2013). Træning af tilbagevendende neurale netværk (PDF) (Ph.D.). University of Toronto. Arkiveret (PDF) fra originalen 2020-02-28 . Hentet 2020-03-01 . Forældet parameter brugt |deadlink=( hjælp )
  19. 1 2 Matthew D. Zeiler (2012), ADADELTA: An adaptive learning rate method, arΧiv : 1212.5701 [cs.LG]. 
  20. Polyak, Juditsky, 1992 , s. 838-855.
  21. 1 2 Duchi, Hazan, Singer, 2011 , s. 2121-2159.
  22. Joseph Perla (2014). Noter om AdaGrad (utilgængeligt link) . Hentet 1. marts 2020. Arkiveret fra originalen 30. marts 2015. 
  23. Gupta, Bengio, Weston, 2014 , s. 1461-1492
  24. Tieleman, Tijmen og Hinton, Geoffrey (2012). Forelæsning 6.5-rmsprop: Divider gradienten med et løbende gennemsnit af dens seneste størrelse. KURSUS: Neurale netværk til maskinlæring
  25. Hinton, Geoffrey Oversigt over mini-batch gradient nedstigning (link utilgængeligt) 27-29. Hentet 27. september 2016. Arkiveret fra originalen 23. november 2016. 
  26. Kingma Diederik, Jimmy Ba (2014), Adam: A method for stochastic optimization, arΧiv : 1412.6980 [cs.LG]. 
  27. 12 Patel , 2016 , s. 2620-2648.
  28. Cichocki, Chen, Amari, 1997 , s. 1345-1351.
  29. Ollivier Yann (2017), Online Natural Gradient as a Kalman Filter, arΧiv : 1703.00209 [stat.ML]. 
  30. Bertsekas, 1996 , s. 807-822.
  31. Byrd, Hansen, Nocedal, Singer, 2016 , s. 1008-1031.
  32. Spall, 2000 , s. 1839−1853.
  33. Spall, 2009 , s. 1216-1229.
  34. Bhatnagar, Prasad, Prashanth, 2013 .
  35. Ruppert, 1985 , s. 236-245.

Litteratur

Læsning for yderligere læsning

Links