Sztochasztikus gradiens süllyedés

A sztochasztikus gradiens süllyedés ( SGD ) egy iteratív módszer  egy célfüggvény optimalizálására megfelelő simasági tulajdonságokkal (például differenciálhatóság vagy szubdifferenciálhatóság ). Felfogható a gradiens süllyedésének optimalizálásának sztochasztikus közelítésének , mivel a teljes adatkészletből számított tényleges gradienst az adatok véletlenszerűen kiválasztott részhalmazából számított becsléssel helyettesíti [1] . Ez csökkenti a felhasznált számítási erőforrásokat , és elősegíti a magasabb iterációs ráta elérését alacsonyabb konvergencia rátákért cserébe [2] . Különösen nagy hatás érhető el a big data feldolgozásával kapcsolatos alkalmazásokban .

Bár a sztochasztikus közelítés alapötlete az 1950-es évek Robbins-Monroe algoritmusára nyúlik vissza [3] , a sztochasztikus gradiens süllyedés a gépi tanulás fontos optimalizálási technikájává vált [1] .

Háttér

Mind a statisztikai becslés , mind a gépi tanulás figyelembe veszi az összeg formájú célfüggvény minimalizálásának problémáját

ahol a paraméterminimalizálást meg kell becsülni . Minden összegtag általában a betanításhoz használt található [ en] megfigyeléshez kapcsolódik .

A klasszikus statisztikában összegminimalizálási problémák merülnek fel a legkisebb négyzetek módszerénél és a maximum likelihood módszernél (független megfigyeléseknél). Az összegek minimalizálásaként létrejövő becslések általános osztályát M-becslésnek nevezzük . Azonban már a 20. század végén észrevették, hogy az egyenletes lokális minimalizálás követelménye túlságosan korlátozó a maximum likelihood módszer egyes problémáinál [4] . Ezért a modern statisztikai teoretikusok gyakran figyelembe veszik a likelihood-függvény stacionárius pontjait (vagy deriváltjának nulláit, a pontozási függvényt és az egyenletek egyéb becslési módszereit ).

Az empirikus kockázat minimalizálása során is felmerül az összegminimalizálási probléma . Ebben az esetben a veszteségfüggvény értéke a -edik példában, és az empirikus kockázat.

Ha a fenti függvény minimalizálására használják, a szabványos (vagy "kötegelt") gradiens süllyedési módszer a következő iterációkat hajtja végre:

hol van a lépésméret, amelyet tanulási sebességnek neveznek a gépi tanulásban.

Az összegezhető függvények sok esetben egyszerű formájúak, ami lehetővé teszi a függvények összegének és az összeg gradiensének olcsó számítását. Például a statisztikákban az egyparaméteres exponenciális családok használata lehetővé teszi a függvény és a gradiens gazdaságos kiszámítását.

Más esetekben azonban az összeg gradiensének kiszámítása költséges gradiens-számításokat igényelhet minden összeadható függvény esetében. Egy nagy képzési halmaznál egyszerű képletek híján a gradiensek összegének kiszámítása nagyon költségessé válik, mivel az összeg gradiensének kiszámításához az összeg egyes tagjainak gradienseit kell kiszámítani. A számítás mennyiségének csökkentése érdekében a sztochasztikus gradiens süllyedés az algoritmus minden iterációjában kiválasztja az összegezhető függvények egy részhalmazát. Ez a megközelítés különösen hatékony nagy gépi tanulási problémák esetén [5] .

Iteratív módszer

Sztochasztikus („online”) gradiens süllyedés esetén a valódi gradienst egy képzési példa gradiensével közelítjük

A betanítási halmazt végigfutva az algoritmus minden egyes betanítási példánál elvégzi a fenti újraszámítást. Az algoritmus konvergenciájának eléréséhez több lépésre is szükség lehet a betanítási adatkészleten. Minden új lépés előtt a készletben lévő adatok megkeverednek, hogy kizárják az algoritmus hurkolásának lehetőségét. A tipikus megvalósítások alkalmazkodó tanulási sebességet használhatnak konvergencia javítására.

A pszeudokódban a sztochasztikus gradiens süllyedés a következőképpen ábrázolható:

A valódi gradiens és a gradiens egyetlen betanítási példán keresztüli kiszámítása közötti kompromisszum lehet, ha a gradienst egynél több betanítási példában, úgynevezett "mini kötegben" számítjuk ki. Ez lényegesen jobb lehet, mint a leírt "igazi" sztochasztikus gradiens süllyedés, mivel a kód használhat vektor alakzat könyvtárakat ahelyett, hogy minden lépésben külön számításokat végezne. Ez simább konvergenciát is eredményezhet, mivel az egyes lépéseknél kiszámított gradienst több tanítási példa alapján átlagolják.

A sztochasztikus gradiens süllyedés konvergenciáját a konvex minimalizálás és a sztochasztikus közelítés elméletek segítségével elemeztük . Egyszerűsített formában az eredmény a következőképpen ábrázolható: ha a tanulási sebesség megfelelő ütemben csökken, viszonylag gyenge feltételezések mellett a sztochasztikus gradiens süllyedés szinte biztosan konvergál a globális minimumhoz, ha a célfüggvény konvex vagy pszeudokonvex , egyébként a módszer szinte biztosan konvergál a lokális minimumhoz [6] [7] . Valójában ez a Robbins-Sigmund tétel [8] következménye .

Példa

Tegyük fel, hogy a legkisebb négyzetek módszerével szeretnénk közelíteni egy egyenest egy sok megfigyelést és megfelelő választ tartalmazó tanító halmaz segítségével . A minimalizálás célfüggvénye az lesz

A feladat fenti pszeudokódjának utolsó sora ez lesz

Vegye figyelembe, hogy minden iterációban (amelyet újramintavételezésnek is neveznek) csak az egyik pont gradiense kerül kiszámításra, ahelyett, hogy az összes minta halmazán keresztül számolnánk.

A legfontosabb különbség a szabványos (kötegelt) gradiens süllyedéshez képest az, hogy a teljes halmaz adatainak csak egy része kerül felhasználásra minden lépésben, és ezt a részt véletlenszerűen választják ki minden lépésben.

Nevezetes alkalmazások

A sztochasztikus gradiens süllyedés egy népszerű algoritmus modellek széles skálájának betanítására a gépi tanulásban , különösen a (lineáris) támogató vektorgépekben , a logisztikus regresszióban (lásd például a Vowpal Wabbit ) és a gráf valószínűségi modellekben [9] . A backpropagation algoritmussal kombinálva ez a de facto szabványos algoritmus a mesterséges neurális hálózatok betanításához [10] . Alkalmazása a geofizikai közösségben is megjelent, különösen a Full Waveform Inversion (FWI) alkalmazásokban [11] .

A sztochasztikus gradiens süllyedés versenyez a szintén széles körben használt L-BFGS A sztochasztikus gradiens süllyedés legalább 1960 óta használatos lineáris regressziós modellek képzésére ADALINE [12] néven .

Egy másik sztochasztikus gradiens süllyedési algoritmus a legkisebb négyzetek adaptív szűrője [ ( LMS) . 

Fajták és módosítások

A sztochasztikus gradiens süllyedés algoritmusának számos módosítása van. A gépi tanulásban különösen a tanulási sebesség (lépésméret) megválasztása okoz problémát: nagy lépésnél az algoritmus eltérhet, kis lépésnél pedig túl lassú a konvergencia. A probléma megoldásához használhatja a tanulási ütem ütemezését , ahol a tanulási sebesség az iterációszám növekedésével csökken . Ugyanakkor az első iterációknál a paraméterek értékei jelentősen megváltoznak, a későbbi iterációknál pedig csak finomodnak. Az ilyen ütemezések McQueen k - means klaszterezéssel foglalkozó munkája óta ismertek [ 13] . Néhány gyakorlati tanácsot ad néhány SGD-változat lépéseinek kiválasztásához Spall (2003) 4.4, 6.6 és 7.5 szakasza [14] .

Implicit változások (ISGD)

Ahogy korábban említettük, a klasszikus sztochasztikus gradiens süllyedés általában érzékeny a tanulási sebességre . A gyors konvergencia gyors, nagy tanulási sebességet igényel, de ez számszerű instabilitást okozhat . A probléma elsősorban úgy oldható meg [15] , hogy figyelembe vesszük az implicit változást , amikor a sztochasztikus gradienst a következő iterációnál számítjuk újra, és nem az aktuálisnál.

Ez az egyenlőség implicit, mert az egyenlőség mindkét oldalán megjelenik. Ez a proximális gradiens módszer sztochasztikus formája , mivel az újraszámítás így fejezhető ki.

Példaként vegyük a legkisebb négyzetek módszerét tulajdonságokkal és megfigyelésekkel . Szeretnénk dönteni:

ahol a skalárszorzatot jelenti .

Ne feledje, hogy az "1" lehet az első elem. A klasszikus sztochasztikus gradiens süllyedés így működik

ahol egyenletesen oszlik el 1 és között . Míg elméletileg ez az eljárás viszonylag enyhe feltételezések mellett konvergál, a gyakorlatban az eljárás nagyon instabil lehet. Különösen, ha helytelenül vannak beállítva, akkor nagy valószínűséggel nagy abszolút sajátértékekkel rendelkeznek, és az eljárás több iterációban eltérhet. Ezzel szemben az implicit sztochasztikus gradiens süllyedés ( ISGD ) úgy fejezhető ki  

Az eljárás numerikusan stabil marad szinte mindegyiknél , mivel a tanulási sebesség most normalizálódott. Egy ilyen összehasonlítás a klasszikus és az explicit sztochasztikus gradiens süllyedés között a legkisebb négyzetek módszerében nagyon hasonló a legkisebb négyzetek szűrője ( angol legkisebb átlag négyzetek , LMS) és a normalizált legkisebb négyzetek szűrő összehasonlításához ( angol normalized legkisebb négyzetek szűrője , NLM-ek).   

Bár az ISGD analitikai megoldása csak a legkisebb négyzetek módszerével lehetséges, az eljárás a modellek széles körében hatékonyan megvalósítható. Konkrétan tegyük fel, hogy csak a tulajdonságok lineáris kombinációjaként függ attól , hogy felírhassuk , ahol egy valós értékű függvény függhet -től , de nem közvetlenül, csak a -n keresztül . A legkisebb négyzetek módszere teljesíti ezt a feltételt, ezért a logisztikus regresszió és a legtöbb általánosított lineáris modell kielégíti ezt a feltételt . Például a legkisebb négyzetekben és a logisztikai regresszióban , ahol a logisztikai függvény . Poisson - regresszióban és így tovább.

Ilyen körülmények között az ISGD könnyen megvalósítható az alábbiak szerint. Legyen , hol van egy szám. Ekkor az ISGD egyenértékű

A léptéktényezőt felezéssel találhatjuk meg , mivel a legtöbb modellben, mint például a fenti általánosított lineáris modelleknél, a függvény csökken, és ekkor a keresési határ a következő lesz .

Impulzus

Az újabb fejlesztések közé tartozik a momentum módszer , amely megjelent Rumelhart , Hinton és Williams tanulmányában a backpropagation learningről [16] . A lendületi sztochasztikus gradiens süllyedés minden iterációnál megjegyzi a változást, és a következő változást a gradiens és az előző változás lineáris kombinációjaként határozza meg [17] [18] :

ami ahhoz vezet

ahol a paramétert , amely minimalizálja , meg kell becsülni , és ez a lépésméret (ezt néha tanulási sebességnek nevezik a gépi tanulásban).

A "lendület" elnevezés a fizikában a lendületből származik - a súlyvektor , amelyet úgy értünk, mint egy részecske útvonalát a paramétertér mentén [16] , és a veszteségfüggvény gradienséből (" erő ") gyorsulást tapasztal. A klasszikus sztochasztikus gradiens süllyedéstől eltérően a módszer a fluktuációk megelőzésével igyekszik ugyanabban az irányban tartani a haladást. A Momentumot több évtizede sikeresen alkalmazzák az informatikusok mesterséges neurális hálózatok képzésére [19] .

Átlagolás

Az Average Stochastic Gradient Descent , amelyet Ruppert és Polyak egymástól függetlenül fejlesztett ki az 1980-as évek végén, egy hagyományos sztochasztikus gradiens süllyedés, amely a paraméterek vektorának átlagát rögzíti. Azaz az újraszámítás ugyanaz, mint a szokásos sztochasztikus gradiens süllyedési módszernél, de az algoritmus követi is [20]

.

Amikor az optimalizálás befejeződött, az átlagparaméterek vektora veszi át w helyét .

AdaGrad

A 2011-ben megjelent AdaGrad (adaptív gradiens algoritmus ) [21] [22] a sztochasztikus gradiens süllyedés algoritmusának egy olyan  módosítása, amely minden paraméterhez külön tanulási sebességgel rendelkezik . Informálisan ez növeli a ritka adatot tartalmazó paraméterek tanulási sebességét, és csökkenti a kevésbé ritka adatot tartalmazó paraméterek tanulási sebességét. Ez a stratégia növeli a konvergencia sebességét a standard sztochasztikus gradiens süllyedési módszerhez képest olyan körülmények között, ahol az adatok ritkák és a megfelelő paraméterek informatívabbak. Ilyen alkalmazások például a természetes nyelvi feldolgozás és a mintafelismerés [21] . Az algoritmusnak van egy alap tanulási sebessége , de azt megszorozzák annak a vektornak az elemeivel, amely a külső szorzatmátrix átlója

ahol , gradiens iterációnként . Az átlót a

.

Ez a vektor minden iteráció után frissül. Konverziós képlet

[a]

vagy paraméterekkel történő újraszámításként írva,

Minden elem egy paraméterre alkalmazott tanulási sebesség szorzót ad . Mivel ebben a faktorban a nevező az előző derivált ℓ2 -es normája , a nagy paraméterváltozások gyengülnek, míg a kis változást mutató paraméterek magasabb tanulási arányt kapnak [19] .

Bár az algoritmust konvex problémákra fejlesztették ki , az AdaGrad-ot sikeresen alkalmazták nem konvex optimalizálásra [23] .

RMSProp

Az RMSProp (a Root Mean Square Propagation szóból) egy olyan  módszer, amelyben a tanulási sebesség minden paraméterhez igazodik. Az ötlet az, hogy a súlyok tanulási sebességét elosztjuk az adott súly legutóbbi gradienseinek mozgóátlagaival [24] . Tehát az első mozgóátlagot az effektív értékkel számítjuk ki

hol van a felejtési tényező.

Az opciók frissülnek:

Az RMSProp jól alkalmazkodott a tanulási sebességhez a különböző alkalmazásokban. Az RMSProp az Rprop általánosításaként fogható fel . A módszer nem csak teljes csomagokkal, hanem minicsomagokkal is képes dolgozni [25] .

Ádám

Adam [26] (az Adaptive Moment Estimation rövidítése ) az RMSProp optimalizáló frissítése .  Ez az optimalizáló algoritmus mind a gradiensek, mind a második pillanatok mozgóátlagait használja. Ha a paraméterek adottak , és a veszteségfüggvény , ahol az aktuális iteráció indexét tükrözi (a jelentés karakterrel kezdődik ), akkor a paraméter Adam algoritmus általi újraszámítását a képletek adják meg.

ahol egy kis adalékot használnak a 0-val való osztás megakadályozására, és a és a gradiensek felejtési együtthatói, illetve a gradiensek második momentumai. A négyzetre emelést és a négyzetgyököt elemről elemre kell kiszámítani.

Természetes gradiens süllyedés és kSGD

A Kalman- alapú sztochasztikus gradiens süllyedés ( kSGD  ) [27] egy online és offline algoritmus a kvázi-likelihood modellek statisztikai problémáinak tanulási paramétereihez , amely lineáris modelleket , nem-lineáris modelleket , általánosított lineáris modelleket és neurális hálózatokat foglal magában. effektív veszteségekkel speciális esetként. Online tanulási problémák esetén a kSGD a Kalman-szűrő speciális esete a lineáris regressziós problémákhoz, a kiterjesztett Kalman-szűrő speciális esete a nemlineáris regressziós problémákhoz, és inkrementális Gauss-Newton módszernek tekinthető . Ezenkívül a kSGD és a Kálmán-szűrő kapcsolata, valamint a természetes gradiens süllyedés [28] és a Kálmán-szűrő [29] kapcsolata miatt a kSGD jelentős előrelépést jelent a népszerű természetes gradiens süllyedés módszeréhez képest.

A kSGD előnyei más módszerekkel szemben:

(1) érzéketlen a probléma számos körülményére, [b] (2) a hiperparaméterek széles választékával rendelkezik, (3) leállási feltétellel rendelkezik.

A kSGD hátránya, hogy az algoritmus sűrű kovarianciamátrix tárolását igényli az iterációk között, és minden iterációnál meg kell találni a vektor és a mátrix szorzatát.

Az algoritmus leírásához feltételezzük, hogy a függvény , ahol , úgy van definiálva, hogy a so that

ahol az átlagoló függvény (vagyis a várható értéke ) , és a varianciafüggvény (vagyis a variancia ) . Ekkor a paraméter újraszámítását és a kovariáns mátrix újraszámítását a következő kifejezések adják

hol vannak a hiperparaméterek. Az újraszámítás hatására a kovariáns mátrix definiálatlanná válhat, ami elkerülhető a mátrix mátrixonkénti szorzásával. lehet bármilyen pozitív-definit szimmetrikus mátrix, de általában az azonosságmátrixot veszik. Amint Patel [27] megjegyezte , a lineáris regresszió kivételével minden probléma esetén ismételt futtatások szükségesek az algoritmus konvergenciájának biztosításához, de elméleti vagy megvalósítási részleteket nem adunk meg. A nemlineáris regresszióhoz szorosan kapcsolódó offline többtételes módszer, amelyet Bertsekas [30] elemzett , a felejtési tényezőt használta a kovariáns mátrix újraszámításánál a konvergencia bizonyítására.

Másodrendű módszerek

Ismeretes, hogy a standard (determinisztikus) Newton-Raphson algoritmus sztochasztikus analógja (a „másodrendű” módszer) aszimptotikusan optimális vagy majdnem optimális formáját adja az iteratív optimalizálásnak sztochasztikus közelítés körülményei között. Bird, Hansen, Nosedal és Singer [31] dolgozott ki egy módszert, amely az empirikus kockázati függvényben az összegtagok Hess-mátrixának közvetlen kiszámítását használja . Előfordulhat azonban, hogy az optimalizáláshoz szükséges Hess-mátrixok közvetlen meghatározása a gyakorlatban nem lehetséges. Az SGD algoritmus olyan másodrendű változatához, amely nem igényel közvetlen Hess-információt, gyakorlati és elméleti keresési módszereket adtak meg Spall et al . ). Ezek a módszerek, bár közvetlenül nem igényelnek információt a Hessian-ról, de vagy a fent megadott empirikus kockázati függvényben szereplő összegtagok értékein, vagy az összegtagok gradienseinek értékein (azaz SGD bemeneten) alapulnak. . Konkrétabban, a másodrendű optimalitás aszimptotikusan elérhető anélkül, hogy az empirikus kockázati függvényben szereplő összegek Hess-mátrixait közvetlenül ki kellene számítani.

Megjegyzések

  1. elemenkénti szorzata .
  2. Lineáris regressziós probléma esetén a kSGD célfüggvény varianciája (azaz a teljes hiba és variancia) iterációnként egyenlő 1-re hajló valószínűséggel, attól függő sebességgel , ahol a maradékok varianciája. Ezen túlmenően egy adott választásnál kimutatható, hogy a célfüggvény kSGD iterációs varianciája egyenlő 1-re hajló valószínűséggel, attól függő sebességgel , ahol az optimális paraméter.

Lásd még

Jegyzetek

  1. Taddy 12. , 2019 , p. 303–307.
  2. Bottou, Bousquet, 2012 , p. 351–368.
  3. Mei, 2018 , p. E7665–E7671.
  4. Ferguson, 1982 , p. 831–834.
  5. Bottou, Bousquet, 2008 , p. 161–168.
  6. Bottou, 1998 .
  7. Kiwiel, 2001 , p. 1–25.
  8. Robbins, Siegmund, 1971 .
  9. Finkel, Kleeman, Manning, 2008 .
  10. LeCun et al., 2012 , p. 9-48.
  11. Diaz, Guitton, 2011 , p. 2804-2808.
  12. Avi Pfeffer. CS181 5. előadás – Perceptronok (Harvard Egyetem) .  (nem elérhető link)
  13. Darken, Moody, 1990 .
  14. Spall, 2003 .
  15. Toulis, Airoldi, 2017 , p. 1694–1727
  16. 1 2 Rumelhart, Hinton, Williams, 1986 , p. 533–536.
  17. Sutskever, Martens, Dahl, Hinton, 2013 , p. 1139–1147.
  18. Sutskever, Ilja (2013). Ismétlődő neurális hálózatok képzése (PDF) (Ph.D.). Torontói Egyetem. Archivált (PDF) az eredetiből ekkor: 2020-02-28 . Letöltve: 2020-03-01 . Elavult használt paraméter |deadlink=( súgó )
  19. 1 2 Matthew D. Zeiler (2012), ADADELTA: Egy adaptív tanulási sebesség módszer, arΧiv : 1212.5701 [cs.LG]. 
  20. Polyak, Juditsky, 1992 , p. 838–855.
  21. 1 2 Duchi, Hazan, Singer, 2011 , p. 2121–2159.
  22. Joseph Perla (2014). Megjegyzések az AdaGrad-ról (nem elérhető link) . Letöltve: 2020. március 1. Az eredetiből archiválva : 2015. március 30. 
  23. Gupta, Bengio, Weston, 2014 , p. 1461–1492
  24. Tieleman, Tijmen és Hinton, Geoffrey (2012). 6.5-rmsprop előadás: Ossza el a gradienst a legutóbbi nagyságrendjének futó átlagával. COURSERA: Neurális hálózatok a gépi tanuláshoz
  25. Hinton, Geoffrey A mini-batch gradiens süllyedés áttekintése (hivatkozás nem érhető el) 27–29. Letöltve: 2016. szeptember 27. Az eredetiből archiválva : 2016. november 23. 
  26. Kingma Diederik, Jimmy Ba (2014), Adam: A method for stochastic optimization, arΧiv : 1412.6980 [cs.LG]. 
  27. Patel 12. , 2016 , p. 2620–2648.
  28. Cichocki, Chen, Amari, 1997 , p. 1345–1351.
  29. Ollivier Yann (2017), Online Natural Gradient as a Kalman Filter, arΧiv : 1703.00209 [stat.ML]. 
  30. Bertsekas, 1996 , p. 807–822.
  31. Byrd, Hansen, Nocedal, Singer, 2016 , p. 1008–1031.
  32. Spall, 2000 , p. 1839−1853.
  33. Spall, 2009 , p. 1216–1229.
  34. Bhatnagar, Prasad, Prashanth, 2013 .
  35. Ruppert, 1985 , p. 236–245.

Irodalom

Olvasás további olvasáshoz

Linkek