Neuraalvõrgus tagasilevimine: ML algoritm ja näide
⚡ Nutikas kokkuvõte
Tagasilevi on närvivõrgu põhitreeningalgoritm, mis peenhäälestab iga eelmises epohhis mõõdetud vea kaalu, nii et mudel üldistub paremini nähtamatute andmete peal, üks kiht korraga.
Mis on tehisnärvivõrk?
Kunstlik närvivõrk on omavahel ühendatud sisend-/väljundüksuste rühm, kus igal ühendusel on oma kaal. See aitab teil luua ennustavaid mudeleid suurtest andmebaasidest ning disain laenab oma sõnavara inimese närvisüsteemilt. Sellised võrgud toetavad piltide mõistmist, masinõpet, arvutikõnet ja paljusid muid mustrituvastuse ülesandeid.
Tagasilevi on algoritm, mis otsustab, millised need kaalud peaksid olema, seega on neid kahte ideed kõige parem koos lugeda.
Mis on backpropagation?
Tagasilevitamine on närvivõrgu treenimise olemus. See on meetod närvivõrgu kaalude peenhäälestamiseks eelmises epohhis (st iteratsioonis) saadud veamäära põhjal. Kaalude õige häälestamine võimaldab vähendada veamäärasid ja muuta mudeli usaldusväärsemaks, suurendades selle üldistatavust.
Tagasi levitamine närvivõrgus on "vigade tagurpidi levitamise" lühike vorm. See on kunstlike närvivõrkude treenimise standardmeetod. See meetod aitab arvutada kadufunktsiooni gradiendi kõigi võrgus olevate kaalude suhtes.
Kaks terminit aetakse sageli segi. Ainult tagasilevi. arvutab gradient; optimeerija, näiteks gradiendi laskumine, on tegelikult see, mis muutused kaalud selle gradiendi abil. Peaaegu iga kaasaegne raamistik teostab tagasilevitamise automaatselt oma automaatse diferentseerimise mootori abil.
Kuidas tagasilevitamise algoritm töötab
Neuraalvõrgu tagasilevi algoritm arvutab ahelreegli abil ühe kaaluga kaotusfunktsiooni gradiendi. Erinevalt naiivsest otsesest arvutusest arvutab see tõhusalt ühe kihi korraga. See arvutab gradiendi, kuid ei defineeri, kuidas gradienti kasutatakse. See üldistab arvutust deltareegli abil.
Selle efektiivseks teeb ahelreegel. Ühe varajase kaalu mõju lõplikule kadule on väljunditeel olevate lokaalsete tuletiste korrutis, seega salvestab algoritm iga kihi vahetulemuse tagasiteel vahemällu ja kasutab seda uuesti iga alumise kihi kaalu jaoks, selle asemel, et kogu võrku iga kaalu kohta uuesti arvutada.
Mõistmiseks vaadake järgmist tagasileviva närvivõrgu näidisskeemi. Joonis traces üks täisläbimine: sisendid sisenevad vasakult, aktiveerimised liiguvad läbi peidetud kihi väljundisse ja mõõdetud viga liigub seejärel mööda samu ühendusi tagasi, et kaalusid korrigeerida.
- Sisendid X, saabuvad eelühendatud tee kaudu
- Sisend modelleeritakse tegelike kaalude W abil. Kaalud valitakse tavaliselt juhuslikult.
- Arvutage iga neuroni väljund sisendkihist peidetud kihtideni ja väljundkihini.
- Arvutage väljundites olev viga:
ErrorB= Actual Output – Desired Output
- Liikuge väljundkihilt tagasi peidetud kihti, et reguleerida kaalu nii, et viga väheneks.
- Korda protsessi seni, kuni soovitud tulemus on saavutatud.
Paljudes õpikutes on kirjas sama kogus kui soovitud miinus tegelikMõlemad kokkulepped toimivad, sest märk neeldub, kui optimeerija alamtracts gradienti, eeldusel, et säilitate kogu võrgus ühe kokkuleppe.
Praktikas on viga harva tühi alamfoorum.tracKaotusfunktsioon, näiteks regressiooni keskmine ruutviga või klassifitseerimise ristentroopia, teisendab väljundipõhised erinevused üheks arvuks, mille gradiendi tagasilevi tegelikult arvutab.
Miks me vajame tagasilevitamist?
Backpropagationi silmapaistvamad eelised on:
- Tagasipalumine on kiire, lihtne ja hõlpsasti programmeeritav
- See ei lisa uusi parameetreid; teie tehtav häälestamine, peamiselt õppimiskiirus ja sisendite arv, kuulub optimeerijale ja võrgule.
- See on paindlik meetod, kuna see ei nõua eelteadmisi võrgu kohta
- See on standardmeetod, mis töötab üldiselt hästi
- See ei vaja eraldi mainimist õpitava funktsiooni omaduste kohta.
Lihtsamalt öeldes oleks ilma tõhusa gradientide saamise viisita arvutuslikult ebapraktiline treenida midagi sügavamat kui üks kiht.
Mis on edastusvõrk?
Edasisuunaline närvivõrk on kunstlik närvivõrk, kus sõlmed ei moodusta kunagi tsüklit. Seda tüüpi närvivõrgul on sisendkiht, peidetud kihid ja väljundkiht. See on esimene ja lihtsaim kunstliku närvivõrgu tüüp.
See eristus on siin oluline, sest tagasilevi edasiliikumine on täpselt edasisaatmine; ainult veaparandus toimub vastupidises suunas.
Tagasilevitavate võrkude tüübid
Tagasi levitamise võrke on kahte tüüpi:
- Staatiline tagasilevi
- Korduv tagasipaljundamine
Staatiline tagasilevi
See on üks tagasilevitamise võrgu liik, mis loob kaardiping staatilise sisendi staatilise väljundi jaoks. See on kasulik staatilise klassifitseerimise probleemide, näiteks optilise märgituvastuse, lahendamiseks.
Korduv tagasipaljundamine
Korduv tagasilevi sisse andmete kaevandamine edastatakse edasi, kuni saavutatakse fikseeritud väärtus. Pärast seda arvutatakse viga ja edastatakse see tagasi.
Nende kahe meetodi peamine erinevus on see, et kaartping on staatilises tagasilevimises kiire, samas kui rekurrentses tagasilevimises on see mittestaatiline. Allolev tabel esitab need kaks kõrvuti.
| Kriteerium | Staatiline tagasilevi | Korduv tagasilevi |
|---|---|---|
| kaartping | Staatiline sisend staatiliseks väljundiks | Mittestaatiline; võrk rahuneb enne vea kasutamist |
| Kiirus | Kiire, üks läbimine proovi kohta | Aeglasem, aktiveerimist korratakse kuni stabiliseerumiseni |
| Võrgu kuju | Edasisuunaline, tsükliteta | Sisaldab tagasisideühendusi |
| Tüüpiline kasutamine | Optiline märgituvastus, fikseeritud suurusega klassifikatsioon | Probleemid, mille väljund sõltub stabiliseerunud sisemisest olekust |
Backpropagation ajalugu
- 1961. aastal tuletasid J. Kelly, Henry Arthur ja E. Bryson juhtimisteooria kontekstis pideva tagasilevitamise põhikontseptsiooni.
- 1969. aastal andsid Bryson ja Ho mitmeastmelise dünaamilise süsteemi optimeerimise meetodi.
- 1970. aastal avaldas Seppo Linnainmaa automaatse diferentseerimise pöördrežiimi, arvutusmeetodi, millele tänapäevane tagasilevitus on üles ehitatud.
- 1974. aastal teatas Werbos võimalusest rakendada seda põhimõtet tehisnärvivõrgus.
- 1982. aastal tõi Hopfield oma idee närvivõrgust.
- David E. Rumelharti, Geoffrey E. Hintoni ja Ronald J. Williamsi jõupingutustel pälvis 1986. aastal tagasipaljundamine tunnustuse.
- 1989. aastal treenisid Yann LeCun ja tema kolleegid tagasilevitamise abil konvolutsioonilist võrku käsitsi kirjutatud numbrite lugemiseks, mis oli üks esimesi laiaulatuslikke praktilisi rakendusi.
- 1993. aastal võitis Wan esimese inimesena rahvusvahelise mustrite tuvastamise võistluse backpropagation meetodi abil.
- 2006. aastal taaselustas Hintoni töö sügavate uskumusvõrgustike ja kihtide kaupa eelkoolituse alal huvi süvavõrgustike koolitamise vastu, mis oli kaduvate gradientide tõttu seiskunud.
- 2010. aastal analüüsisid Xavier Glorot ja Yoshua Bengio, miks süvavõrke on raske treenida, ning tutvustasid täiustatud kaalu initsialiseerimist, mis koos ReLU aktiveerimistega muutis sügava tagasilevitamise praktiliseks.
- 2012. aastal võitis AlexNet (Krizhevsky, Sutskever ja Hinton) ImageNeti võistluse, kasutades GPU-kiirendusega tagasilevitamist, mis pani aluse tänapäevasele süvaõppe buumile.
- 2014. aastal võeti kasutusele Adam optimeerija (Kingma ja Ba), millest sai kiiresti tagasilevitamise puhul kasutatav vaikimisi gradiendi-laskumise variant.
- 2015. aastal lahendasid partiide normaliseerimine ja jääkvõrgud (ResNet) gradientvoo probleemid väga sügavates võrkudes, võimaldades tagasilevi läbi sadade kihtide.
- Aastatel 2015–2017 kasutasid TensorFlow ja PyTorch muutis automaatse diferentseerimise tarkvara standardfunktsiooniks, seega ei pidanud gradiente enam käsitsi tuletama.
- 2017. aastal võeti kasutusele Transformeri arhitektuur, mida treenitakse otsast lõpuni tagasilevitamise abil, nagu ka sellele ehitatud suuri keelemudeleid.
- 2019. aastal said Bengio, Hinton ja LeCun ACM AM Turingi auhinna oma töö eest sügavate närvivõrkude alal.
- 2020. aastal väitis Lillicrap, Santoro, Marris, Akerman ja Hinton oma artiklis „Tagasilevi ja aju“ (ingl k „Backpropagation and the Brain“), et aju võib õppimisele läheneda tagasilevi sarnaselt, taasavades bioloogilise usutavuse arutelu.
- 2022. aastal pakkus Hinton välja edasi-tagasi algoritmi, mis on treeningmeetod, mis väldib täielikult tagasipööramist.
- 2024. aastal omistati John Hopfieldile ja Geoffrey Hintonile Nobeli füüsikapreemia alusavastuste eest, mis võimaldasid masinõpet tehisnärvivõrkude abil.
- 2025. aastal laiendati edasisuunalisi meetodeid konvolutsioonivõrkudele, mis näitas, et tagasilevimiseta treenimine võiks toimida piltide klassifitseerimise ülesannete puhul.
- 2026. aasta seisuga on tagasilevitamine endiselt praktiliselt kõigi süvaõppe mudelite standardne treeningalgoritm, samal ajal kui jätkuvad uuringud gradiendivabade, lokaalsete ja paralleelsete õppemeetodite kohta, mis vähendavad selle mälu- ja arvutuskulusid.
Tagasi levitamise põhipunktid
- Lihtsustab võrgustruktuuri, eemaldades kaalutud lingid, millel on treenitud võrgule kõige väiksem mõju.
- Peate uurima sisend- ja aktiveerimisväärtuste rühma, et arendada seost sisend- ja peidetud ühikukihtide vahel.
- See aitab hinnata mõju, mida antud sisendmuutuja avaldab võrguväljundile. Sellest analüüsist saadud teadmised tuleks esitada reeglites.
- Tagasi levitamine on eriti kasulik sügavate närvivõrkude jaoks, mis töötavad veaohtlike projektidega, nagu pildi- või kõnetuvastus.
- Tagasilevi kasutab ära ahela- ja astmereegleid, mis võimaldavad sellel toimida mis tahes arvu väljunditega.
Tagasilevitamise parimad tavad
Neuraalvõrgus toimuvat tagasilevimist saab seletada „kinganööri“ analoogia abil. Kaalu muutused käituvad sarnaselt paela pingele: liiga vähe ja miski ei püsi koos, liiga palju ja midagi napsab.
| Pitsi pinge | Mida see treeningu ajal tähendab |
|---|---|
| Liiga vähe pinget | Liiga ebapiisav piiramine ja väga lõtv – mudel ei sobi piisavalt hästi |
| Liiga palju pinget | Liiga palju piiranguid (ületreening); liiga palju aega võttev (suhteliselt aeglane protsess); suurem purunemise tõenäosus |
| Tõmmates ühte pitsi rohkem kui teist | Ebamugavustunne (eelarvamus) – üks osa võrgustikust domineerib sobivuse üle |
Analoogiast tulenevad kaks praktilist harjumust: skaleerida sisendeid enne treenimist nii, et ükski funktsioon ei oleks teistest tugevam, ja jälgida valideerimiskaotust, et pinge vabaneks enne ületreenimise tekkimist.
Backpropagationi kasutamise puudused
- Tagasi levitamise tegelik jõudlus konkreetse probleemi korral sõltub sisendandmetest.
- Andmekaeve tagasilevimise algoritm võib olla mürarikaste andmete suhtes üsna tundlik
- Minipartii puhul tuleks tagasilevi rakendada maatriksipõhise lähenemisviisiga; vaaaping ühe näite korraga töötlemine on märgatavalt aeglasem.
- Sügavates võrkudes võib väikeste tuletiste korduv korrutamine gradiente nulli poole kahandada, seega varaseimad kihid vaevu õpivad – kaduva gradiendi probleem, mida on kirjeldatud punktis Google Masinaõppimise krahh.
Ükski neist ei välista meetodi kasutamist. Need on põhjused, miks praktikud pöörduvad ReLU aktiveerimise, normaliseerimise ja hoolika õppimiskiiruse ajakava poole, kui nad liiguvad madalast võrgust a-sse. sügav õpe mudel.

