Johdanto syvän oppimisen algoritmeihin
Syväoppiminen on askel kohti siirtymistä keinotekoiseen älykkyyteen, joka voisi tehdä päätöksiä kuten ihmisen aivot eli kyky oppia kokeilemalla ja erehdyttämällä samalla tavalla kuin ihmiset. Ihmisen aivoissa on miljardeja neuroneja (noin 86 miljardia; lähde: Wikipedia). Keinotekoisten hermosolujen kanssa syvä oppiminen auttaa myös jäljittelemään ihmismieltä. Tietojen käsittelemiseksi ja päätöksen tekemiseksi keinotekoisten hermoverkkojen kautta on olemassa joitain algoritmeja, joita kutsutaan syvän oppimisen algoritmeiksi. Algoritmit oppivat jokaisessa kerroksessa asteittain eli; enemmän lisäarvoa saadaan seuraavan kerroksen ominaisuuksista. Syväoppimismalli voi olla liian sopiva, jos tiedot ovat pieniä tai puutteellisia tai liian yksinkertaisia. Syvän oppimisen algoritmit ovat tehokkaita, kun tietoja on paljon.
Syvän oppimisen algoritmit
Syvän oppimismallin luomiseksi täytyy kirjoittaa useita algoritmeja, sekoittaa ne yhteen ja luoda neuronien verkko. Syvällä oppimisella on korkeat laskennalliset kustannukset. Syvän oppimisen mallien tukemiseksi on olemassa syvän oppimisen alustoja, kuten Tensor flow, Py-Torch, Chainer, Keras jne. Syvässä oppimisessa olemme yrittäneet toistaa ihmisen hermoverkkoa keinotekoisella hermoverkolla, ihmisen hermostoa kutsutaan perceptroniksi syvän oppimisen malli. Yhdistämme nämä perceptron-yksiköt yhteen hermoverkon luomiseksi. Siinä on 3 osaa:
- Syöttökerros
- Piilotetut kerrokset
- Tulostekerros
Perceptronilla on sisääntulosolmuja (dendriittejä ihmisen aivoissa), aktivointitoiminto pienen päätöksenteon ja ulostulosolmujen tekemiseksi (ihmisen aivojen aksoni). Näemme kuinka yksi perceptron toimii, yhdistämällä ne yhteen luodaan syvän oppimisen malli. Tulotiedoille (sisääntulomuuttujien / ominaisuuksien lukumäärä) annetaan paino ja syötetään käyttötoimintoon. Käynnistystoiminto tekee päätöksen ja lähettää tulosteen. Tämän perceptronin ulostulo syötetään muihin neuroneihin. Kun erä on käsitelty, jokaisessa hermossa lasketaan vastapropagaatiovirhe kustannusfunktion / ristin entropian avulla. Tällä tavalla syöttöpainot määritetään uudelleen ja koko prosessi jatkuu, kunnes ristienertropia täyttää ehdon.
Meillä on erilaisia käyttötoimintoja, kuten Sigmoid-toiminnot, hyperbolinen tangenttitoiminto, tasasuuntainen lineaarinen yksikkö (ReLU), pienen päätöksen tekoon. Syvän oppimisen malli tarvitsee valtavan määrän tietoja hyvän mallin rakentamiseksi. Yleensä mallia, jossa on yli 3 piilotettua kerrosta, pidetään syvänä hermoverkkona. Periaatteessa syväoppiminen on joukko neuroneja, joille kullekin kerrokselle on määritelty joukko parametreja. Syvän oppimisen mallin luomiseksi suositut arkkitehtuurit ovat RNN, CNN jne.
Arkkitehtoniset menetelmät syvän oppimisen algoritmeille
Tämän arkkitehtuurin rakentamiseksi käytetään seuraavia algoritmeja:
1. Takaosan lisääntyminen
Tässä algoritmissa lasketaan osittaiset johdannaiset. Yleensä gradienttien laskeutumismenetelmä optimoimiseksi, johdannaiset (kaltevuudet) lasketaan jokaisessa iteraatiossa. Syväoppimisessa toiminnot eivät ole yksinkertaisia, ne ovat eri toimintojen koostumus. Tässä tapauksessa kaltevuuksia on vaikea laskea, joten johdannaisten laskemiseen käytetään likimääräistä erotusta. Mitä enemmän parametrejä on, sitä kalliimpi likimääräinen erottelu tulee.
2. Stokastisen gradientin laskeutuminen
Gradient-laskeutumisessa tavoitteena on löytää globaalit minimit tai optimaalinen ratkaisu. Mutta sen saavuttamiseksi meidän on harkittava myös paikallisia minimiratkaisuja (ei toivottavia). Jos objektiivifunktio on kupera funktio, globaalit minimit on helppo löytää. Funktion alkuarvo ja oppimisnopeus ovat päättäviä parametreja globaalien minimien löytämiseksi. Tämä voidaan helposti ymmärtää ottamalla huomioon joki, joka tulee vuoren huipulta ja etsii jalankulkua (globaalit minimit). Mutta muuten on joitain ylä- ja alamäkiä (paikallisia minimiä), joita on vältettävä. Jokin lähtöpiste ja nopeus (tapauksessamme alkuarvo ja oppimisnopeus) ovat ratkaisevia tekijöitä globaalien minimien löytämiseksi.
3. Oppimisnopeus
Oppimisnopeus on kuin joen nopeus, se voi vähentää harjoitusaikaa ja parantaa suorituskykyä. Yleensä minkä tahansa tekniikan / urheilun oppimiseksi alussa oppimisaste on suhteellisen korkea kuin lopussa, kun sitä halutaan hallita. Välivaiheen jälkeen oppiminen on hidasta, keskitytään hienosäätöön. Samaa sovelletaan syvässä oppimisessa. Liian suuriin muutoksiin vastataan korkeammalla oppimisasteella ja laskemalla hitaasti myöhemmin hienosäätöä varten.
4. Erän normalisointi
Syvässä oppimisessa painon (satunnaisesti valittu) ja oppimisen alkuarvo määritetään minierälle. Alussa olisi paljon poikkeamia, ja jälkikasvatuksen aikana nämä poikkeamat on kompensoitava painojen laskemiseksi tuotannon saamiseksi. Tämä korvaus johtaa ylimääräisiin aikakausiin. Joten sen välttämiseksi käytämme erän normalisointia.
5. Pudota
Syvässä oppimisessa kohtaamme yleensä liikaasennuksen ongelman. Yliasentaminen suurissa verkoissa, joissa on useita parametrejä, vaikeuttaa testitietojen ennustamista. Joten välttäämme sen, että keskeytysmenetelmä pudottaa satunnaiset yksiköt harjoituksen aikana luomalla erilaisia "ohennettuja verkkoja". Kun testataan näitä ohennettuja verkkoja, ennusteiden keskiarvo lasketaan, mikä auttaa välttämään ylimääräistä asennusta.
6. Sanojen laukku
Käytämme jatkuvaa sankasäkkiä ennustaaksesi seuraavan sanan. Esimerkiksi, sähköpostien kirjoittamisessa näemme lauseen loppuun saattamista koskevan ehdotuksen olevan osa NLP: tä. Tämä tehdään harkitsemalla paljon lauseita ja tietylle sanaa ympäröiville sanoille. Nämä erityiset sanat ja ympäröivät sanat syötetään hermoverkkoon. Harjoitusmallin jälkeen se pystyy ennustamaan tietyn sanan ympäröivien sanojen perusteella.
7. Pitkäaikainen muisti
LSTM on erittäin hyödyllinen sekvenssien ennustamisongelmissa, kuten kielen kääntäminen, myynnin ennustaminen ja osakekurssin löytäminen. LSTM: llä on etulyöntiasema muihin tekniikoihin nähden, koska se pystyy ottamaan huomioon aiemmat tiedot. LSTM tekee muutoksia solutilamekanismin avulla. Se muistaa unohtaa asiat. LSTM: n 3 pääkohtaa tekevät siitä eron muista syvän oppimisen tekniikoista. Ensinnäkin, kun neuronilla pitäisi olla syöttö, toiseksi milloin muistaa aiemmat tiedot ja mitä unohtaa, ja kolmas on aika siirtää lähtö.
johtopäätös
Syvä oppimismalli on askel kohti ihmismielen toisintamista. Biologisten hermosolujen sijasta syvässä oppimisessa käytetään keinotekoista hermoverkkoa. Syvällä oppimisella on korkeat laskennalliset kustannukset, joita voidaan vähentää käyttämällä syviä oppimiskehyksiä kuten Tensor flow ja Py-Torch jne. RNN, CNN ovat arkkitehtuurimenetelmiä syvän oppimisen malleille. Tässä artikkelissa keskustellaan näissä arkkitehtuureissa käytetyistä syvän oppimisen algoritmeista.
Suositellut artikkelit
Tämä on opas syvän oppimisen algoritmeihin. Tässä keskustellaan syvän oppimisen algoritmien arkkitehtonisista menetelmistä yhdessä kerrosten kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Johdanto koneoppimisalgoritmeihin
- Koneoppimisen 14 parasta sovellusta
- Keinotekoinen älykkyys vs koneoppiminen vs syväoppiminen
- 13 suosituinta syvää oppimista koskevaa haastattelua koskevaa kysymystä ja vastausta