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:
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.

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:
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.
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
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å:
- Langtidsminne (LSTM) RNN i Tensorflow
- Tekstgenerering ved bruk av gjentakende langtidsminnenettverk
- Langtidsminnenettverk Forklaring
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.