Yleiskatsaus hermoverkkoalgoritmeista

  • Otetaan ensin tietää, mitä hermoverkko tarkoittaa? Neuraaliverkot ovat aivojen biologisten hermoverkkojen inspiroimia tai voimme sanoa hermoston. Se on herättänyt paljon jännitystä ja tutkimusta jatketaan tällä koneoppimisen alajoukolla teollisuudessa.
  • Neuraaliverkon laskennallinen perusyksikkö on neuroni tai solmu. Se vastaanottaa arvoja muilta neuroneilta ja laskee tulosteen. Jokainen solmu / neuroni liittyy painoon (w). Tämä paino annetaan kyseisen hermosolun tai solmun suhteellisen tärkeyden suhteen.
  • Joten jos otamme f: n solmufunktioksi, niin solmufunktio f tuottaa tuloksen alla esitetyllä tavalla: -

Neuron lähtö (Y) = f (w1.X1 + w2.X2 + b)

  • Missä w1 ja w2 ovat painoa, X1 ja X2 ovat numeerisia sisääntuloja, kun taas b on harha.
  • Yllä oleva funktio f on epälineaarinen toiminto, jota kutsutaan myös aktivointitoiminnaksi. Sen päätarkoitus on esitellä epälineaarisuus, koska melkein kaikki reaalimaailman tiedot ovat epälineaarisia ja haluamme, että neuronit oppivat nämä esitykset.

Eri neuroverkkoalgoritmit

Tarkastellaan nyt neljää erilaista hermoverkon algoritmeja.

1. Kaltevuuslasku

Se on yksi suosituimmista optimointialgoritmeista koneoppimisen alalla. Sitä käytetään koneoppimallin kouluttamisessa. Yksinkertaisin sanoin, sitä käytetään periaatteessa kertoimien arvojen löytämiseen, jotka yksinkertaisesti vähentävät kustannustoimintoa niin paljon kuin mahdollista. Ensinnäkin määrittelemme joitain parametriarvoja ja sitten laskennan avulla aloitamme arvojen iteratiivisen muuttamisen siten, että menetetty toiminto vähenee.

Katsotaanpa nyt, mikä on kaltevuus ?. Joten, kaltevuus tarkoittaa suurelta osin minkä tahansa funktion lähtöä, jos pienennämme tuloa pienellä määrällä tai toisin sanoen voimme kutsua sen kaltevuuteen. Jos kaltevuus on jyrkkä, malli oppii nopeammin, malli lopettaa oppimisen, kun kaltevuus on nolla. Tämä johtuu siitä, että minimointialgoritmi minimoi annetun algoritmin.

Seuraavan sijainnin löytämiskaavan alapuolella on esitetty kaltevuuslasku.

Missä b on seuraava sijainti

a on nykyinen sijainti, gamma on odotusfunktio.

Joten, kuten näet, kaltevuuslasku on erittäin vakaa tekniikka, mutta on monia alueita, joissa kaltevuuslasku ei toimi kunnolla. Alla on joitain niistä:

  1. Jos algoritmia ei suoriteta oikein, saatamme kohdata jotain, kuten gradientin katoamisen ongelma. Ne tapahtuvat, kun kaltevuus on liian pieni tai liian suuri.
  2. Ongelmia syntyy, kun tietojärjestelyt aiheuttavat kuperan optimointiongelman. Ihmisgradientti toimii vain ongelmissa, jotka ovat kuperan optimoitu ongelma.
  3. Yksi erittäin tärkeistä tekijöistä, joita on etsittävä tämän algoritmin soveltamisessa, ovat resurssit. Jos sovellukselle on osoitettu vähemmän muistia, meidän tulisi välttää gradientin laskeutumisalgoritmia.

2. Newtonin menetelmä

Se on toisen asteen optimointialgoritmi. Sitä kutsutaan toiseksi kertaluvuksi, koska siinä käytetään hyväksi Hessian matriisia. Joten Hessian matriisi ei ole muuta kuin skalaariarvoisen funktion toisen asteen osittaisten johdannaisten neliömatriisi. Newtonin menetelmän optimointialgoritmissa sitä käytetään kaksinkertaisesti erotettavan funktion f ensimmäiseen johdannaiseen, jotta se löytää juuret / kiinteät kohdat. Siirrytään nyt vaiheisiin, joita Newtonin menetelmä vaatii optimoimiseksi.

Ensin se arvioi tappioindeksin. Sitten se tarkistaa, ovatko pysäytyskriteerit totta vai vääriä. Jos väärä, se laskee sitten Newtonin harjoitussuunnan ja treenausnopeuden ja parantaa sitten neuronin parametrejä tai painoja ja taas sama sykli jatkuu. Joten voit nyt sanoa, että se vie vähemmän askelta verrattuna gradientin laskeutumiseen saadakseen minimin toiminnon arvo. Vaikka se vie vähemmän askelia verrattuna gradientin laskeutumisalgoritmiin, sitä ei kuitenkaan käytetä laajasti, koska hessian ja sen käänteisten tarkko laskenta ovat laskennallisesti erittäin kalliita.

3. Konjugaattigradientti

Se on menetelmä, jota voidaan pitää jollain gradienttien laskeutumisen ja Newtonin menetelmän välillä. Tärkein ero on, että se nopeuttaa hidasta lähentymistä, joka yleensä liitetään gradientin laskeutumiseen. Toinen tärkeä tosiasia on, että sitä voidaan käyttää sekä lineaarisiin että epälineaarisiin järjestelmiin ja se on iteratiivinen algoritmi.

Sen ovat kehittäneet Magnus Hestenes ja Eduard Stiefel. Kuten jo edellä mainittiin, että se tuottaa nopeamman konvergenssin kuin gradientin laskeutuminen, syynä siihen on se, että konjugaattigradienttialgoritmissa haku suoritetaan konjugaattisuuntien kanssa, minkä vuoksi se konvergoituu nopeammin kuin gradienttien laskeutumisalgoritmit. Yksi tärkeä huomioitava seikka on, että y: tä kutsutaan konjugaattiparametriksi.

Harjoittelusuunta palautetaan säännöllisesti kaltevuuden negatiiviseksi. Tämä menetelmä on tehokkaampi kuin gradienttien laskeutuminen hermoverkon kouluttamisessa, koska se ei vaadi Hessian matriisia, joka lisää laskennallista kuormitusta, ja se myös konvergoi nopeammin kuin gradientin laskeutuminen. On aiheellista käyttää suurissa hermoverkoissa.

4. Kvasi-Newton-menetelmä

Se on vaihtoehtoinen lähestymistapa Newtonin menetelmään, koska tiedämme nyt, että Newtonin menetelmä on laskennallisesti kallis. Tämä menetelmä ratkaisee nämä haitat siinä määrin, että sen sijaan, että laskettaisiin Hessian matriisi ja sitten laskettaisiin käänteinen suoraan, tämä menetelmä rakentaa lähentämisen käänteiseen Hessiaaniin jokaisessa tämän algoritmin iteraatiossa.

Nyt tämä likiarvo on laskettu käyttämällä häviöfunktion ensimmäisen johdannaisen tietoja. Joten voimme sanoa, että se on todennäköisesti sopivin menetelmä käsitellä suuria verkkoja, koska se säästää laskenta-aikaa ja on myös paljon nopeampi kuin gradienttien laskeutuminen tai konjugaattigradienttimenetelmä.

johtopäätös

Ennen kuin lopetamme tämän artikkelin, verrataan laskennopeutta ja muistia yllä mainittujen algoritmien suhteen. Muistivaatimuksia kohti, gradientin laskeutuminen vaatii vähiten muistia ja se on myös hitain. Päinvastoin kuin Newtonin menetelmä vaatii enemmän laskentatehoa. Joten kaikki nämä huomioon ottaen, Quasi-Newton-menetelmä on parhaiten sopiva.

Suositellut artikkelit

Tämä on opas hermoverkon algoritmeihin. Tässä keskustellaan myös yleiskatsauksesta hermoverkon algoritmista yhdessä vastaavasti neljän eri algoritmin kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Koneoppiminen vs. hermoverkko
  2. Koneoppiminen
  3. Neuraaliverkot vs. syvä oppiminen
  4. K- tarkoittaa ryhmittelyalgoritmia
  5. Opas hermostoverkon luokitteluun

Luokka: