logo

Hva er LSTM – langtidsminne?

LSTM utmerker seg i sekvensprediksjonsoppgaver, og fanger opp langsiktige avhengigheter. Ideell for tidsserier, maskinoversettelse og talegjenkjenning på grunn av ordreavhengighet. Artikkelen gir en grundig introduksjon til LSTM, som dekker LSTM-modellen, arkitektur, arbeidsprinsipper og den kritiske rollen de spiller i ulike applikasjoner.

Hva er LSTM?

Langtidsminne er en forbedret versjon av tilbakevendende nevrale nettverk designet av Hochreiter & Schmidhuber.



En tradisjonell RNN har en enkelt skjult tilstand som går gjennom tiden, noe som kan gjøre det vanskelig for nettverket å lære seg langsiktige avhengigheter. LSTMs modell løse dette problemet ved å introdusere en minnecelle, som er en beholder som kan inneholde informasjon i en lengre periode.

LSTM-arkitekturer er i stand til å lære langsiktige avhengigheter i sekvensielle data, noe som gjør dem godt egnet for oppgaver som f.eks. språkoversettelse , talegjenkjenning og tidsserieprognoser .

LSTM-er kan også brukes i kombinasjon med andre nevrale nettverksarkitekturer, som f.eks Konvolusjonelle nevrale nettverk (CNN) for bilde- og videoanalyse.



LSTM arkitektur

LSTM-arkitekturene involverer minnecellen som styres av tre porter: inngangsporten, glemmeporten og utgangsporten. Disse portene bestemmer hvilken informasjon som skal legges til, fjernes fra og sendes ut fra minnecellen.

  • Inngangsporten styrer hvilken informasjon som legges til minnecellen.
  • Glemporten styrer hvilken informasjon som fjernes fra minnecellen.
  • Utgangsporten kontrollerer hvilken informasjon som sendes ut fra minnecellen.

Dette lar LSTM-nettverk selektivt beholde eller forkaste informasjon mens den flyter gjennom nettverket, noe som lar dem lære langsiktige avhengigheter.

LSTM opprettholder en skjult tilstand, som fungerer som korttidsminnet til nettverket. Den skjulte tilstanden oppdateres basert på inngangen, den forrige skjulte tilstanden og minnecellens nåværende tilstand.



Toveis LSTM-modell

Toveis LSTM (Bi LSTM/BLSTM) er tilbakevendende nevrale nettverk (RNN) som er i stand til å behandle sekvensielle data både fremover og bakover. Dette gjør at Bi LSTM kan lære lengre rekkevidde avhengigheter i sekvensielle data enn tradisjonelle LSTMer, som bare kan behandle sekvensielle data i én retning.

  • Bi LSTM-er består av to LSTM-nettverk, ett som behandler inngangssekvensen i retning forover og ett som behandler inngangssekvensen i retning bakover.
  • Utgangene fra de to LSTM-nettverkene kombineres deretter for å produsere den endelige utgangen.

LSTM-modeller, inkludert Bi LSTM-er, har demonstrert toppmoderne ytelse på tvers av ulike oppgaver som maskinoversettelse, talegjenkjenning og tekstoppsummering.

algoritmer binært søk

Nettverk i LSTM-arkitekturer kan stables for å skape dype arkitekturer, noe som muliggjør læring av enda mer komplekse mønstre og hierarkier i sekvensielle data. Hvert LSTM-lag i en stablet konfigurasjon fanger opp forskjellige nivåer av abstraksjon og tidsmessige avhengigheter i inndataene.

LSTM fungerer

LSTM-arkitektur har en kjedestruktur som inneholder fire nevrale nettverk og forskjellige minneblokker kalt celler .

Informasjon beholdes av cellene og minnemanipulasjonene gjøres av porter. Det er tre porter -

Glem Gate

Informasjonen som ikke lenger er nyttig i celletilstanden fjernes med glemporten. To innganger x t (inndata på det bestemte tidspunktet) og h t-1 (tidligere celleutgang) mates til porten og multipliseres med vektmatriser etterfulgt av tillegg av bias. Resultanten sendes gjennom en aktiveringsfunksjon som gir en binær utgang. Hvis utgangen for en bestemt celletilstand er 0, blir informasjonen glemt og for utgang 1 beholdes informasjonen for fremtidig bruk. Ligningen for glemmeporten er:

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
hvor:

  • W_f representerer vektmatrisen knyttet til glemmeporten.
  • [h_t-1, x_t] angir sammenkoblingen av gjeldende inngang og forrige skjulte tilstand.
  • b_f er skjevheten med glemmeporten.
  • σ er sigmoid aktiveringsfunksjonen.

Arkitektur av LSTM

Inngangsport

Tilføyelsen av nyttig informasjon til celletilstanden gjøres av inngangsporten. Først reguleres informasjonen ved hjelp av sigmoid-funksjonen og filtrerer verdiene som skal huskes på samme måte som glemmeporten ved hjelp av innganger h t-1 og x t .. Deretter lages en vektor ved hjelp av fiskeaktig funksjon som gir en utgang fra -1 til +1, som inneholder alle mulige verdier fra ht-1og x t . Til slutt multipliseres verdiene til vektoren og de regulerte verdiene for å få nyttig informasjon. Ligningen for inngangsporten er:

i_t = σ(W_i · [h_{t-1}, x_t] + b_i)

Ĉ_t = tanh(W_c · [h_{t-1}, x_t] + b_c)

Vi multipliserer forrige tilstand med ft, se bort fra informasjonen vi tidligere hadde valgt å ignorere. Deretter inkluderer vi it∗Ct. Dette representerer de oppdaterte kandidatverdiene, justert for beløpet vi valgte å oppdatere hver delstatsverdi.

C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t

hvor

  • ⊙ betegner elementvis multiplikasjon
  • tanh er tanh aktiveringsfunksjon

Utgangsport

Oppgaven med å trekke ut nyttig informasjon fra den gjeldende celletilstanden som skal presenteres som utgang gjøres av utgangsporten. Først genereres en vektor ved å bruke tanh-funksjonen på cellen. Deretter reguleres informasjonen ved å bruke sigmoid-funksjonen og filtrere etter verdiene som skal huskes ved hjelp av innganger h_{t-1} ogx_t. Til slutt multipliseres verdiene til vektoren og de regulerte verdiene for å bli sendt som utdata og input til neste celle. Ligningen for utgangsporten er:

o_t = σ(W_o · [h_{t-1}, x_t] + b_o)

Applikasjoner av LSTM

Noen av de kjente applikasjonene til LSTM inkluderer:

  • Språkmodellering: LSTM-er har blitt brukt til naturlig språkbehandlingsoppgaver som språkmodellering, maskinoversettelse og tekstoppsummering. De kan trenes til å generere sammenhengende og grammatisk korrekte setninger ved å lære avhengighetene mellom ord i en setning.
  • Talegjenkjenning: LSTM-er har blitt brukt til talegjenkjenningsoppgaver som å transkribere tale til tekst og gjenkjenne talte kommandoer. De kan trenes til å gjenkjenne mønstre i tale og matche dem til den tilsvarende teksten.
  • Tidsserieprognoser: LSTM-er har blitt brukt til tidsserieprognoseoppgaver som å forutsi aksjekurser, vær og energiforbruk. De kan lære mønstre i tidsseriedata og bruke dem til å forutsi fremtidige hendelser.
  • Anomalideteksjon: LSTM-er har blitt brukt til avviksdeteksjonsoppgaver som å oppdage svindel og nettverksinntrenging. De kan trenes til å identifisere mønstre i data som avviker fra normen og flagge dem som potensielle anomalier.
  • Anbefalingssystemer: LSTM-er har blitt brukt til anbefalingsoppgaver som å anbefale filmer, musikk og bøker. De kan lære mønstre i brukeratferd og bruke dem til å komme med personlige anbefalinger.
  • Videoanalyse: LSTM-er har blitt brukt til videoanalyseoppgaver som objektdeteksjon, aktivitetsgjenkjenning og handlingsklassifisering. De kan brukes i kombinasjon med andre nevrale nettverksarkitekturer, for eksempel Convolutional Neural Networks (CNN), for å analysere videodata og trekke ut nyttig informasjon.

LTSM vs RNN

Trekk

LSTM (langtidsminne)

RNN (Recurrent Neural Network)

Hukommelse

Har en spesiell minneenhet som lar den lære langsiktige avhengigheter i sekvensielle data

Har ikke minneenhet

Retningsmessighet

Kan trenes til å behandle sekvensielle data både fremover og bakover

Kan bare trenes til å behandle sekvensielle data i én retning

Opplæring

Vanskeligere å trene enn RNN på grunn av kompleksiteten til portene og minneenheten

Lettere å trene enn LSTM

Langsiktig avhengighetslæring

Ja

powershell vs bash

Begrenset

Evne til å lære sekvensielle data

Ja

Ja

applikasjoner

Maskinoversettelse, talegjenkjenning, tekstoppsummering, naturlig språkbehandling, tidsserieprognoser

Naturlig språkbehandling, maskinoversettelse, talegjenkjenning, bildebehandling, videobehandling

Problem med langsiktige avhengigheter i RNN

Tilbakevendende nevrale nettverk (RNN) er designet for å håndtere sekvensielle data ved å opprettholde en skjult tilstand som fanger opp informasjon fra tidligere tidstrinn. Imidlertid møter de ofte utfordringer med å lære langsiktige avhengigheter, hvor informasjon fra fjerne tidstrinn blir avgjørende for å gjøre nøyaktige spådommer. Dette problemet er kjent som forsvinnende gradient eller eksploderende gradientproblem.

Noen vanlige problemer er oppført nedenfor:

Forsvinnende gradient

Under tilbakeforplantning gjennom tid kan gradienter bli ekstremt små ettersom de multipliseres gjennom kjeden av tilbakevendende forbindelser, noe som fører til at modellen har problemer med å lære avhengigheter som er atskilt med mange tidstrinn.

Eksploderende gradient

Motsatt kan gradienter eksplodere under tilbakepropagering, noe som fører til numerisk ustabilitet og gjør det vanskelig for modellen å konvergere.

Ulike varianter på langtidsminne

Over tid har flere varianter og forbedringer av den opprinnelige LSTM-arkitekturen blitt foreslått.

Vanilje LSTM

Dette er den originale LSTM-arkitekturen foreslått av Hochreiter og Schmidhuber. Den inkluderer minneceller med inngangs-, glemme- og utgangsporter for å kontrollere informasjonsflyten. Nøkkelideen er å la nettverket selektivt oppdatere og glemme informasjon fra minnecellen.

Kikkhullsforbindelser

I kikkhullet LSTM får portene se på celletilstanden i tillegg til den skjulte tilstanden. Dette lar portene vurdere celletilstanden når de tar avgjørelser, og gir mer kontekstinformasjon.

Gated Recurrent Unit (GRU)

GRU er et alternativ til LSTM, designet for å være enklere og beregningsmessig mer effektivt. Den kombinerer inngangs- og glemmeportene til en enkelt oppdateringsport og slår sammen celletilstand og skjult tilstand. Mens GRU-er har færre parametere enn LSTM-er, har de vist seg å fungere på samme måte i praksis.

Konklusjon

Long Short-Term Memory (LSTM) er en kraftig type tilbakevendende nevrale nettverk (RNN) som er godt egnet for håndtering av sekvensielle data med langsiktige avhengigheter. Den adresserer problemet med forsvinnende gradient, en vanlig begrensning av RNN-er, ved å introdusere en portmekanisme som kontrollerer informasjonsflyten gjennom nettverket. Dette lar LSTM-er lære og beholde informasjon fra fortiden, noe som gjør dem effektive for oppgaver som maskinoversettelse, talegjenkjenning og naturlig språkbehandling.

Sjekk også:

Ofte stilte spørsmål (FAQs)

1. Hva er LSTM og hvorfor brukes det?

LSTM, eller Long Short-Term Memory, er en type tilbakevendende nevrale nettverk designet for sekvensoppgaver, som utmerker seg i å fange og bruke langsiktige avhengigheter i data.

2. Hvordan fungerer LSTM?

LSTM-er bruker en celletilstand for å lagre informasjon om tidligere inndata. Denne celletilstanden oppdateres ved hvert trinn i nettverket, og nettverket bruker den til å lage spådommer om gjeldende inngang. Celletilstanden oppdateres ved hjelp av en serie porter som kontrollerer hvor mye informasjon som får strømme inn og ut av cellen.

3. Hva er LSTM-eksempler?

Eksempler på LSTM (Long Short-Term Memory) inkluderer talegjenkjenning, maskinoversettelse og tidsserieprediksjon, som utnytter evnen til å fange opp langsiktige avhengigheter i sekvensielle data.

4. Hva er forskjellen mellom LSTM og Gated Recurrent Unit (GRU)?

LSTM har en celletilstand og portmekanisme som kontrollerer informasjonsflyten, mens GRU har en enklere enkeltportoppdateringsmekanisme. LSTM er kraftigere, men tregere å trene, mens GRU er enklere og raskere.

5. Hva er forskjellen mellom LSTM og RNN?

  • RNN-er ha en enkel tilbakevendende struktur med enveis informasjonsflyt.
  • LSTMer har en portmekanisme som kontrollerer informasjonsflyt og en celletilstand for langtidsminne.
  • LSTMer generelt overgå RNN-er i oppgaver som krever læring av langsiktige avhengigheter.

6. Er LSTM raskere enn CNN?

Nei, LSTM-er og CNN-er tjener forskjellige formål. LSTM er for sekvensielle data; CNN-er er for romlige data.

7. Er LSTM raskere enn GRU?

Generelt, ja. GRU-er har færre parametere, noe som kan føre til raskere trening sammenlignet med LSTM-er.