Tilbakevendende nevrale nettverk (RNNs) og Long Short-Term Memory (LSTM) nettverk er to sentrale arkitekturer innen sekvensmodellering, spesielt for oppgaver som naturlig språkbehandling (NLP). Å forstå deres evner og begrensninger, spesielt angående problemet med forsvinnende gradient, er viktig for å effektivt utnytte disse modellene.
Tilbakevendende nevrale nettverk (RNN)
RNN-er er designet for å behandle sekvenser av data ved å opprettholde en skjult tilstand som oppdateres ved hvert trinn basert på inndata og forrige skjulte tilstand. Denne arkitekturen lar RNN-er fange opp tidsmessige avhengigheter i sekvensielle data. Imidlertid lider RNN-er av det beryktede forsvinnende gradientproblemet, som sterkt begrenser deres evne til å lære seg langsiktige avhengigheter.
Forsvinnende gradientproblem
Problemet med forsvinnende gradient oppstår under trening av dype nevrale nettverk når gradienter av tapsfunksjonen med hensyn til vektene avtar eksponentielt når de forplantes bakover gjennom tiden. Dette problemet forverres i RNN-er på grunn av deres sekvensielle natur og de multiplikative effektene av kjederegelen brukt over mange tidstrinn. Som et resultat kan gradientene bli svært små, noe som får vektene til å oppdateres minimalt og hindrer læringsprosessen for langdistanseavhengigheter.
Matematisk, den skjulte tilstanden av en RNN på tidspunktet trinn
kan uttrykkes som:
hvor og
er vektmatriser,
er et skjevhetsbegrep,
er inngangen på tidspunktet
og
er en aktiveringsfunksjon som tanh eller ReLU.
Under backpropagation through time (BPTT) beregnes gradientene til tapsfunksjonen i forhold til vektene. For en tapsfunksjon på det siste tidstrinnet
, gradienten med hensyn til den skjulte tilstanden
er gitt av:
Begrepet involverer produktet av mange jakobianske matriser, noe som kan føre til at gradientene enten forsvinner (hvis egenverdiene til jakobiske er mindre enn 1) eller eksploderer (hvis egenverdiene er større enn 1). For typiske aktiveringsfunksjoner og vektinitialiseringer er problemet med forsvinningsgradient mer vanlig.
Maksimalt antall trinn en RNN kan huske
Det maksimale antallet trinn som en RNN effektivt kan huske er vanligvis begrenset til et lite antall trinn, ofte i området 5 til 10 tidstrinn. Denne begrensningen oppstår fordi gradientene avtar raskt, noe som gjør det vanskelig for modellen å lære avhengigheter utenfor dette området. I praksis betyr dette at standard RNN-er sliter med å fange opp langsiktige avhengigheter i sekvenser, noe som er en betydelig ulempe for oppgaver som krever modellering av langdistansekontekst, for eksempel språkmodellering eller maskinoversettelse.
Langtidsminne (LSTM) nettverk
LSTM-nettverk ble spesielt designet for å løse problemet med forsvinnende gradient som er iboende i standard RNN-er. LSTMer introduserer en mer kompleks arkitektur med portmekanismer som regulerer strømmen av informasjon gjennom nettverket, slik at det kan vedlikeholde og oppdatere en minnecelle over lengre sekvenser.
LSTM arkitektur
En LSTM-celle består av tre primære porter: inngangsporten, glemmeporten og utgangsporten. Disse portene kontrollerer informasjonen som legges til eller fjernes fra celletilstanden, og gjør det mulig for LSTM å beholde viktig informasjon over lengre tidstrinn.
LSTM-celletilstanden og skjult tilstand
på tidspunktet trinn
oppdateres som følger:
1. Glem Gate: Bestemmer hvilken informasjon fra forrige celletilstand bør glemmes.
2. Inngangsport: Bestemmer hvilken ny informasjon som skal legges til celletilstanden.
3. Oppdatering av celletilstand: Kombinerer den forrige celletilstanden og den nye kandidatcelletilstanden.
4. Utgangsport: Bestemmer utgangen til LSTM-cellen.
Gatemekanismene gjør det mulig for LSTM-er å opprettholde gradienter over lengre sekvenser, noe som reduserer problemet med forsvinnende gradient. Dette lar LSTM-er lære langsiktige avhengigheter mer effektivt enn standard RNN-er.
Maksimalt antall trinn en LSTM kan huske
LSTM-er kan effektivt huske og fange opp avhengigheter over mye lengre sekvenser sammenlignet med standard RNN-er. Selv om det ikke er noen streng øvre grense for antall trinn en LSTM kan håndtere, spiller praktiske hensyn som beregningsressurser og den spesifikke oppgaven en rolle i å bestemme det effektive området.
I praksis har LSTM-er vist seg å fange opp avhengigheter over hundrevis av tidstrinn. For eksempel, i språkmodelleringsoppgaver, kan LSTM-er opprettholde kontekst over hele setninger eller avsnitt, og overgå standard RNN-er betydelig. Det nøyaktige antallet trinn en LSTM kan huske avhenger av faktorer som arkitekturen, treningsdataene, optimaliseringsalgoritmen og hyperparametrene som brukes.
Praktiske betraktninger og eksempler
For å illustrere de praktiske egenskapene til RNN-er og LSTM-er, vurder følgende eksempler:
1. Språkmodellering: I språkmodellering er målet å forutsi neste ord i en rekkefølge gitt de foregående ordene. Standard RNN-er kan slite med å fange avhengigheter utover noen få ord, noe som fører til dårlig ytelse når det gjelder å generere sammenhengende tekst. LSTMer, derimot, kan opprettholde kontekst over lengre sekvenser, slik at de kan generere mer sammenhengende og kontekstuelt passende tekst. For eksempel kan en LSTM-basert språkmodell generere en komplett setning som opprettholder grammatisk struktur og logisk flyt.
2. Maskinoversettelse: I maskinoversettelse må modellen oversette en setning fra ett språk til et annet. Denne oppgaven krever å fange avhengigheter på tvers av hele setninger eller til og med avsnitt. Standard RNN-er kan mislykkes i å beholde den nødvendige konteksten, noe som resulterer i unøyaktige oversettelser. LSTMer, med deres evne til å opprettholde langsiktige avhengigheter, kan produsere mer nøyaktige og kontekstuelt passende oversettelser.
3. Tidsserieprediksjon: I tidsserieprediksjon forutsier modellen fremtidige verdier basert på tidligere observasjoner. Standard RNN-er kan slite med å fange opp langsiktige trender og sesongvariasjoner i dataene. LSTMer, ved å beholde informasjon over lengre sekvenser, kan bedre modellere disse langsiktige avhengighetene, noe som fører til mer nøyaktige spådommer.
Å forstå begrensningene til RNN-er og fordelene med LSTM-er er viktig for å effektivt bruke disse modellene til sekvensmodelleringsoppgaver. Mens standard RNN-er er begrenset av forsvinnende gradientproblem og vanligvis bare kan huske korte sekvenser, reduserer LSTM-er dette problemet gjennom sine portmekanismer, slik at de kan fange opp langsiktige avhengigheter over mye lengre sekvenser. Dette gjør LSTM-er til et kraftig verktøy for oppgaver som krever modellering av langdistansekontekst, for eksempel språkmodellering, maskinoversettelse og tidsserieprediksjon.
Andre nyere spørsmål og svar vedr EITC/AI/TFF TensorFlow Fundamentals:
- Hvordan bestemme antall bilder som brukes til å trene en AI-synsmodell?
- Når du trener en AI-synsmodell, er det nødvendig å bruke et annet sett med bilder for hver treningsepoke?
- Er et tilbakepropagasjonsnevralt nettverk likt et tilbakevendende nevralt nettverk?
- Hvordan kan man bruke et innebygd lag til å automatisk tildele riktige akser for et plott av representasjon av ord som vektorer?
- Hva er hensikten med maksimal pooling i et CNN?
- Hvordan brukes funksjonsutvinningsprosessen i et konvolusjonelt nevralt nettverk (CNN) på bildegjenkjenning?
- Er det nødvendig å bruke en asynkron læringsfunksjon for maskinlæringsmodeller som kjører i TensorFlow.js?
- Hva er TensorFlow Keras Tokenizer API-parameteren for maksimalt antall ord?
- Kan TensorFlow Keras Tokenizer API brukes til å finne de vanligste ordene?
- Hva er TOCO?
Se flere spørsmål og svar i EITC/AI/TFF TensorFlow Fundamentals