Gradiendlaskumine ja õppimismäär

Kõik, mis õpib andmetest, teeb seda väikeste sammudega allamäge liikudes. Ainus tõeline küsimus on sammu pikkus. Vastus on aga veidram kui lihtsalt „nii suur, kui julged“: leidub määr, mis jõuab pärale ühe liigutusega, ning määr, millest alates ei jõuta kunagi kohale.

Interaktiivse simulatsiooni laadimine...

Õppetund

Teooria — Gradiendlaskumine ja õppimismäär

Gradientlaskumine seisneb üheainsa rea kordamises: seisa mingis punktis, mõõda kallet ja astu sellega võrdeliselt allamäge. x ← x − η f′(x). Sammupikkus η ei ole osa ülesandest. Kaokõver on ette antud, gradient arvutatakse välja ning η on ainus arv, mille valib inimene. Kõverusega a ruutfunktsiooni puhul on aritmeetika täpselt lahendatav, mistõttu me seda siin lehel kasutamegi. Iga hilisem väide õppimiskiiruse kohta on tegelikult väide avaldise 1 − ηa kohta.

Mida iga sümbol tähendab

η
õppimiskiirus, ainus suurus, mille sa ise valid
a
kao kõverus, mille ülesanne valib sinu eest
Eeldab
Üks muutuja, fikseeritud sammupikkus ja täpselt teadaolev gradient. Tegelik treenimine rikub neid kõiki kolme korraga: parameetreid on miljoneid, sammupikkus muutub vastavalt ajakavale ja gradienti hinnatakse väikese valimi põhjal. Ainus, mis säilib puutumatuna, on piir 2/a juures. See tuleneb kõverusest ühesainsas suunas ja tegelikul kaopinnal on neid iga omavektori kohta üks.

Piir kuulub pinnale, mitte sinu teekonnale 🖖

Lohista alguspunkt kuhu soovid, näiteks väärtuseni 10 või oru teisele poolele, ning 2/a ei liigu. Samuti ei hooli see sellest, mitu sammu sa teed. Piiri paneb paika üksnes kõverus, sest sammu kordaja r = 1 − aη ei sisalda väärtust x₀ ega sammude arvu. Kogu teekond on x₀, mida on korrutatud r-iga nii mitu korda, kui küsisid, seega sõltub kahanemine vaid r-ist endast. Põhjale lähemal alustamine ei anna sulle lisaruumi, vaid lükkab pelgalt edasi hetke, mil hukule määratud määr ilmsiks tuleb. Määra kõveruseks 1,6 ja õppimismääraks 1,3, seejärel liiguta alguspunkti üle selle kogu ulatuse: tabel näitab igas asendis Hajub, sealhulgas nendes, mis asuvad miinimumist poole ühiku kaugusel.

Ülelendamine ei maksa iseenesest midagi 🖖

Sea kõveruseks 1, mis viib ühesammulise määra kohale η = 1. Nüüd proovi väärtust 0,9 ja seejärel 1,1. Mõlemad toovad |x|-i alla 10⁻⁶ seitsme sammuga. Üks neist hiilib mööda oru üht nõlva alla; teine hüppab igal sammul puhtalt üle põhja ja maandub vahelduvatel külgedel. Nende hind on sama, sest kordaja on ühel juhul 1 − aη ja teisel selle vastandarv, ning negatiivne kordaja kahandab arvu täpselt sama kiiresti kui selle positiivne paariline. Sümmeetria pole ligikaudne. Proovi 0,5 ja 1,5: kummakski kulub kakskümmend kaks sammu. Seega näitab siksakiline teekond sulle, kummal pool parimat määra sa asud, kuid ei ütle midagi selle kohta, kas oled läinud liiga kaugele. Selleks on ainus oluline arv 2/a.

Miks tõelisi õppimismäärasid endiselt mõistatatakse 🖖

Sellel lehel on üks kõverus, sest siin on üks mõõde. Tõelisel võrgul on miljoneid parameetreid ja selle kaopind kõverdub igas suunas erineval määral. Kuid arutluskäik jääb kehtima, kui a asendatakse pinna suurima kõverusega, mis on Hesse maatriksi suurim omaväärtus. Üks õppimismäär peab olema ohutu igas suunas korraga, seega määrab kõige järsem suund, millal kogu asi plahvatab. Kõige lamedam suund määrab, kui kaua sa ootad, sest edasiminekut piki seda juhib selle enda väike kõverus. Nende kahe suhe on olekunäitaja ning see selgitab, miks ühel probleemil häälestatud määr kandub nii halvasti üle järgmisele. Miski kao juures ei reeda kumbagi omaväärtust ette ja saja miljoni parameetri suurima omaväärtuse arvutamine pole asi, mida keegi enne hommikusööki teeks. Impulss ja parameetripõhised meetodid nagu Adam eksisteerivad selleks, et laiendada lõhet stabiilse ja kiire vahel.

Ülesanne täielikult lahendatud

  1. Sinu õppimismäär 0,4 toimib. Leia täpne kõverus, mille juures see lakkab töötamast, ja ütle, milline näeb tõrge välja mõlemal pool seda punkti. Alusta tööriistast väärtustega η = 0,4, a = 1 ja x₀ = 8, kus rea Sammu kordaja väärtus on 0,6000 ning teekond astub vaikselt mööda üht nõlva alla.

    Ava see ülesanne tööriistas

    1. Iga küsimus sellel lehel puudutab tingimust |r| < 1, kus r = 1 − aη. Määr on fikseeritud väärtusele 0,4 ja kõverus on see, mida tohid muuta, seega kirjuta tingimus lahti pigem a, mitte η kaudu.

    2. |1 − 0,4a| < 1 avaneb kujule −1 < 1 − 0,4a < 1, seejärel 0 < 0,4a < 2, ehk a < 5. Määr elab üle iga kõveruse, mis on alla 5, ja ei ainsatki, mis on üle selle. See on tuttav η < 2/a teisipidi loetuna ehk a < 2/η. Võrratus on sama ning just teine paigutus vastab küsitule.

    3. Määra täpselt a = 5 ja loe tabelit. r = −1,0000 ning Asukoht pärast 20 sammu näitab 8,000, mis on arv, millest see alustas. Osa algsest kaost on 1,000. See ongi piir ise: iga samm maandub miinimumist sama kaugel kui eelmine, kuid vastasküljel, seega põrkab teekond 8 ja −8 vahel nii kaua, kuni lased sel joosta.

    4. Nüüd nihuta a väärtusele 5,1. r = −1,0400 ja pärast kahtkümmend sammu on x 8 asemel 17,529. See on tõeline hajumine ja tasub tähele panna, kui leebe see välja näeb: kakskümmend sammu peaaegu kahekordistasid kauguse. Vahetult üle piiri asuv teekond võib pikka aega tunduda pelgalt mürane, enne kui arvud ilmselgelt absurdseks muutuvad.

    5. Teises suunas koondub a = 4,9 endiselt. r = −0,9600, |r| on alla 1 ja tabel ütleb Lendab üle, koondub. Kuid Samme |x| viimiseks alla 10⁻⁶ näitab nüüd 390, võrreldes 32-ga kõverusel a = 4. Peaaegu stabiilne on praktiliselt kasutu.

    Vastus

    a = 5, mis on 2/η. Sellest allpool määr koondub, sellel olles kadu ei muutu kunagi, ja sellest ülevalpool kasvab kadu piiramatult. Kallis osa on lähenemine. Piiri lähedal on |r| 1 − a·g, tähistades g-ga vahet 2/a − η, seega log|r| ≈ −a·g ja sammude arv on umbes log(|x₀|/tolerants) jagatud a·g-ga. See on pöördvõrdeline kaugusega piirini: poolita vahe ja sa kahekordistad töö. Kui a = 5 kohast x₀ = 8, nõuavad vahed 0,05, 0,025 ja 0,0125 vastavalt 56, 120 ja 247 sammu, ning korrutades iga arvu oma vahega saame 2,8, 3,0 ja 3,1, mis läheneb väärtusele log(8 × 10⁶)/5 = 3,18. Seepärast ei asu häälestatud õppimismäär kunagi stabiilsuse piiril. Viimane ohutu riba enne piiri on ühtlasi kogu telje üks aeglasemaid piirkondi ja kõigist kiireim määr asub täpselt keskel kohas 1/a.

Õpitee

Andmetele sirge sobitamine

Allikad (3)