Introduktion till Deep Learning Algoritms
Djupt lärande är ett steg för att närma sig Artificiell intelligens som kan fatta beslut som mänskliga hjärnor, dvs ha förmågan att lära genom prövning och misstag precis som människor. Den mänskliga hjärnan har miljarder neuroner (cirka 86 miljarder; källa: Wikipedia). Med artificiella neuroner hjälper djup inlärning också att imitera det mänskliga sinnet. För att bearbeta informationen och fatta beslut genom konstgjorda neurala nätverk finns det några algoritmer, kallade djupinlärningsalgoritmer. Algoritmer lär sig i varje lager successivt, dvs. mer värde läggs till från funktioner i nästa lager. En djup inlärningsmodell kan överföra om data är små eller ofullständiga eller för enkla. Deep Learning Algoritms är effektiva när data är stora.
Deep Learning Algoritms
För att skapa en djup inlärningsmodell måste man skriva flera algoritmer, blanda dem ihop och skapa ett nät av nervceller. Djupt lärande har en hög beräkningskostnad. För att hjälpa djupa inlärningsmodeller finns det djupa inlärningsplattformar som Tensorflöde, Py-Torch, Chainer, Keras, etc. I djup inlärning har vi försökt att replikera det mänskliga nervnätverket med ett konstgjordt neuralt nätverk, den mänskliga neuronen kallas perceptron i djup inlärningsmodell. Vi kopplar samman dessa perceptron-enheter för att skapa ett neuralt nätverk, det har tre avsnitt:
- Inmatningsskikt
- Dolda lager
- Outputlager
En perceptron har inmatningsnoder (dendriter i den mänskliga hjärnan), en aktiveringsfunktion för att fatta ett litet beslut och utföra noder (axon i den mänskliga hjärnan). Vi kommer att se hur en perceptron fungerar, att ansluta dem tillsammans skapar en djup inlärningsmodell. Ingångsinformation (antal inmatningsvariabler / funktioner) tilldelas viss vikt och matas till aktiveringsfunktionen. Aktiveringsfunktionen fattar ett beslut och skickar utdata. Denna perceptrons utgång kommer att matas in till andra nervceller. När partiet har bearbetats, beräknas backpropagationsfel vid varje neuron med hjälp av en kostnadsfunktion / tvär entropi. På detta sätt tilldelas ingående vikter och hela processen fortsätter tills tvär entropi uppfyller villkoret.
Vi har olika aktiveringsfunktioner som Sigmoid-funktioner, hyperbolisk tangentfunktion, Rectified Linear Unit (ReLU), för att fatta ett litet beslut. En djup inlärningsmodell behöver en enorm mängd data för att bygga en bra modell. I allmänhet behandlas en modell med mer än 3 dolda lager som ett djupt neuralt nätverk. I grund och botten är Deep learning en uppsättning neuroner med ett antal parametrar definierade för varje lager. För att skapa Deep Learning-modellen är de populära arkitekturerna RNN, CNN, etc.
Arkitektoniska metoder för djupinlärningsalgoritmer
För att bygga denna arkitektur används följande algoritmer:
1. Tillbaka förökning
I denna algoritm beräknar vi partiella derivat. I allmänhet beräknas metoden för gradientavstamning för optimering, derivat (lutningar) vid varje iteration. I djupa inlärningsfunktioner är inte enkla, de är sammansättningen av olika funktioner. I det här fallet är det svårt att beräkna lutningar, så vi använder ungefärlig differentiering för att beräkna derivat. Ju mer antal parametrar, desto dyrare ungefärlig differentiering blir.
2. Stokastisk gradientnedstigning
I gradient härkomst är målet att hitta globala minima eller optimal lösning. Men för att få till det måste vi överväga lokala minimilösningar (inte önskvärda) också. Om objektivfunktionen är en konvex funktion är det lätt att hitta de globala minima. Det initiala värdet för funktionen och inlärningshastigheten är avgörande parametrar för att hitta globala minima. Detta kan lätt förstås genom att överväga en flod som kommer från bergstoppen och letar efter foten (globala minima). Men på vägen kommer det att finnas några upp- och nedgångar (lokala minima) som måste undvikas. Flodens ursprungspunkt och hastighet (initialvärde och inlärningshastighet i vårt fall) är avgörande faktorer för att hitta globala minima.
3. Lärningshastighet
Inlärningshastigheten är som flodens hastighet, det kan minska träningstiden och öka prestandan. I allmänhet, för att lära sig någon teknik / sport, i början är inlärningshastigheten relativt hög än i slutet när man ska behärska den. Efter mellanstadiet kommer inlärningen att vara långsam, fokus kommer att ligga på finjustering. Detsamma tillämpas i djup inlärning, alltför stora förändringar hanteras av en högre inlärningshastighet och genom att långsamt minska inlärningshastigheten senare för finjustering.
4. Batchnormalisering
I djup inlärning startvärdet för vikt (slumpmässigt valt) och inlärning, definieras frekvens för en mini-grupp. Till att börja med skulle det finnas många outliers, och under backpropagation måste dessa outliers kompenseras för att beräkna vikterna för att få utmatning. Denna kompensation resulterar i extra epoker. Så för att undvika det använder vi batchnormalisering.
5. Släpp ut
Vid djup inlärning stöter vi i allmänhet på problemet med övermontering. Överpassning i stora nätverk med flera parametrar gör det svårt att förutsäga på testdata. Så för att undvika att vi använder dropout-metoden, som släpper slumpmässiga enheter under träning genom att skapa olika "tunnade nätverk". När man testar dessa tunnade nätverk beräknas medelvärdet, vilket hjälper till att undvika övermontering.
6. Väska med ord
Vi använder en kontinuerlig påse med ord för att förutsäga nästa ord. Till exempel ser vi i e-post att autosuggestion för att slutföra meningen är en del av NLP. Detta görs genom att överväga massor av meningar och för ett specifikt ord som omger ord som fångas. Dessa specifika ord och omgivande ord matas till det neurala nätverket. Efter träningsmodellen kan den förutsäga det specifika ordet baserat på de omgivande orden.
7. Långt kortvarigt minne
LSTM är mycket användbart i sekvensprognosproblem som språköversättning, förutsägande försäljning och hitta aktiekursen. LSTM har fördelen med andra tekniker eftersom den kan överväga tidigare data. LSTM gör modifiering med celltillståndsmekanismen. Den minns att glömma saker. De tre huvudsakliga aspekterna av LSTM gör att den sticker ut från andra djupa inlärningstekniker. Den första är när neuronet ska ha inmatning, för det andra när man kommer ihåg tidigare data och vad man ska glömma och för det tredje är när man ska skicka utdata.
Slutsats
En djup inlärningsmodell är ett steg mot replikering av det mänskliga sinnet. Istället för biologiska neuroner använder djup inlärning ett konstgjordt neuralt nätverk. Djupt lärande har höga beräkningskostnader, som kan minskas genom användning av djupa inlärningsramar som Tensorflöde och Py-Torch etc. RNN, CNN är arkitektoniska metoder för modeller för djup inlärning. Olika Deep Learning-algoritmer som används i dessa arkitekturer diskuteras i den här artikeln.
Rekommenderade artiklar
Detta är en guide till Deep Learning Algoritms. Här diskuterar vi de arkitektoniska metoderna för Deep Learning Algoritms tillsammans med lager. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Introduktion till maskininlärningsalgoritmer
- Topp 14 applikationer för maskininlärning
- Artificial Intelligence vs Machine Learning vs Deep Learning
- Topp 13 användbara Deep Learning-intervjuer och svar