Diepgaande leeralgoritmen - Top 7 architecturale methoden voor diep leren

Inhoudsopgave:

Anonim

Introductie tot Deep Learning Algorithms

Diep leren is een stap om dichter bij Kunstmatige Intelligentie te komen, die beslissingen zoals menselijke hersenen zou kunnen nemen, dwz het vermogen hebben om met vallen en opstaan ​​te leren, net als mensen. Het menselijk brein heeft miljarden neuronen (ongeveer 86 miljard; bron: Wikipedia). Met kunstmatige neuronen helpt diep leren ook bij het imiteren van de menselijke geest. Om de informatie te verwerken en de beslissing te nemen via kunstmatige neurale netwerken zijn er enkele algoritmen, zogenaamde deep learning-algoritmen. Algoritmen leren in elke laag geleidelijk, dwz; meer waarde wordt toegevoegd door elementen in de volgende laag. Een diepgaand leermodel kan overfit raken als gegevens klein of onvolledig of te eenvoudig zijn. Deep Learning-algoritmen zijn effectief wanneer de gegevens enorm zijn.

Diepgaande leeralgoritmen

Om een ​​diepgaand leermodel te creëren, moet je verschillende algoritmen schrijven, ze samenvoegen en een net van neuronen creëren. Diep leren heeft hoge rekenkosten. Om deep learning-modellen te ondersteunen, zijn er deep learning-platforms zoals Tensor flow, Py-Torch, Chainer, Keras, enz. In deep learning hebben we geprobeerd het menselijke neurale netwerk te repliceren met een kunstmatig neuraal netwerk, het menselijke neuron wordt perceptron genoemd in de diep leermodel. We verbinden deze perceptron-eenheden met elkaar om een ​​neuraal netwerk te creëren, het heeft 3 secties:

  1. Invoerlaag
  2. Verborgen lagen
  3. Uitgangslaag

Een perceptron heeft inputknopen (dendrieten in het menselijk brein), een activeringsfunctie om een ​​kleine beslissing te nemen en outputknopen (axon in het menselijk brein). We zullen zien hoe een perceptron werkt, door ze met elkaar te verbinden, ontstaat een diep leermodel. Invoerinformatie (aantal invoervariabelen / functies) krijgt een bepaald gewicht en wordt aan de activeringsfunctie toegevoerd. De activeringsfunctie neemt een beslissing en verzendt uitvoer. De output van deze perceptron zal input zijn voor andere neuronen. Nadat de batch is verwerkt, wordt bij elke neuron een backpropagatiefout berekend met behulp van een kostenfunctie / inter-entropie. Op deze manier worden invoergewichten opnieuw toegewezen en gaat het hele proces door totdat cross-entropie aan de voorwaarde voldoet.

We hebben verschillende activeringsfuncties zoals Sigmoïde functies, hyperbolische tangensfunctie, Rectified Linear Unit (ReLU), om een ​​kleine beslissing te nemen. Een diepgaand leermodel heeft een enorme hoeveelheid gegevens nodig om een ​​goed model te bouwen. Over het algemeen wordt een model met meer dan 3 verborgen lagen behandeld als een diep neuraal netwerk. Kortom, Deep learning is een set neuronen met een aantal parameters die voor elke laag zijn gedefinieerd. Om het Deep Learning-model te maken, zijn de populaire architecturen RNN, CNN, enz.

Architecturale methoden voor diepgaande algoritmen

Om deze architectuur te bouwen worden de volgende algoritmen gebruikt:

1. Terug vermeerdering

In dit algoritme berekenen we gedeeltelijke derivaten. In het algemeen worden de gradiëntafnamemethode voor optimalisatie, derivaten (gradiënten) bij elke iteratie berekend. In deep learning zijn functies niet eenvoudig, ze zijn de samenstelling van verschillende functies. In dit geval is het moeilijk om gradiënten te berekenen, dus gebruiken we benaderende differentiatie om derivaten te berekenen. Hoe meer het aantal parameters, hoe duurder de differentiatie bij benadering zal zijn.

2. Stochastische gradiëntdaling

In Gradient Descent is het doel om wereldwijde minima of een optimale oplossing te vinden. Maar om dat te krijgen, moeten we ook lokale minima-oplossingen overwegen (niet wenselijk). Als de objectieve functie een convexe functie is, is het gemakkelijk om de globale minima te vinden. De initiële waarde voor de functie en de leersnelheid zijn bepalende parameters voor het vinden van globale minima. Dit kan gemakkelijk worden begrepen door een rivier te overwegen die van de bergtop komt en op zoek is naar uitlopers (wereldwijde minima). Maar in de weg zullen er enkele ups en downs (lokale minima) zijn die moeten worden vermeden. Het beginpunt en de snelheid van de rivier (initiële waarde en leersnelheid in ons geval) zijn bepalende factoren om wereldwijde minima te vinden.

3. Leerpercentage

De leersnelheid is als de snelheid van de rivier, het kan de trainingstijd verkorten en de prestaties verhogen. Over het algemeen is het leren van elke techniek / sport in het begin relatief hoog dan aan het einde wanneer men het moet beheersen. Na de tussenfase zal het leren traag zijn, de focus zal liggen op fijnafstemming. Hetzelfde wordt toegepast in diep leren. Te grote veranderingen worden aangepakt door een hoger leerpercentage en door het leerpercentage later langzaam te verlagen voor afstemming.

4. Batch-normalisatie

In de initiële waarde van diep leren (willekeurig gekozen) en leren, wordt de snelheid bepaald voor een mini-batch. In het begin zouden er veel uitbijters zijn en tijdens backpropagation moeten deze uitbijters worden gecompenseerd om de gewichten te berekenen om output te krijgen. Deze compensatie resulteert in extra tijdvakken. Om dit te voorkomen, gebruiken we batchnormalisatie.

5. Drop-out

Bij diep leren komen we over het algemeen het probleem van overfitting tegen. Overfitting in grote netwerken met verschillende parameters maakt het moeilijk om op testgegevens te voorspellen. Dus, om te voorkomen dat we de dropout-methode gebruiken, die tijdens de training willekeurige eenheden laat vallen door verschillende 'verdunde netwerken' te creëren. Bij het testen van deze dunnere netwerken worden de voorspellingen gemiddeld, wat helpt om overfitting te voorkomen.

6. Zak met woorden

We gebruiken een doorlopende reeks woorden om het volgende woord te voorspellen. We zien bijvoorbeeld in e-mail schrijven dat de autosuggestie voor het voltooien van de zin deel uitmaakt van NLP. Dit wordt gedaan door veel zinnen te overwegen en voor een specifiek woord rond woorden die worden vastgelegd. Deze specifieke woorden en omringende woorden worden aan het neurale netwerk toegevoerd. Na het trainingsmodel kan het het specifieke woord voorspellen op basis van de omringende woorden.

7. Lang kortetermijngeheugen

LSTM is erg handig bij het voorspellen van sequenties, zoals het vertalen van talen, het voorspellen van verkopen en het vinden van de aandelenprijs. LSTM heeft voorsprong op andere technieken omdat het in staat is eerdere gegevens in overweging te nemen. LSTM maakt wijziging door het mechanisme van de celstatus. Het herinnert zich dingen te vergeten. De 3 belangrijkste aspecten van LSTM onderscheiden zich van andere diepgaande leertechnieken. Ten eerste moet het neuron input hebben, ten tweede wanneer eerdere gegevens moeten worden onthouden en wat moet worden vergeten en ten derde wanneer output moet worden doorgegeven.

Conclusie

Een diepgaand leermodel is een stap in de richting van de replicatie van de menselijke geest. In plaats van biologische neuronen maakt diep leren gebruik van een kunstmatig neuraal netwerk. Deep learning heeft hoge rekenkosten, die kunnen worden verlaagd door het gebruik van Deep learning-frameworks zoals Tensor flow en Py-Torch etc. RNN, CNN zijn architecturale methoden voor deep learning-modellen. Verschillende Deep learning-algoritmen die in deze architecturen worden gebruikt, worden in dit artikel besproken.

Aanbevolen artikelen

Dit is een gids voor Deep Learning Algorithms. Hier bespreken we de architecturale methoden voor Deep Learning Algorithms samen met lagen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Inleiding tot machine learning-algoritmen
  2. Top 14 toepassingen van machine learning
  3. Kunstmatige intelligentie versus machinaal leren versus diep leren
  4. Top 13 nuttige interviewvragen en diepgaande vragen