LSTM udmærker sig i sekvensforudsigelsesopgaver, der fanger langsigtede afhængigheder. Ideel til tidsserier, maskinoversættelse og talegenkendelse på grund af ordreafhængighed. Artiklen giver en dybdegående introduktion til LSTM, der dækker LSTM-modellen, arkitekturen, arbejdsprincipperne og den kritiske rolle, de spiller i forskellige applikationer.
Hvad er LSTM?
Lang korttidshukommelse er en forbedret version af tilbagevendende neurale netværk designet af Hochreiter & Schmidhuber.
En traditionel RNN har en enkelt skjult tilstand, der føres gennem tiden, hvilket kan gøre det svært for netværket at lære langsigtede afhængigheder. LSTMs model løse dette problem ved at introducere en hukommelsescelle, som er en beholder, der kan opbevare information i en længere periode.
LSTM-arkitekturer er i stand til at lære langsigtede afhængigheder i sekventielle data, hvilket gør dem velegnede til opgaver som f.eks. sprogoversættelse , talegenkendelse og tidsserie prognose .
LSTM'er kan også bruges i kombination med andre neurale netværksarkitekturer, som f.eks Konvolutionelle neurale netværk (CNN'er) til billed- og videoanalyse.
LSTM arkitektur
LSTM-arkitekturerne involverer hukommelsescellen, som styres af tre porte: input-gate, forget-gate og output-gate. Disse porte bestemmer, hvilken information der skal tilføjes, fjernes fra og udlæses fra hukommelsescellen.
- Indgangsporten styrer, hvilken information der tilføjes til hukommelsescellen.
- Glemporten styrer, hvilken information der fjernes fra hukommelsescellen.
- Outputporten styrer, hvilken information der udsendes fra hukommelsescellen.
Dette giver LSTM-netværk mulighed for selektivt at beholde eller kassere information, når den strømmer gennem netværket, hvilket giver dem mulighed for at lære langsigtede afhængigheder.
LSTM opretholder en skjult tilstand, som fungerer som netværkets korttidshukommelse. Den skjulte tilstand opdateres baseret på inputtet, den tidligere skjulte tilstand og hukommelsescellens aktuelle tilstand.
Tovejs LSTM-model
Tovejs LSTM (Bi LSTM/BLSTM) er tilbagevendende neuralt netværk (RNN), der er i stand til at behandle sekventielle data i både fremadgående og bagudgående retninger. Dette gør det muligt for Bi LSTM at lære længere rækkevidde afhængigheder i sekventielle data end traditionelle LSTM'er, som kun kan behandle sekventielle data i én retning.
- Bi LSTM'er består af to LSTM-netværk, et der behandler inputsekvensen i fremadgående retning og et der behandler inputsekvensen i baglæns retning.
- Outputtet fra de to LSTM-netværk kombineres derefter for at producere det endelige output.
LSTM-modeller, herunder Bi LSTM'er, har demonstreret avanceret ydeevne på tværs af forskellige opgaver såsom maskinoversættelse, talegenkendelse og tekstresumé.
algoritmer binær søgning
Netværk i LSTM-arkitekturer kan stables for at skabe dybe arkitekturer, hvilket muliggør indlæring af endnu mere komplekse mønstre og hierarkier i sekventielle data. Hvert LSTM-lag i en stablet konfiguration fanger forskellige niveauer af abstraktion og tidsmæssige afhængigheder i inputdataene.
LSTM fungerer
LSTM-arkitektur har en kædestruktur, der indeholder fire neurale netværk og forskellige hukommelsesblokke kaldet celler .
Information bevares af cellerne, og hukommelsesmanipulationerne udføres af porte. Der er tre porte -
Glem Gate
De oplysninger, der ikke længere er nyttige i celletilstanden, fjernes med glemmeporten. To indgange x t (input på det bestemte tidspunkt) og h t-1 (tidligere celleoutput) føres til porten og multipliceres med vægtmatricer efterfulgt af tilføjelse af bias. Resultanten føres gennem en aktiveringsfunktion, som giver en binær udgang. Hvis outputtet for en bestemt celletilstand er 0, bliver informationen glemt, og for output 1 beholdes informationen til fremtidig brug. Ligningen for glemmeporten er:
hvor:
- W_f repræsenterer vægtmatrixen forbundet med glemmeporten.
- [h_t-1, x_t] angiver sammenkædningen af det aktuelle input og den tidligere skjulte tilstand.
- b_f er bias med glemmeporten.
- σ er sigmoid aktiveringsfunktionen.

Indgangsport
Tilføjelsen af nyttig information til celletilstanden udføres af inputporten. For det første reguleres informationen ved hjælp af sigmoid-funktionen og filtrerer de værdier, der skal huskes, ligesom forglemporten ved hjælp af input h t-1 og x t .. Derefter oprettes en vektor vha fiskeagtig funktion, der giver et output fra -1 til +1, som indeholder alle mulige værdier fra ht-1og x t . Til sidst multipliceres værdierne af vektoren og de regulerede værdier for at opnå den nyttige information. Ligningen for indgangsporten er:
Vi multiplicerer den foregående tilstand med ft, idet vi ser bort fra de oplysninger, vi tidligere havde valgt at ignorere. Dernæst inkluderer vi it∗Ct. Dette repræsenterer de opdaterede kandidatværdier, justeret for det beløb, vi valgte at opdatere hver tilstandsværdi.
hvor
- ⊙ betegner element-vis multiplikation
- tanh er tanh aktiveringsfunktion
Udgangsport
Opgaven med at udtrække nyttig information fra den aktuelle celletilstand, der skal præsenteres som output, udføres af outputporten. Først genereres en vektor ved at anvende tanh-funktion på cellen. Derefter reguleres informationen ved hjælp af sigmoid-funktionen og filtreres efter de værdier, der skal huskes ved hjælp af input
Anvendelser af LSTM
Nogle af de berømte applikationer af LSTM inkluderer:
- Sprogmodellering: LSTM'er er blevet brugt til naturlige sprogbehandlingsopgaver såsom sprogmodellering, maskinoversættelse og tekstresumé. De kan trænes til at generere sammenhængende og grammatisk korrekte sætninger ved at lære afhængighederne mellem ord i en sætning.
- Tale genkendelse: LSTM'er er blevet brugt til talegenkendelsesopgaver såsom transskribering af tale til tekst og genkendelse af talte kommandoer. De kan trænes til at genkende mønstre i tale og matche dem til den tilsvarende tekst.
- Tidsserieprognose: LSTM'er er blevet brugt til tidsserieforudsigelsesopgaver såsom forudsigelse af aktiekurser, vejr og energiforbrug. De kan lære mønstre i tidsseriedata og bruge dem til at forudsige fremtidige begivenheder.
- Anomali detektion: LSTM'er er blevet brugt til opgaver at afsløre anomalier såsom at opdage svindel og netværksindtrængen. De kan trænes i at identificere mønstre i data, der afviger fra normen, og markere dem som potentielle anomalier.
- Anbefalingssystemer: LSTM'er er blevet brugt til anbefalingsopgaver såsom at anbefale film, musik og bøger. De kan lære mønstre i brugeradfærd og bruge dem til at komme med personlige anbefalinger.
- Videoanalyse: LSTM'er er blevet brugt til videoanalyseopgaver såsom objektdetektering, aktivitetsgenkendelse og handlingsklassificering. De kan bruges i kombination med andre neurale netværksarkitekturer, såsom Convolutional Neural Networks (CNN'er), til at analysere videodata og udtrække nyttig information.
LTSM vs RNN
Feature | LSTM (Long Short Term Memory) | RNN (Recurrent Neural Network) |
|---|---|---|
Hukommelse | Har en speciel hukommelsesenhed, der gør det muligt at lære langsigtede afhængigheder i sekventielle data | Har ikke en hukommelsesenhed |
Retningsbestemthed | Kan trænes til at behandle sekventielle data i både frem- og tilbageretning | Kan kun trænes til at behandle sekventielle data i én retning |
Uddannelse | Sværere at træne end RNN på grund af kompleksiteten af portene og hukommelsesenheden | Nemmere at træne end LSTM |
Langsigtet afhængighedslæring | Ja string sammenligne java | Begrænset |
Evne til at lære sekventielle data | Ja | Ja |
Ansøgninger | Maskinoversættelse, talegenkendelse, tekstresumé, naturlig sprogbehandling, tidsserieprognose | Naturlig sprogbehandling, maskinoversættelse, talegenkendelse, billedbehandling, videobehandling |
Problem med langsigtede afhængigheder i RNN
Recurrent Neural Networks (RNN'er) er designet til at håndtere sekventielle data ved at opretholde en skjult tilstand, der fanger information fra tidligere tidstrin. De møder dog ofte udfordringer med at lære langsigtede afhængigheder, hvor information fra fjerne tidstrin bliver afgørende for at lave præcise forudsigelser. Dette problem er kendt som problemet med forsvindende gradient eller eksploderende gradient.
Nogle almindelige problemer er angivet nedenfor:
Forsvindende gradient
Under tilbageudbredelse gennem tiden kan gradienter blive ekstremt små, da de multipliceres gennem kæden af tilbagevendende forbindelser, hvilket får modellen til at have svært ved at lære afhængigheder, der er adskilt af mange tidstrin.
Eksploderende gradient
Omvendt kan gradienter eksplodere under tilbageudbredelse, hvilket fører til numerisk ustabilitet og gør det vanskeligt for modellen at konvergere.
Forskellige varianter på lang korttidshukommelse
Gennem tiden er der blevet foreslået flere varianter og forbedringer af den oprindelige LSTM-arkitektur.
Vanilje LSTM
Dette er den originale LSTM-arkitektur foreslået af Hochreiter og Schmidhuber. Det inkluderer hukommelsesceller med input-, forget- og output-gates til at styre informationsstrømmen. Nøgleideen er at lade netværket selektivt opdatere og glemme information fra hukommelsescellen.
Kighulsforbindelser
I kighullet LSTM får portene lov til at se på celletilstanden ud over den skjulte tilstand. Dette giver portene mulighed for at overveje celletilstanden, når de træffer beslutninger, hvilket giver mere kontekstinformation.
Gated Recurrent Unit (GRU)
GRU er et alternativ til LSTM, designet til at være enklere og beregningsmæssigt mere effektivt. Den kombinerer input- og forget-gates til en enkelt opdateringsport og kombinerer celletilstand og skjult tilstand. Mens GRU'er har færre parametre end LSTM'er, har de vist sig at fungere på samme måde i praksis.
Konklusion
Long Short-Term Memory (LSTM) er en kraftfuld type recurrent neural network (RNN), der er velegnet til at håndtere sekventielle data med langsigtede afhængigheder. Det løser problemet med forsvindende gradient, en almindelig begrænsning af RNN'er, ved at introducere en gating-mekanisme, der styrer informationsstrømmen gennem netværket. Dette giver LSTM'er mulighed for at lære og bevare information fra fortiden, hvilket gør dem effektive til opgaver som maskinoversættelse, talegenkendelse og naturlig sprogbehandling.
Tjek også:
- Lang korttidshukommelse (LSTM) RNN i Tensorflow
- Tekstgenerering ved hjælp af tilbagevendende langtidshukommelsesnetværk
- Langtidshukommelsesnetværk Forklaring
Ofte stillede spørgsmål (FAQ)
1. Hvad er LSTM, og hvorfor bruges det?
LSTM, eller Long Short-Term Memory, er en type tilbagevendende neuralt netværk designet til sekvensopgaver, der udmærker sig ved at fange og bruge langsigtede afhængigheder i data.
2. Hvordan virker LSTM?
LSTM'er bruger en celletilstand til at gemme information om tidligere input. Denne celletilstand opdateres ved hvert trin i netværket, og netværket bruger den til at lave forudsigelser om det aktuelle input. Celletilstanden opdateres ved hjælp af en række porte, der styrer, hvor meget information der må strømme ind og ud af cellen.
3. Hvad er LSTM-eksempler?
Eksempler på LSTM (Long Short-Term Memory) omfatter talegenkendelse, maskinoversættelse og forudsigelse af tidsserier, der udnytter dens evne til at fange langsigtede afhængigheder i sekventielle data.
4. Hvad er forskellen mellem LSTM og Gated Recurrent Unit (GRU)?
LSTM har en celletilstand og gating-mekanisme, som styrer informationsflowet, hvorimod GRU har en enklere single gate-opdateringsmekanisme. LSTM er mere kraftfuld, men langsommere at træne, mens GRU er enklere og hurtigere.
5. Hvad er forskellen mellem LSTM og RNN?
- RNN'er have en simpel tilbagevendende struktur med ensrettet informationsflow.
- LSTM'er har en portmekanisme, der styrer informationsstrømmen og en celletilstand til langtidshukommelse.
- LSTM'er udkonkurrerer generelt RNN'er i opgaver, der kræver læring af langsigtede afhængigheder.
6. Er LSTM hurtigere end CNN?
Nej, LSTM'er og CNN'er tjener forskellige formål. LSTM'er er til sekventielle data; CNN'er er til rumlige data.
7. Er LSTM hurtigere end GRU?
Generelt, ja. GRU'er har færre parametre, hvilket kan føre til hurtigere træning sammenlignet med LSTM'er.