stub Hvad er RNN'er og LSTM'er i Deep Learning? - Unite.AI
Følg os

AI 101

Hvad er RNN'er og LSTM'er i Deep Learning?

mm
Opdateret on

Mange af de mest imponerende fremskridt inden for naturlig sprogbehandling og AI-chatbots er drevet af Tilbagevendende neurale netværk (RNN'er) og LSTM-netværk (Long Short-Term Memory). RNN'er og LSTM'er er specielle neurale netværksarkitekturer, der er i stand til at behandle sekventielle data, data hvor kronologisk rækkefølge har betydning. LSTM'er er væsentligt forbedrede versioner af RNN'er, i stand til at fortolke længere sekvenser af data. Lad os tage et kig på, hvordan RNN'er og LSTMS er struktureret, og hvordan de muliggør skabelsen af ​​sofistikerede naturlige sprogbehandlingssystemer.

Hvad er feed-forward neurale netværk?

Så før vi taler om, hvordan Long Short-Term Memory (LSTM) og Convolutional Neural Networks (CNN) fungerer, bør vi diskutere formatet af et neuralt netværk generelt.

Et neuralt netværk er beregnet til at undersøge data og lære relevante mønstre, så disse mønstre kan anvendes på andre data og nye data kan klassificeres. Neurale netværk er opdelt i tre sektioner: et inputlag, et skjult lag (eller flere skjulte lag) og et outputlag.

Inputlaget er det, der tager dataene ind i det neurale netværk, mens de skjulte lag er det, der lærer mønstrene i dataene. De skjulte lag i datasættet er forbundet med input- og outputlagene ved hjælp af "vægte" og "biases", som blot er antagelser om, hvordan datapunkterne er relateret til hinanden. Disse vægte justeres under træning. Mens netværket træner, sammenlignes modellens gæt om træningsdataene (outputværdierne) med de faktiske træningsetiketter. I løbet af træningen skal netværket (forhåbentlig) blive mere præcist til at forudsige forhold mellem datapunkter, så det præcist kan klassificere nye datapunkter. Dybe neurale netværk er netværk, der har flere lag i midten/mere skjulte lag. Jo flere skjulte lag og flere neuroner/knuder modellen har, jo bedre kan modellen genkende mønstre i dataene.

Regelmæssige, feed-forward neurale netværk, som dem, jeg har beskrevet ovenfor, kaldes ofte "tætte neurale netværk". Disse tætte neurale netværk er kombineret med forskellige netværksarkitekturer, der specialiserer sig i at fortolke forskellige slags data.

Hvad er RNN'er (Recurrent Neural Networks)?

Tilbagevendende neurale netværk tager det generelle princip om feed-forward neurale netværk og gør dem i stand til at håndtere sekventielle data ved at giver modellen en intern hukommelse. Den "tilbagevendende" del af RNN-navnet kommer fra det faktum, at input og output loop. Når outputtet fra netværket er produceret, kopieres outputtet og returneres til netværket som input. Når der træffes en beslutning, analyseres ikke kun det aktuelle input og output, men det tidligere input tages også i betragtning. For at sige det på en anden måde, hvis det indledende input for netværket er X og outputtet er H, bliver både H og X1 (det næste input i datasekvensen) ført ind i netværket til den næste læringsrunde. På denne måde bevares konteksten af ​​dataene (de tidligere inputs) som netværkstogene.

Resultatet af denne arkitektur er, at RNN'er er i stand til at håndtere sekventielle data. RNN'er lider dog af et par problemer. RNN'er lider af forsvindende gradient og eksploderende gradientproblemer.

Længden af ​​sekvenser, som en RNN kan fortolke, er ret begrænset, især i sammenligning med LSTM'er.

Hvad er LSTM'er (Long Short-Term Memory Networks)?

Langtidshukommelsesnetværk kan betragtes som udvidelser af RNN'er, der endnu en gang anvender konceptet om at bevare konteksten af ​​input. Imidlertid er LSTM'er blevet ændret på flere vigtige måder, der giver dem mulighed for at fortolke tidligere data med overlegne metoder. Ændringerne i LSTM'er håndterer problemet med forsvindende gradient og gør det muligt for LSTM'er at overveje meget længere inputsekvenser.

LSTM modeller består af tre forskellige komponenter eller porte. Der er en input gate, en output gate og en forget gate. Ligesom RNN'er tager LSTM'er input fra det forrige tidstrin i betragtning, når modellens hukommelse og inputvægte ændres. Inputporten træffer beslutninger om, hvilke værdier der er vigtige og bør slippes igennem modellen. En sigmoid-funktion bruges i input-gate, som bestemmer, hvilke værdier der skal videregives gennem det tilbagevendende netværk. Nul falder værdien, mens 1 bevarer den. En TanH-funktion bruges også her, som bestemmer, hvor vigtige inputværdierne er for modellen, fra -1 til 1.

Efter at der er taget højde for de aktuelle input og hukommelsestilstand, beslutter udgangsporten, hvilke værdier der skal skubbes til næste tidstrin. I udgangsporten analyseres værdierne og tildeles en vigtighed fra -1 til 1. Dette regulerer dataene, før de videreføres til næste tidstrinsberegning. Endelig er opgaven med glemmeporten at droppe information, som modellen anser for unødvendig for at træffe en beslutning om arten af ​​inputværdierne. Forget-porten bruger en sigmoid-funktion på værdierne, der udsender tal mellem 0 (glem dette) og 1 (behold dette).

Et LSTM neuralt netværk er lavet af både specielle LSTM-lag, der kan fortolke sekventielle orddata, og de tæt forbundne som dem, der er beskrevet ovenfor. Når dataene bevæger sig gennem LSTM-lagene, fortsætter de ind i de tæt forbundne lag.

Blogger og programmør med speciale i Maskinelæring , Deep Learning emner. Daniel håber at kunne hjælpe andre med at bruge AI's kraft til socialt gode.