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.

  • ๐Ÿ”˜ Ydinajatus: Ketjusรครคntรถ antaa jokaisen painon hรคviรถn gradientin kerros kerrallaan.
  • โ˜‘๏ธ Harjoitussilmukka: Eteenpรคin siirtรคminen, virheen mittaaminen, sen levittรคminen taaksepรคin, painojen pรคivittรคminen, toistaminen.
  • โœ… Kaksi vaihtoehtoa: Staattinen takaisinpropagaatio kuvaa kiinteรคn syรถtteen kiinteรครคn lรคhtรถรถn; toistuva takaisinpropagaatio asettuu ensin ja sitten etenee.
  • ๐Ÿงช Miksi sillรค on vรคliรค: Gradientin laskeutuminen on kรคytรคnnรถllistรค vain syvissรค verkoissa, koska gradientteja kรคytetรครคn uudelleen kerros kerrokselta.
  • ๐Ÿ› ๏ธ Tunnetut rajoitukset: Suorituskyky riippuu syรถtteen laadusta, ja kohinaiset nรคytteet vรครคristรคvรคt opittuja painotuksia.
  • โš™๏ธ Liukuvรคrjรคyksen kunto: Useiden pienten derivaattojen kertominen aiheuttaa hรคviรคviรค gradientteja; ReLU ja normalisointi vรคhentรคvรคt vaikutusta.

Takaisinlevitys neuroverkossa: koneoppimisalgoritmi

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.

Takaisinpropagaatioalgoritmin kaavio, joka nรคyttรครค eteenpรคin kulkemisen tulo-, piilo- ja lรคhtรถkerrosten lรคpi ja virheen kulkemisen taaksepรคin

  1. Tulot X saapuvat esiliitetyn polun kautta
  2. Syรถte mallinnetaan todellisilla painoilla W. Painot valitaan yleensรค satunnaisesti.
  3. Laske tulos jokaiselle neuronille tulokerroksesta piilotettuihin kerroksiin ja tuloskerrokseen.
  4. Laske tulosteiden virhe:
    ErrorB= Actual Output โ€“ Desired Output
    
  5. Palaa tulostekerroksesta piilotettuun kerrokseen sรครคtรครคksesi painoja niin, ettรค virhe pienenee.
  6. 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.

UKK

Takaisinpropagaatio laskee hรคviรถn gradientin jokaisen painoarvon suhteen. Gradientin lasku on optimoija, joka kรคyttรครค kyseistรค gradienttia ja siirtรครค jokaista painoarvoa. Toinen mittaa kulmakerrointa; toinen ottaa askeleen.

Oppimisnopeus mรครคrittรครค, kuinka pitkรคlle kukin paino liikkuu gradienttiaan pitkin. Liian pieni painoarvo johtaa ryรถmimiseen; liian suuri painoarvo johtaa hรคvikkiin, jotka vรคrรคhtelevรคt tai hajaantuvat. Aikataulut, jotka hidastavat nopeutta epookkien kuluessa, konvergoituvat yleensรค luotettavammin.

Ajan lรคpi tapahtuva takaisinpropagaatio kouluttaa toistuvia verkkoja purkamalla sekvenssin kopioiden ketjuksi ja soveltamalla sitten tavallista takaisinpropagaatiota sen yli. Pitkรคt sekvenssit yleensรค katkaistaan, koska gradientit muuten katoavat tai rรคjรคhtรคvรคt useiden vaiheiden aikana.

Mikรค tahansa derivoitavissa oleva hรคviรถ toimii. Keskineliรถvirhe sopii regressioon, binรครคrinen ristientropia sopii kahden luokan ongelmiin ja kategorinen ristientropia sopii usean luokan tulostasoon. Valinta muuttaa lรคhtรถtason gradienttia, ei itse taaksepรคin suuntautuvaa algoritmia.

Automaattiset hakutyรถkalut tutkivat oppimisnopeuksia, kerrosten leveyksiรค ja regularisointiasetuksia paljon nopeammin kuin manuaalinen kokeilu ja erehdys. Bayes-optimointi ja varhainen pysรคytysping ajoittajat karsivat heikkoja suorituksia nopeasti, jolloin laskentaa jรครค konfiguraatioille, jotka todellisuudessa vรคhentรคvรคt validointihรคvikkiรค.

GitHub Copilot luonnostelee harjoitussilmukat, gradienttitarkistukset ja tasomรครคritelmรคt lyhyestรค kommentista, mikรค lyhentรครค mallipohjaista tyรถskentelyรค. Tarkista tuottamat derivaattoja numeerista gradienttitarkistusta vasten, koska uskottavan nรคkรถinen, mutta vรครคrรคn merkkinen koodi harjoittelee รครคnettรถmรคsti.

Suuret painot kasvattavat taaksepรคin tulevia tuloja jokaisella kerroksella, kunnes pรคivitykset ylittรคvรคt rajan ja hรคviรถstรค tulee epรคvakaa.ping, pienemmรคt alkupainot, erรคn normalisointi ja alhaisempi oppimisnopeus pitรคvรคt kaikki suuruusluokat annetussa vaihteluvรคlissรค.

Erรค on joukko nรคytteitรค, jotka kรคsitellรครคn ennen yhtรค painopรคivitystรค. Iteraatio on yksi tรคllainen pรคivitys. Epookki on yksi tรคydellinen lรคpikรคynti harjoitusjoukon lรคpi, joka sisรคltรครค yhtรค monta iteraatiota kuin on eriรค.

Tiivistรค tรคmรค viesti seuraavasti: