LSTM utmärker sig i sekvensförutsägande uppgifter och fångar långsiktiga beroenden. Idealisk för tidsserier, maskinöversättning och taligenkänning på grund av orderberoende. Artikeln ger en djupgående introduktion till LSTM, som täcker LSTM-modellen, arkitektur, arbetsprinciper och den avgörande roll de spelar i olika tillämpningar.
Vad är LSTM?
Långt korttidsminne är en förbättrad version av återkommande neurala nätverk designad av Hochreiter & Schmidhuber.
En traditionell RNN har ett enda dolt tillstånd som passerar genom tiden, vilket kan göra det svårt för nätverket att lära sig långsiktiga beroenden. LSTMs modell lösa detta problem genom att introducera en minnescell, som är en behållare som kan hålla information under en längre period.
LSTM-arkitekturer är kapabla att lära sig långsiktiga beroenden i sekventiell data, vilket gör dem väl lämpade för uppgifter som t.ex. språköversättning , taligenkänning och tidsserieprognoser .
LSTM kan också användas i kombination med andra neurala nätverksarkitekturer, som t.ex Konvolutionella neurala nätverk (CNN) för bild- och videoanalys.
LSTM arkitektur
LSTM-arkitekturerna involverar minnescellen som styrs av tre grindar: ingångsgrinden, glömska grinden och utgångsgrinden. Dessa grindar bestämmer vilken information som ska läggas till, tas bort från och matas ut från minnescellen.
medelvärde vs genomsnitt
- Ingångsgrinden styr vilken information som läggs till minnescellen.
- Glömporten styr vilken information som tas bort från minnescellen.
- Utgångsgrinden styr vilken information som matas ut från minnescellen.
Detta tillåter LSTM-nätverk att selektivt behålla eller kassera information när den strömmar genom nätverket, vilket gör att de kan lära sig långsiktiga beroenden.
LSTM upprätthåller ett dolt tillstånd, som fungerar som nätverkets korttidsminne. Det dolda tillståndet uppdateras baserat på ingången, det tidigare dolda tillståndet och minnescellens nuvarande tillstånd.
Dubbelriktad LSTM-modell
Dubbelriktad LSTM (Bi LSTM/BLSTM) är recurrent neural network (RNN) som kan bearbeta sekventiell data både framåt och bakåt. Detta gör att Bi LSTM kan lära sig längre räckviddsberoenden i sekventiell data än traditionella LSTM, som bara kan behandla sekventiell data i en riktning.
- Bi LSTM är uppbyggda av två LSTM-nätverk, ett som bearbetar inmatningssekvensen i framåtriktningen och ett som bearbetar inmatningssekvensen i riktning bakåt.
- Utsignalerna från de två LSTM-nätverken kombineras sedan för att producera den slutliga utsignalen.
LSTM-modeller, inklusive Bi LSTM, har visat toppmodern prestanda för olika uppgifter som maskinöversättning, taligenkänning och textsammanfattning.
Nätverk i LSTM-arkitekturer kan staplas för att skapa djupa arkitekturer, vilket möjliggör inlärning av ännu mer komplexa mönster och hierarkier i sekventiell data. Varje LSTM-lager i en staplad konfiguration fångar olika nivåer av abstraktion och tidsmässiga beroenden inom indata.
LSTM fungerar
LSTM-arkitekturen har en kedjestruktur som innehåller fyra neurala nätverk och olika minnesblock som kallas celler .
Informationen behålls av cellerna och minnesmanipulationerna görs av portar. Det finns tre portar -
Glöm Gate
Informationen som inte längre är användbar i celltillståndet tas bort med forget gate. Två ingångar x t (ingång vid den särskilda tidpunkten) och h t-1 (tidigare cellutgång) matas till grinden och multipliceras med viktmatriser följt av tillägg av bias. Resultanten leds genom en aktiveringsfunktion som ger en binär utgång. Om utgången för ett visst celltillstånd är 0, glöms informationen bort och för utgång 1 behålls informationen för framtida användning. Ekvationen för glömporten är:
var:
- W_f representerar viktmatrisen associerad med glömporten.
- [h_t-1, x_t] anger sammankopplingen av den aktuella ingången och det tidigare dolda tillståndet.
- b_f är förspänningen med glömporten.
- σ är sigmoidaktiveringsfunktionen.

Ingångsport
Tillägget av användbar information till celltillståndet görs av ingångsgrinden. Först regleras informationen med hjälp av sigmoid-funktionen och filtrerar värdena som ska komma ihåg på samma sätt som forget gate med hjälp av ingångar h t-1 och x t .. Sedan skapas en vektor med hjälp av skum funktion som ger en utdata från -1 till +1, som innehåller alla möjliga värden från ht-1och x t . Till sist multipliceras värdena för vektorn och de reglerade värdena för att erhålla användbar information. Ekvationen för ingångsgrinden är:
hur stor är min skärm
Vi multiplicerar föregående tillstånd med ft, utan hänsyn till den information vi tidigare hade valt att ignorera. Därefter inkluderar vi it∗Ct. Detta representerar de uppdaterade kandidatvärdena, justerade för det belopp som vi valde för att uppdatera varje tillståndsvärde.
var
- ⊙ betecknar elementvis multiplikation
- tanh är tanh aktiveringsfunktion
Utgångsgrind
Uppgiften att extrahera användbar information från det aktuella celltillståndet som ska presenteras som utmatning görs av utgångsgrinden. Först genereras en vektor genom att applicera tanh-funktionen på cellen. Sedan regleras informationen med hjälp av sigmoid-funktionen och filtrerar efter de värden som ska komma ihåg med hjälp av ingångar
Tillämpningar av LSTM
Några av de berömda tillämpningarna av LSTM inkluderar:
- Språkmodellering: LSTM har använts för naturliga språkbehandlingsuppgifter som språkmodellering, maskinöversättning och textsammanfattning. De kan tränas i att generera sammanhängande och grammatiskt korrekta meningar genom att lära sig beroenden mellan ord i en mening.
- Taligenkänning: LSTM har använts för taligenkänningsuppgifter som att transkribera tal till text och känna igen talade kommandon. De kan tränas att känna igen mönster i tal och matcha dem med motsvarande text.
- Tidsserieprognos: LSTM har använts för tidsserieprognosuppgifter som att förutsäga aktiekurser, väder och energiförbrukning. De kan lära sig mönster i tidsseriedata och använda dem för att göra förutsägelser om framtida händelser.
- Anomalidetektering: LSTM har använts för att upptäcka avvikelser som att upptäcka bedrägerier och nätverksintrång. De kan tränas i att identifiera mönster i data som avviker från normen och flagga dem som potentiella anomalier.
- Rekommendera system: LSTM har använts för rekommendationsuppgifter som att rekommendera filmer, musik och böcker. De kan lära sig mönster i användarbeteende och använda dem för att ge personliga rekommendationer.
- Videoanalys: LSTM har använts för videoanalysuppgifter som objektdetektering, aktivitetsigenkänning och åtgärdsklassificering. De kan användas i kombination med andra neurala nätverksarkitekturer, såsom Convolutional Neural Networks (CNN), för att analysera videodata och extrahera användbar information.
LTSM vs RNN
Funktion | LSTM (Långt korttidsminne) | RNN (Recurrent Neural Network) |
|---|---|---|
Minne | Har en speciell minnesenhet som gör att den kan lära sig långsiktiga beroenden i sekventiell data | Har ingen minnesenhet |
Riktningsförmåga | Kan tränas att bearbeta sekventiell data i både framåt- och bakåtriktning | Kan endast tränas för att behandla sekventiell data i en riktning |
Träning | Svårare att träna än RNN på grund av komplexiteten hos grindarna och minnesenheten | Lättare att träna än LSTM |
Långsiktigt beroendeinlärning | Ja | Begränsad |
Förmåga att lära sig sekventiell data | Ja | Ja |
Ansökningar | Maskinöversättning, taligenkänning, textsammanfattning, naturlig språkbehandling, tidsserieprognoser göra skriptet körbart | Naturlig språkbehandling, maskinöversättning, taligenkänning, bildbehandling, videobehandling |
Problem med långvariga beroenden i RNN
Återkommande neurala nätverk (RNN) är designade för att hantera sekventiell data genom att upprätthålla ett dolt tillstånd som fångar information från tidigare tidssteg. Men de möter ofta utmaningar när det gäller att lära sig långsiktiga beroenden, där information från avlägsna tidssteg blir avgörande för att göra korrekta förutsägelser. Detta problem är känt som problemet med försvinnande gradient eller exploderande gradient.
Några vanliga problem listas nedan:
Försvinnande gradient
Under backpropagation genom tiden kan gradienter bli extremt små eftersom de multipliceras genom kedjan av återkommande anslutningar, vilket gör att modellen har svårt att lära sig beroenden som är åtskilda av många tidssteg.
Exploderande gradient
Omvänt kan gradienter explodera under backpropagation, vilket leder till numerisk instabilitet och gör det svårt för modellen att konvergera.
Olika varianter på långtidsminne
Med tiden har flera varianter och förbättringar av den ursprungliga LSTM-arkitekturen föreslagits.
Vanilj LSTM
Detta är den ursprungliga LSTM-arkitekturen som föreslagits av Hochreiter och Schmidhuber. Den innehåller minnesceller med ingångs-, glöm- och utgångsgrindar för att styra informationsflödet. Nyckelidén är att låta nätverket selektivt uppdatera och glömma information från minnescellen.
Titthålsanslutningar
I titthålet LSTM tillåts grindarna titta på celltillståndet utöver det dolda tillståndet. Detta gör att grindarna kan ta hänsyn till celltillståndet när de fattar beslut, vilket ger mer kontextinformation.
Gated Recurrent Unit (GRU)
GRU är ett alternativ till LSTM, designat för att vara enklare och beräkningsmässigt effektivare. Den kombinerar ingångs- och glömgrindar till en enda uppdateringsgrind och slår samman celltillstånd och dolt tillstånd. Medan GRU:er har färre parametrar än LSTM:er, har de visat sig fungera på liknande sätt i praktiken.
Slutsats
Long Short-Term Memory (LSTM) är en kraftfull typ av recurrent neural network (RNN) som är väl lämpat för att hantera sekventiell data med långsiktiga beroenden. Den tar itu med problemet med försvinnande gradient, en vanlig begränsning av RNN:er, genom att introducera en grindmekanism som kontrollerar informationsflödet genom nätverket. Detta gör att LSTM:er kan lära sig och behålla information från det förflutna, vilket gör dem effektiva för uppgifter som maskinöversättning, taligenkänning och naturlig språkbehandling.
Kolla också:
- Långt korttidsminne (LSTM) RNN i Tensorflow
- Textgenerering med återkommande långtidsminnesnätverk
- Långt korttidsminne Nätverk Förklaring
Vanliga frågor (FAQs)
1. Vad är LSTM och varför används det?
LSTM, eller Long Short-Term Memory, är en typ av återkommande neurala nätverk designade för sekvensuppgifter, som utmärker sig när det gäller att fånga och använda långsiktiga beroenden i data.
2. Hur fungerar LSTM?
LSTM använder ett celltillstånd för att lagra information om tidigare indata. Detta celltillstånd uppdateras vid varje steg i nätverket, och nätverket använder det för att göra förutsägelser om den aktuella inmatningen. Celltillståndet uppdateras med hjälp av en serie grindar som styr hur mycket information som tillåts flöda in i och ut ur cellen.
3. Vad är LSTM-exempel?
Exempel på LSTM (Long Short-Term Memory) inkluderar taligenkänning, maskinöversättning och tidsserieprediktion, vilket utnyttjar dess förmåga att fånga långsiktiga beroenden i sekventiell data.
python-utskrift med 2 decimaler
4. Vad är skillnaden mellan LSTM och Gated Recurrent Unit (GRU)?
LSTM har ett celltillstånd och en grindmekanism som styr informationsflödet, medan GRU har en enklare uppdateringsmekanism för enkelgrind. LSTM är kraftfullare men långsammare att träna, medan GRU är enklare och snabbare.
5. Vad är skillnaden mellan LSTM och RNN?
- RNNs har en enkel återkommande struktur med enkelriktat informationsflöde.
- LSTM har en grindmekanism som styr informationsflödet och ett celltillstånd för långtidsminnet.
- LSTM i allmänhet överträffa RNN i uppgifter som kräver inlärning av långsiktiga beroenden.
6. Är LSTM snabbare än CNN?
Nej, LSTM och CNN tjänar olika syften. LSTM är för sekventiell data; CNN är för rumslig data.
7. Är LSTM snabbare än GRU?
Generellt sett, ja. GRU:er har färre parametrar, vilket kan leda till snabbare träning jämfört med LSTM:er.