stomp Wat zijn RNN's en LSTM's in Deep Learning? - Verenig AI
Verbind je met ons

AI 101

Wat zijn RNN's en LSTM's in Deep Learning?

mm
Bijgewerkt on

Veel van de meest indrukwekkende ontwikkelingen op het gebied van natuurlijke taalverwerking en AI-chatbots worden aangedreven door Terugkerende neurale netwerken (RNN's) en lange-kortetermijngeheugennetwerken (LSTM). RNN's en LSTM's zijn speciale neurale netwerkarchitecturen die sequentiële gegevens kunnen verwerken, gegevens waarbij chronologische volgorde van belang is. LSTM's zijn wezenlijk verbeterde versies van RNN's, in staat om langere reeksen gegevens te interpreteren. Laten we eens kijken hoe RNN's en LSTMS zijn gestructureerd en hoe ze de creatie van geavanceerde natuurlijke taalverwerkingssystemen mogelijk maken.

Wat zijn feed-forward neurale netwerken?

Dus voordat we het hebben over hoe Long Short-Term Memory (LSTM) en Convolutional Neural Networks (CNN) werken, moeten we het formaat van een neuraal netwerk in het algemeen bespreken.

Een neuraal netwerk is bedoeld om data te onderzoeken en relevante patronen te leren, zodat deze patronen kunnen worden toegepast op andere data en nieuwe data kunnen worden geclassificeerd. Neurale netwerken zijn onderverdeeld in drie secties: een invoerlaag, een verborgen laag (of meerdere verborgen lagen) en een uitvoerlaag.

De invoerlaag is wat de gegevens in het neurale netwerk opneemt, terwijl de verborgen lagen de patronen in de gegevens leren. De verborgen lagen in de dataset zijn verbonden met de input- en outputlagen door middel van "gewichten" en "biases", wat slechts aannames zijn van hoe de datapunten aan elkaar gerelateerd zijn. Deze gewichten worden aangepast tijdens de training. Terwijl het netwerk traint, worden de schattingen van het model over de trainingsgegevens (de uitvoerwaarden) vergeleken met de daadwerkelijke trainingslabels. Tijdens de training zou het netwerk (hopelijk) nauwkeuriger moeten worden in het voorspellen van relaties tussen datapunten, zodat het nieuwe datapunten nauwkeurig kan classificeren. Diepe neurale netwerken zijn netwerken met meer lagen in het midden/meer verborgen lagen. Hoe meer verborgen lagen en meer neuronen/knooppunten het model heeft, hoe beter het model patronen in de data kan herkennen.

Regelmatige, feed-forward neurale netwerken, zoals degene die ik hierboven heb beschreven, worden vaak "dichte neurale netwerken" genoemd. Deze dichte neurale netwerken worden gecombineerd met verschillende netwerkarchitecturen die gespecialiseerd zijn in het interpreteren van verschillende soorten gegevens.

Wat zijn RNN's (recurrente neurale netwerken)?

Recurrente neurale netwerken nemen het algemene principe van feed-forward neurale netwerken en stellen hen in staat sequentiële gegevens te verwerken het model een intern geheugen geven. Het "Recurrent" -gedeelte van de RNN-naam komt voort uit het feit dat de invoer- en uitvoerlussen doorlopen. Zodra de uitvoer van het netwerk is geproduceerd, wordt de uitvoer gekopieerd en als invoer teruggestuurd naar het netwerk. Bij het nemen van een beslissing wordt niet alleen de huidige input en output geanalyseerd, maar wordt ook rekening gehouden met de eerdere input. Met andere woorden: als de initiële invoer voor het netwerk X is en de uitvoer H, worden zowel H als X1 (de volgende invoer in de gegevensreeks) in het netwerk ingevoerd voor de volgende leerronde. Op deze manier blijft de context van de gegevens (de eerdere invoer) behouden terwijl het netwerk traint.

Het resultaat van deze architectuur is dat RNN's in staat zijn sequentiële gegevens te verwerken. RNN's hebben echter een aantal problemen. RNN's lijden aan de verdwijnende gradiënt en exploderende gradiëntproblemen.

De lengte van sequenties die een RNN kan interpreteren is vrij beperkt, vooral in vergelijking met LSTM's.

Wat zijn LSTM's (Long Short-Term Memory Networks)?

Langetermijngeheugennetwerken kunnen worden beschouwd als uitbreidingen van RNN's, waarbij opnieuw het concept van het behouden van de context van invoer wordt toegepast. LSTM's zijn echter op verschillende belangrijke manieren gewijzigd, waardoor ze gegevens uit het verleden met superieure methoden kunnen interpreteren. De wijzigingen die aan LSTM's zijn aangebracht, pakken het verdwijnende gradiëntprobleem aan en stellen LSTM's in staat om veel langere invoerreeksen te overwegen.

LSTM-modellen zijn gemaakt van drie verschillende componenten of poorten. Er is een ingangspoort, een uitgangspoort en een vergeetpoort. Net als RNN's houden LSTM's rekening met input van de vorige tijdstap bij het wijzigen van het geheugen en de invoergewichten van het model. De invoerpoort neemt beslissingen over welke waarden belangrijk zijn en door het model moeten worden gelaten. In de ingangspoort wordt een sigmoïde functie gebruikt, die bepaalt welke waarden moeten worden doorgegeven via het terugkerende netwerk. Nul verlaagt de waarde, terwijl 1 deze behoudt. Ook hier wordt een TanH-functie gebruikt, die bepaalt hoe belangrijk de invoerwaarden zijn voor het model, variërend van -1 tot 1.

Nadat rekening is gehouden met de huidige ingangen en de geheugenstatus, beslist de uitgangspoort welke waarden naar de volgende tijdstap moeten worden gepusht. In de uitgangspoort worden de waarden geanalyseerd en krijgen ze een belangrijkheid toegewezen van -1 tot 1. Dit regelt de gegevens voordat ze worden doorgevoerd naar de volgende tijdstapberekening. Ten slotte is het de taak van de vergeetpoort om informatie te laten vallen die het model onnodig acht om een ​​beslissing te nemen over de aard van de invoerwaarden. De vergeetpoort gebruikt een sigmoïde functie op de waarden, waarbij getallen worden uitgevoerd tussen 0 (vergeet dit) en 1 (bewaar dit).

Een LSTM neuraal netwerk is gemaakt van zowel speciale LSTM-lagen die sequentiële woordgegevens kunnen interpreteren als de nauw verbonden zoals hierboven beschreven. Zodra de gegevens door de LSTM-lagen gaan, gaan ze verder naar de dicht op elkaar aangesloten lagen.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.