Introduksjon til Deep Learning Algorithms
Dyp læring er et skritt for å komme nærmere kunstig intelligens som kan ta avgjørelser som menneskelige hjerner, dvs. ha evnen til å lære ved prøving og feiling akkurat som mennesker. Den menneskelige hjerne har milliarder av nevroner (rundt 86 milliarder; kilde: Wikipedia). Med kunstige nevroner hjelper dyp læring også med å imitere det menneskelige sinn. For å behandle informasjonen og ta avgjørelsen gjennom kunstige nevrale nettverk er det noen algoritmer, kalt dyp læringsalgoritmer. Algoritmer lærer i hvert lag gradvis dvs. mer verdi legges til fra funksjoner i neste lag. En dyp læringsmodell kan overfeste hvis data er små eller ufullstendige eller for enkle. Deep Learning Algorithms er effektive når data er enormt.
Deep Learning Algorithms
For å lage en dyp læringsmodell må man skrive flere algoritmer, blande dem sammen og lage et nett av nevroner. Dyp læring har høye beregningskostnader. For å hjelpe dype læringsmodeller finnes det dype læringsplattformer som Tensor flow, Py-Torch, Chainer, Keras, etc. I dyp læring har vi prøvd å gjenskape det menneskelige nevrale nettverket med et kunstig nevralt nettverk, den menneskelige nevron kalles perceptron i dyp læringsmodell. Vi kobler disse perceptron-enhetene sammen for å lage et nevralt nettverk, det har 3 seksjoner:
- Inngangssjikt
- Skjulte lag
- Utgangslag
En perceptron har inngangsknuter (dendritter i den menneskelige hjernen), en aktiveringsfunksjon for å ta en liten beslutning og gi ut noder (axon i den menneskelige hjerne). Vi vil se hvordan en perceptron fungerer, ved å koble dem sammen vil skape en dyp læringsmodell. Inndatainformasjon (antall inngangsvariabler / funksjoner) tildeles noe vekt og mates til aktiveringsfunksjon. Aktiveringsfunksjonen tar en beslutning og sender utdata. Denne perceptrons utgang blir sendt til andre nevroner. Når batchet er behandlet, beregnes det med tilbakepropagasjonsfeil ved hver nevron, ved hjelp av en kostnadsfunksjon / kryssentropi. På denne måten tilordnes inngangsvektene på nytt, og hele prosessen fortsetter til kryssentropi tilfredsstiller tilstanden.
Vi har forskjellige aktiveringsfunksjoner som Sigmoid-funksjoner, hyperbolsk tangensfunksjon, Rectified Linear Unit (ReLU), for å ta en liten beslutning. En dyp læringsmodell trenger en enorm mengde data for å bygge en god modell. Generelt blir en modell med mer enn 3 skjulte lag behandlet som et dypt nevralt nettverk. I utgangspunktet er Deep learning et sett med nevroner med et antall parametere definert for hvert lag. For å lage Deep Learning-modellen er de populære arkitekturene RNN, CNN, etc.
Arkitektoniske metoder for dyp læringsalgoritmer
For å bygge denne arkitekturen brukes følgende algoritmer:
1. Tilbake-forplantning
I denne algoritmen beregner vi partielle derivater. Generelt beregnes gradient nedstigningsmetoden for optimalisering, derivater (gradienter) ved hver iterasjon. I dype læringsfunksjoner er ikke enkle, de er sammensetningen av forskjellige funksjoner. I dette tilfellet er det vanskelig å beregne graderinger, så vi bruker omtrentlig differensiering for å beregne derivater. Jo mer antall parametere, jo dyrere omtrentlig differensiering vil være.
2. Stokastisk gradientnedstigning
I gradient nedstigning er målet å finne globale minima eller optimal løsning. Men for å få til det, må vi også vurdere lokale minima-løsninger (ikke ønskelige). Hvis objektivfunksjonen er en konveks funksjon, er det lett å finne de globale minimaene. Den opprinnelige verdien for funksjonen og læringsfrekvensen er avgjørende parametere for å finne globale minima. Dette kan lett forstås ved å vurdere en elv som kommer fra fjelltoppen og søker etter foten (globale minima). Men i veien vil det være noen oppturer og nedturer (lokale minima) som må unngås. Elven med opprinnelsespunkt og hastighet (startverdi og læringsrate i vårt tilfelle) er avgjørende for å finne globale minima.
3. Læringsfrekvens
Læringshastigheten er som elvenes hastighet, den kan redusere treningstiden og øke ytelsen. Generelt sett, for å lære hvilken som helst teknikk / sport, er læringsfrekvensen i begynnelsen relativt høy enn på slutten når man skal mestre den. Etter mellomtrinnet vil innlæringen være treg, fokus vil være på finjustering. Det samme brukes i dyp læring for store endringer blir taklet av en høyere læringsfrekvens og ved å sakte redusere læringsfrekvensen senere for finjustering.
4. Batchnormalisering
I dyp læring innledende verdi av vekt (tilfeldig valgt) og læring, er rate definert for en mini-batch. I begynnelsen ville det være mange utleggere, og under tilbakepropagering må disse utleggerne kompenseres for å beregne vektene for å få utdata. Denne kompensasjonen resulterer i ekstra epoker. Så for å unngå det bruker vi batchnormalisering.
5. Frafall
I dyp læring møter vi generelt problemet med overmasse. Overfitting i store nettverk med flere parametere gjør det vanskelig å forutsi på testdata. Så for å unngå at vi bruker frafallsmetoden, som slipper tilfeldige enheter under trening ved å lage forskjellige 'tynne nettverk'. Når du tester disse tynne nettverkene blir gjennomsnittet av gjennomsnittet, noe som hjelper til med å unngå overmasse.
6. Bag of Words
Vi bruker en kontinuerlig pose med ord for å forutsi neste ord. For eksempel ser vi i e-post at autosuggestion for fullføring av setningen er en del av NLP. Dette gjøres ved å vurdere mange setninger og for et bestemt ord som omgir ord som blir fanget. Disse spesifikke ordene og de omkringliggende ordene føres til det nevrale nettverket. Etter treningsmodellen kan den forutsi det spesifikke ordet basert på de omkringliggende ordene.
7. Langtidsminne
LSTM er veldig nyttig i forutsigelsesproblemer som språkoversettelse, forutsi salg og finne aksjekursen. LSTM har fortrinn til andre teknikker fordi den er i stand til å vurdere tidligere data. LSTM gjør endring etter celletilstandsmekanisme. Den husker å glemme ting. De tre hovedaspektene ved LSTM gjør at den skiller seg ut fra andre dype læringsteknikker. Det første er når nevronen skal ha innspill, for det andre når man skal huske tidligere data, og hva man skal glemme, og for det tredje når man skal sende utdata.
Konklusjon
En dyp læringsmodell er et skritt mot replikering av det menneskelige sinn. I stedet for biologiske nevroner bruker dyp læring et kunstig nevralt nettverk. Dyp læring har høye beregningskostnader, som kan reduseres ved bruk av Deep læringsrammer som Tensor flow og Py-Torch osv. RNN, CNN er arkitektoniske metoder for dype læringsmodeller. Ulike dype læringsalgoritmer som brukes i disse arkitekturene blir diskutert i denne artikkelen.
Anbefalte artikler
Dette er en guide til Deep Learning Algorithms. Her diskuterer vi de arkitektoniske metodene for Deep Learning Algorithms sammen med lag. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -
- Introduksjon til maskinlæringsalgoritmer
- Topp 14 anvendelser av maskinlæring
- Kunstig intelligens vs maskinlæring vs dyp læring
- Topp 13 nyttige Deep Learning intervju spørsmål og svar