AI:n perusteet
MikÃĪ on Backpropagation?
MikÃĪ on Backpropagation?
SyvÃĪn oppimisen jÃĪrjestelmÃĪt pystyvÃĪt oppimaan erittÃĪin monimutkaisia malleja, ja ne saavuttavat tÃĪmÃĪn sÃĪÃĪtÃĪmÃĪllÃĪ painojaan. Miten syvÃĪn neuroverkon painot sÃĪÃĪtÃĪmÃĪllÃĪ tarkalleen? Ne sÃĪÃĪtÃĪmÃĪllÃĪ prosessin kutsutaan prosessina kutsutaan backpropagation. Ilman backpropagationia syvÃĪt neuroverkot eivÃĪt pystyisi suorittamaan tehtÃĪviÃĪ, kuten kuvien tunnistamista ja luonnollisen kielen tulkintaa. YmmÃĪrtÃĪminen, miten backpropagation toimii, on kriittinen ymmÃĪrtÃĪÃĪkseen syvÃĪt neuroverkot yleensÃĪ, joten keskustellaan backpropagationista ja nÃĪhdÃĪÃĪn, miten prosessi kÃĪytetÃĪÃĪn sÃĪÃĪtÃĪmÃĪÃĪn verkon painoja.
Backpropagation voi olla vaikea ymmÃĪrtÃĪÃĪ, ja laskelmat, joita kÃĪytetÃĪÃĪn backpropagationin suorittamiseen, voivat olla melko monimutkaisia. TÃĪmÃĪ artikkeli pyrkii antamaan sinulle intuitiivisen ymmÃĪrryksen backpropagationista, kÃĪyttÃĪmÃĪllÃĪ vÃĪhÃĪn monimutkaisia matemaattisia kaavoja. Kuitenkin joitakin matemaattisten kaavojen taustoja backpropagationista on tarpeen kÃĪydÃĪ lÃĪpi.
Backpropagationin tavoite
Aloitetaan mÃĪÃĪrittelemÃĪllÃĪ backpropagationin tavoite. SyvÃĪn neuroverkon painot ovat yhteyden voimakkuus neuroverkon yksikÃķiden vÃĪlillÃĪ. Kun neuroverkko luodaan, tehdÃĪÃĪn oletuksia siitÃĪ, miten yksikÃķt yhdistyvÃĪt muihin yksikÃķihin. Kun data kulkee neuroverkon lÃĪpi, painot lasketaan ja oletuksia tehdÃĪÃĪn. Kun data saapuu verkon viimeiseen kerrokseen, tehdÃĪÃĪn ennuste siitÃĪ, miten ominaisuudet liittyvÃĪt luokkiin aineistossa. Ennustettujen arvojen ja todellisten arvojen vÃĪlinen ero on virhe/loss, ja backpropagationin tavoite on vÃĪhentÃĪÃĪ virhettÃĪ. TÃĪmÃĪ saavutetaan sÃĪÃĪtÃĪmÃĪllÃĪ verkon painoja, jolloin oletukset muistuttavat enemmÃĪn todellisia suhteita syÃķte-ominaisuuksien vÃĪlillÃĪ.
SyvÃĪn neuroverkon koulutus
Ennen kuin backpropagation voidaan tehdÃĪ neuroverkolla, on suoritettava neuroverkon tavallinen/etenevÃĪ koulutus. Kun neuroverkko luodaan, aloituspainot mÃĪÃĪritellÃĪÃĪn. Painojen arvo muuttuu, kun verkkoa koulutetaan. Neuroverkon etenevÃĪ koulutus voidaan jakaa kolmeen erilliseen vaiheeseen: neuroniaktivaatio, neuronitoraus ja eteneminen.
Kun koulutetaan syvÃĪÃĪ neuroverkkoa, meidÃĪn on kÃĪytettÃĪvÃĪ useita matemaattisia funktioita. Neuroverkon neuronit koostuvat saapuvasta datasta ja aktivaatiofunktiosta, joka mÃĪÃĪrittÃĪÃĪ arvon, joka vaaditaan neuronin aktivoimiseen. Neuronin aktivaatioarvo lasketaan useiden komponenttien avulla, ja se on painotettu summa syÃķtteistÃĪ. Painot ja syÃķtteet riippuvat solmujen indekseistÃĪ, joita kÃĪytetÃĪÃĪn aktivaatioarvon laskemiseen. Toisen luvun on otettava huomioon laskettaessa aktivaatioarvoa, bias-arvo. Bias-arvot eivÃĪt muutu, joten niitÃĪ ei kerrota yhteen painojen ja syÃķtteiden kanssa, vaan ne lisÃĪtÃĪÃĪn. TÃĪmÃĪ tarkoittaa, ettÃĪ seuraava kaava voidaan kÃĪyttÃĪÃĪ aktivaatioarvon laskemiseen:
Aktivaatio = summa(paino * syÃķte) + bias
Neuronin aktivoimisen jÃĪlkeen aktivaatiofunktiota kÃĪytetÃĪÃĪn mÃĪÃĪrittÃĪmÃĪÃĪn neuronin todellisen tulosteen arvo. Eri aktivaatiofunktiot ovat optimaalisia eri oppimistehtÃĪvissÃĪ, mutta yleisesti kÃĪytettyjÃĪ aktivaatiofunktioita ovat sigmoidifunktio, Tanh-funktio ja ReLU-funktio.
Kun neuronin tulokset on laskettu suorittamalla aktivaatioarvo kautta toivottu aktivaatiofunktiota, eteneminen on valmis. Eteneminen on vain ottamista tulokset yhdestÃĪ kerroksesta ja tekeminen niistÃĪ syÃķtteiksi seuraavaan kerrokseen. Uudet syÃķtteet kÃĪytetÃĪÃĪn laskemaan uudet aktivaatiofunktiot, ja tÃĪmÃĪn operaation tulos vÃĪlitetÃĪÃĪn seuraavaan kerrokseen. TÃĪmÃĪ prosessi jatkuu verkon loppuun asti.
Backpropagation verkkoon
Backpropagationin prosessi ottaa vastaan mallin koulutusvaiheen lopputulokset ja mÃĪÃĪrittÃĪÃĪ virheet nÃĪissÃĪ pÃĪÃĪtÃķksissÃĪ. Virheet lasketaan vertaamalla verkon tulokset/ennusteet ja odotetut/haluatut tulokset.
Kun verkon pÃĪÃĪtÃķsten virheet on laskettu, tÃĪmÃĪ tieto vÃĪlitetÃĪÃĪn takaisin verkon lÃĪpi ja verkon parametrejÃĪ muutetaan matkan varrella. MenetelmÃĪ, jota kÃĪytetÃĪÃĪn verkon painojen pÃĪivittÃĪmiseen, perustuu differentiaali- ja integraalilaskentaan, erityisesti ketjusÃĪÃĪntÃķÃķn. Kuitenkin differentiaali- ja integraalilaskennan ymmÃĪrtÃĪminen ei ole vÃĪlttÃĪmÃĪtÃķntÃĪ backpropagationin periaatteen ymmÃĪrtÃĪmiseen. RiittÃĪÃĪ tietÃĪÃĪ, ettÃĪ kun neuronin tulostearvo on annettu, tulosteen kulun lasketaan siirtofunktiolla, josta saadaan johdettu tulos. Kun backpropagationia tehdÃĪÃĪn, virhe tietyn neuronin osalta lasketaan seuraavan kaavan mukaan:
Virhe = (odotettu_tulos â todellinen_tulos) * neuronin tulosteen kulun arvo
Kun toimintaan osallistuvat ulostulokerroksen neuronit, luokka-arvoa kÃĪytetÃĪÃĪn odotettuna arvona. Kun virhe on laskettu, virhettÃĪ kÃĪytetÃĪÃĪn syÃķtteenÃĪ piilokerroksen neuroneille, mikÃĪ tarkoittaa, ettÃĪ piilokerroksen virhe on ulostulokerroksen neuroneiden virheiden painotettu summa. Virhelaskelmat kulkevat taaksepÃĪin verkon lÃĪpi painojen mukana.
Kun verkon virheet on laskettu, verkon painojen on pÃĪivitettÃĪvÃĪ. Kuten mainittiin, virheen laskeminen vaatii tulosteen kulun mÃĪÃĪrittÃĪmisen. Kun kulun on laskettu, voidaan kÃĪyttÃĪÃĪ gradientin laskeutumismenetelmÃĪÃĪ verkon painojen sÃĪÃĪtÃĪmiseen. Gradientti on kulku, jonka kulma/steepness voidaan mitata. Kulku lasketaan piirtÃĪmÃĪllÃĪ ây yliâ tai ânostoâ âjuoksuâ. Neuroverkon ja virheen osalta âyâ on laskettu virhe, kun taas âxâ on verkon parametrejÃĪ. Verkon parametreilla on suhde laskettuihin virhearvoihin, ja kun verkon painoja sÃĪÃĪtÃĪmÃĪllÃĪ virhe kasvaa tai vÃĪhenee.
âGradientin laskeutuminenâ on prosessi, jossa painot pÃĪivitetÃĪÃĪn siten, ettÃĪ virheen mÃĪÃĪrÃĪ vÃĪhenee. Backpropagationia kÃĪytetÃĪÃĪn ennustamaan suhdetta neuroverkon parametrejen ja virheen vÃĪlillÃĪ, mikÃĪ valmistaa verkon gradientin laskeutumiselle. Verkon koulutus gradientin laskeutumisella vaatii painojen laskemista etenemisen kautta, virheen takaisinlaskemisen ja sitten verkon painojen pÃĪivittÃĪmisen.












