Neuraalverkon takaisinpropagaatio: koneoppimisalgoritmi ja esimerkki
โก รlykรคs yhteenveto
Takaisinpropagaatio on neuroverkon ydinopetusalgoritmi, joka hienosรครคtรครค jokaista painoarvoa edellisessรค epookissa mitatun virheen perusteella siten, ettรค malli yleistyy paremmin nรคkymรคttรถmรครคn dataan, yksi kerros kerrallaan.
Mikรค on tekoรคlyverkko?
Keinotekoinen neuroverkko on joukko toisiinsa kytkettyjรค I/O-yksikรถitรค, joissa jokaisella yhteydellรค on painoarvo. Se auttaa rakentamaan ennustavia malleja suurista tietokannoista, ja suunnittelussa kรคytetรครคn sanastoa ihmisen hermostosta. Tรคllaiset verkot tukevat kuvan ymmรคrtรคmistรค, koneoppimista, tietokonepuhetta ja monia muita hahmontunnistustehtรคviรค.
Takaisinpropagaatio on algoritmi, joka pรครคttรครค, mitkรค noiden painojen tulisi olla, joten nรคmรค kaksi ideaa on parasta lukea yhdessรค.
Mitรค on backpropagation?
Takaisinpropagaatio on neuroverkon koulutuksen ydin. Se on menetelmรค, jolla hienosรครคdetรครคn neuroverkon painoja edellisessรค epookissa (eli iteraatiossa) saadun virhesuhteen perusteella. Painojen asianmukainen viritys mahdollistaa virhesuhteiden pienentรคmisen ja mallin luotettavuuden parantamisen lisรครคmรคllรค sen yleistystรค.
Takaisin eteneminen hermoverkossa on lyhenne sanoista "virheiden leviรคminen taaksepรคin". Se on vakiomenetelmรค keinotekoisten hermoverkkojen harjoittamiseen. Tรคmรค menetelmรค auttaa laskemaan hรคviรถfunktion gradientin suhteessa kaikkiin verkon painoihin.
Kaksi termiรค sekoitetaan usein. Vain takaisinlevitys laskee gradientti; optimoija, kuten gradientin lasku, on se, mitรค se oikeastaan โโon muutokset painot kรคyttรคmรคllรค kyseistรค gradienttia. Lรคhes jokainen moderni kehys suorittaa takaisinlevityksen automaattisesti autodiff-moottorinsa avulla.
Kuinka Backpropagation Algorithm toimii
Neuroverkon takaisinlevitysalgoritmi laskee yksittรคisen painoarvon hรคviรถfunktion gradientin ketjusรครคnnรถn avulla. Se laskee tehokkaasti yhden kerroksen kerrallaan, toisin kuin naiivi suora laskenta. Se laskee gradientin, mutta ei mรครคrittele, miten gradienttia kรคytetรครคn. Se yleistรครค laskennan delta-sรครคnnรถn avulla.
Ketjusรครคntรถ tekee tรคstรค tehokkaan. Yhden varhaisen painon vaikutus lopulliseen hรคviรถรถn on paikallisten derivaattojen tulo lรคhtรถรถn johtavalla polulla, joten algoritmi tallentaa jokaisen kerroksen vรคlituloksen vรคlimuistiin paluumatkalla ja kรคyttรครค sitรค uudelleen jokaiselle alemman kerroksen painolle sen sijaan, ettรค koko verkko laskettaisiin uudelleen painoa kohden.
Tarkastellaan seuraavaa takaisinlevittyvรคn neuroverkon esimerkkikaaviota ymmรคrtรครคksesi sen. Kuva tracyksi tรคysi kierros: syรถtteet tulevat vasemmalta, aktivoinnit siirtyvรคt piilotetun kerroksen lรคpi lรคhtรถรถn ja mitattu virhe kulkee sitten takaisin samoja yhteyksiรค pitkin painojen korjaamiseksi.
- Tulot X saapuvat esiliitetyn polun kautta
- Syรถte mallinnetaan todellisilla painoilla W. Painot valitaan yleensรค satunnaisesti.
- Laske tulos jokaiselle neuronille tulokerroksesta piilotettuihin kerroksiin ja tuloskerrokseen.
- Laske tulosteiden virhe:
ErrorB= Actual Output โ Desired Output
- Palaa tulostekerroksesta piilotettuun kerrokseen sรครคtรครคksesi painoja niin, ettรค virhe pienenee.
- Toista prosessia, kunnes haluttu tulos on saavutettu.
Monissa oppikirjoissa lukee sama mรครคrรค kuin haluttu miinus todellinenKumpikin kรคytรคntรถ toimii, koska etumerkki absorboituu, kun optimoija alittaatracts gradienttia, edellyttรคen, ettรค pidรคt yhden kรคytรคnnรถn koko verkossa.
Kรคytรคnnรถssรค virhe on harvoin pelkkรค osatracHรคviรถfunktio, kuten regression keskimรครคrรคinen neliรถvirhe tai luokittelun ristientropia, muuntaa tuotoskohtaiset erot siksi yhdeksi luvuksi, jonka gradientin takaisinlevitys todellisuudessa laskee.
Miksi me tarvitsemme backpropagaatiota?
Backpropagationin merkittรคvimmรคt edut ovat:
- Backpropagation on nopea, yksinkertainen ja helppo ohjelmoida
- Se ei lisรครค uusia parametreja; tekemรคsi viritys kuuluu optimoijalle ja verkolle, pรครคasiassa oppimisnopeudelle ja syรถtteiden mรครคrรคlle.
- Se on joustava menetelmรค, koska se ei vaadi aiempaa tietoa verkosta
- Se on vakiomenetelmรค, joka toimii yleensรค hyvin
- Se ei vaadi erityistรค mainintaa opittavan toiminnon ominaisuuksista.
Yksinkertaisesti sanottuna, ilman tehokasta tapaa saada gradientteja, yhden kerroksen syvemmรคn tason kouluttaminen olisi laskennallisesti epรคkรคytรคnnรถllistรค.
Mikรค on Feed Forward -verkko?
Feedforward-hermoverkko on keinotekoinen hermoverkko, jossa solmut eivรคt koskaan muodosta sykliรค. Tรคllaisessa hermoverkossa on syรถttรถkerros, piilotetut kerrokset ja tuloskerros. Se on ensimmรคinen ja yksinkertaisin keinotekoisen hermoverkon tyyppi.
Tรคllรค erolla on tรคssรค merkitystรค, koska takaisinpropagaation eteenpรคin suuntautuva kulku on tรคsmรคlleen eteenpรคin suuntautuva kulku; vain virheenkorjaus tapahtuu vastakkaiseen suuntaan.
Backpropagation-verkkojen tyypit
Kahden tyyppisiรค backpropagation verkkoja ovat:
- Staattinen takaisin-eteneminen
- Toistuva Backpropagation
Staattinen takaisin-eteneminen
Se on erรครคnlainen takaisinlevitysverkko, joka tuottaa kartanping staattisen syรถtteen staattista tulostusta varten. On hyรถdyllistรค ratkaista staattisia luokitteluongelmia, kuten optista tekstintunnistusta.
Toistuva Backpropagation
Toistuva takaisinleviรคminen data mining syรถtetรครคn eteenpรคin, kunnes saavutetaan kiinteรค arvo. Sen jรคlkeen virhe lasketaan ja vรคlitetรครคn taaksepรคin.
Nรคiden kahden menetelmรคn tรคrkein ero on se, ettรค karttaping on nopea staattisessa takaisinlevittymisessรค, kun taas se on epรคstaattinen toistuvassa takaisinlevittymisessรค. Alla olevassa taulukossa nรคmรค kaksi on rinnakkain.
| Kriteeri | Staattinen takaisin-eteneminen | Toistuva takaisinlevitys |
|---|---|---|
| karttaping | Staattinen tulo staattiseen lรคhtรถรถn | Ei-staattinen; verkko asettuu ennen kuin virhettรค kรคytetรครคn |
| Nopeus | Nopea, yksi lรคpikulku nรคytettรค kohden | Hitaammin aktivointia toistetaan, kunnes se vakiintuu |
| Verkon muoto | Eteenpรคinkytkentรค, ei syklejรค | Sisรคltรครค takaisinkytkentรคyhteyksiรค |
| Tyypillinen kรคyttรถ | Optinen tekstintunnistus, kiinteรคn kokoinen luokittelu | Ongelmat, joiden tulos riippuu vakiintuneesta sisรคisestรค tilasta |
Backpropagation historia
- Vuonna 1961 J. Kelly, Henry Arthur ja E. Bryson johtivat jatkuvan takaisinpropagaation peruskรคsitteen sรครคtรถteorian yhteydessรค.
- Vuonna 1969 Bryson ja Ho antoivat monivaiheisen dynaamisen jรคrjestelmรคn optimointimenetelmรคn.
- Vuonna 1970 Seppo Linnainmaa julkaisi automaattisen derivoinnin kรครคnteisen moodin, laskennallisen menetelmรคn, jolle nykyinen takaisinpropagaatio perustuu.
- Vuonna 1974 Werbos totesi mahdollisuuden soveltaa tรคtรค periaatetta keinotekoisessa hermoverkossa.
- Vuonna 1982 Hopfield toi ideansa hermoverkosta.
- Vuonna 1986, David E. Rumelhartin, Geoffrey E. Hintonin ja Ronald J. Williamsin ponnisteluilla, backpropagation sai tunnustusta.
- Vuonna 1989 Yann LeCun ja hรคnen kollegansa kouluttivat konvoluutioverkon takaisinlevitystekniikalla lukemaan kรคsin kirjoitettuja numeroita, mikรค oli yksi ensimmรคisistรค laajamittaisista kรคytรคnnรถn sovelluksista.
- Vuonna 1993 Wan voitti ensimmรคisenรค kansainvรคlisen hahmontunnistuskilpailun backpropagation-menetelmรคn avulla.
- Vuonna 2006 Hintonin tyรถ syvien uskomusverkostojen ja kerroskohtaisen esikoulutuksen parissa herรคtti uudelleen kiinnostuksen syvien verkostojen kouluttamiseen, joka oli pysรคhtynyt katoavien gradienttien vuoksi.
- Vuonna 2010 Xavier Glorot ja Yoshua Bengio analysoivat, miksi syviรค verkkoja oli vaikea kouluttaa, ja esittelivรคt parannetun painotuksen alustuksen, joka yhdessรค ReLU-aktivointien kanssa teki syvรคstรค takaisinpropagaatiosta kรคytรคnnรถllisen.
- Vuonna 2012 AlexNet (Krizhevsky, Sutskever ja Hinton) voitti ImageNet-kilpailun kรคyttรคmรคllรค GPU-kiihdytettyรค takaisinpropagaatiota, mikรค kรคynnisti modernin syvรคoppimisen buumin.
- Vuonna 2014 esiteltiin Adam-optimoija (Kingma ja Ba), josta tuli nopeasti takaisinlevityksen kanssa kรคytetty oletusgradienttilaskeutumisvariantti.
- Vuonna 2015 erรคnormalisointi ja jรครคnnรถsverkot (ResNet) ratkaisivat gradienttivirtausongelmia erittรคin syvissรค verkoissa, mahdollistaen takaisinlevityksen satojen kerrosten lรคpi.
- Vuosina 2015โ2017 TensorFlow ja PyTorch teki automaattisesta derivoinnista ohjelmiston vakio-ominaisuuden, joten gradientteja ei enรครค tarvinnut johtaa kรคsin.
- Vuonna 2017 esiteltiin Transformer-arkkitehtuuri, jota koulutetaan pรครคstรค pรครคhรคn takaisinpropagaatiolla, kuten myรถs sen pรครคlle rakennettuja suuria kielimalleja.
- Vuonna 2019 Bengio, Hinton ja LeCun saivat ACM AM Turing -palkinnon tyรถstรครคn syvien neuroverkkojen parissa.
- Vuonna 2020 artikkelissa โBackpropagation and the Brainโ (Lillicrap, Santoro, Marris, Akerman ja Hinton) vรคitettiin, ettรค aivot saattavat lรคhestyรค takaisinlevittymisen kaltaista oppimista, mikรค avasi uudelleen biologisen uskottavuuden keskustelun.
- Vuonna 2022 Hinton ehdotti eteenpรคin-eteenpรคin-algoritmia, koulutusmenetelmรครค, joka vรคlttรครค taaksepรคin suuntautuvan syรถtรถn kokonaan.
- Vuonna 2024 John Hopfield ja Geoffrey Hinton saivat Nobelin fysiikanpalkinnon perustavanlaatuisista lรถydรถksistรค, jotka mahdollistivat koneoppimisen tekoรคlyverkkojen avulla.
- Vuonna 2025 eteenpรคin suuntautuvia menetelmiรค laajennettiin konvoluutioverkkoihin, mikรค osoitti, ettรค takaisinpropagaatiovapaa koulutus voisi toimia kuvien luokittelutehtรคvissรค.
- Vuodesta 2026 lรคhtien takaisinpropagaatio on edelleen kรคytรคnnรถssรค kaikkien syvรคoppimismallien standardikoulutusalgoritmi, kun taas tutkimus jatkuu gradienttivapaiden, paikallisten ja rinnakkaisten oppimismenetelmien lรถytรคmiseksi, jotka vรคhentรคvรคt sen muisti- ja laskentakustannuksia.
Backpropagation avainkohdat
- Yksinkertaistaa verkon rakennetta poistamalla painotetut linkit, joilla on vรคhiten vaikutusta koulutettuun verkkoon
- Sinun on tutkittava joukko syรถttรถ- ja aktivointiarvoja kehittรครคksesi suhdetta syรถttรถ- ja piiloyksikkรถkerrosten vรคlillรค.
- Se auttaa arvioimaan tietyn tulomuuttujan vaikutusta verkon ulostuloon. Tรคstรค analyysistรค saatu tieto tulee esittรครค sรครคnnรถissรค.
- Takaisinpropagointi on erityisen hyรถdyllinen syville hermoverkoille, jotka tyรถskentelevรคt virhealttiissa projekteissa, kuten kuvan tai puheentunnistuksessa.
- Takaisinlevitys hyรถdyntรครค ketju- ja potenssisรครคntรถjรค, minkรค ansiosta se voi toimia millรค tahansa mรครคrรคllรค lรคhtรถjรค.
Parhaat kรคytรคnnรถt takaisinlevityksessรค
Neuroverkon takaisinpropagaatiota voidaan selittรครค "kengรคnnauha"-analogian avulla. Painonmuutokset kรคyttรคytyvรคt paljolti samalla tavalla kuin nauhan jรคnnitys: liian vรคhรคn ja mikรครคn ei pysy koossa, liikaa ja jokin napsahtaa.
| Pitsijรคnnitys | Mitรค se tarkoittaa harjoittelun aikana |
|---|---|
| Liian vรคhรคn jรคnnitystรค | Liian vรคhรคn rajoituksia ja erittรคin lรถysรค โ malli ei sovi kunnolla |
| Liikaa jรคnnitystรค | Liikaa rajoitteita (ylikoulutus); liian kauan aikaa vievรค (suhteellisen hidas prosessi); suurempi rikkoutumisen todennรคkรถisyys |
| Vedรค yhtรค pitsiรค enemmรคn kuin toista | Epรคmukavuus (harha) โ yksi verkoston osa hallitsee sopivuutta |
Analogiasta seuraa kaksi kรคytรคnnรถn tapaa: skaalaa syรถtteet ennen kouluttamista niin, ettรค mikรครคn yksittรคinen ominaisuus ei vedรค kovemmin kuin muut, ja tarkkaile validointihรคviรถtรค, jotta jรคnnitys purkautuu ennen kuin ylikoulutus alkaa.
Backpropagationin kรคytรถn haitat
- Takaisinpropagoinnin todellinen suorituskyky tietyssรค ongelmassa riippuu syรถttรถtiedoista.
- Takaisin etenemisalgoritmi tiedon louhinnassa voi olla melko herkkรค kohinaiselle tiedolle
- Mini-erรคkรคsittelyn aikana takaisinlevitys tulisi toteuttaa matriisipohjaisella lรคhestymistavalla; katsoping yhden esimerkin kerrallaan kรคsittely on huomattavasti hitaampaa.
- Syvissรค verkoissa pienten derivaattojen toistuva kertolasku voi kutistaa gradientteja kohti nollaa, joten varhaisimmat kerrokset tuskin oppivat โ hรคviรคvรคn gradientin ongelma, jota on kuvattu kohdassa Google Koneoppimisen kaatumiskurssi.
Mikรครคn nรคistรค ei sulje pois menetelmรครค. Ne ovat syitรค, miksi ammattilaiset turvautuvat ReLU-aktivointeihin, normalisointiin ja huolellisiin oppimisnopeusaikatauluihin siirtyessรครคn matalasta verkosta a-tasoiseen. syvรค oppiminen malli.

