LSTM je odličen pri nalogah napovedovanja zaporedja, ki zajemajo dolgoročne odvisnosti. Idealno za časovne vrste, strojno prevajanje in prepoznavanje govora zaradi odvisnosti od vrstnega reda. Članek ponuja poglobljen uvod v LSTM, ki zajema model LSTM, arhitekturo, delovna načela in ključno vlogo, ki jo imajo v različnih aplikacijah.
Kaj je LSTM?
Dolgotrajni kratkoročni spomin je izboljšana različica ponavljajoče se nevronske mreže, ki sta jo zasnovala Hochreiter & Schmidhuber.
kruskalov algoritem
Tradicionalno RNN ima eno samo skrito stanje, ki se prenaša skozi čas, kar lahko omrežju oteži učenje dolgoročnih odvisnosti. model LSTM odpravite to težavo z uvedbo pomnilniške celice, ki je vsebnik, ki lahko hrani informacije za daljše obdobje.
Arhitekture LSTM se lahko naučijo dolgoročnih odvisnosti v zaporednih podatkih, zaradi česar so zelo primerne za naloge, kot so prevod jezika , prepoznavanje govora in napovedovanje časovnih vrst .
LSTM se lahko uporabljajo tudi v kombinaciji z drugimi arhitekturami nevronskih mrež, kot je npr Konvolucijske nevronske mreže (CNN) za analizo slike in videa.
Arhitektura LSTM
Arhitekture LSTM vključujejo pomnilniško celico, ki jo nadzirajo tri vrata: vhodna vrata, pozabljena vrata in izhodna vrata. Ta vrata odločajo, katere informacije dodati, odstraniti in izpisati iz pomnilniške celice.
- Vhodna vrata nadzirajo, katere informacije se dodajo v pomnilniško celico.
- Vrata za pozabo nadzorujejo, katere informacije se odstranijo iz pomnilniške celice.
- Izhodna vrata nadzorujejo, katere informacije so izhodne iz pomnilniške celice.
To omogoča omrežjem LSTM, da selektivno zadržijo ali zavržejo informacije, ko te tečejo skozi omrežje, kar jim omogoča, da se naučijo dolgoročnih odvisnosti.
LSTM vzdržuje skrito stanje, ki deluje kot kratkoročni pomnilnik omrežja. Skrito stanje se posodobi glede na vnos, prejšnje skrito stanje in trenutno stanje pomnilniške celice.
Dvosmerni model LSTM
Dvosmerni LSTM (Bi LSTM/BLSTM) je ponavljajoča se nevronska mreža (RNN), ki lahko obdeluje zaporedne podatke tako v smeri naprej kot nazaj. To omogoča Bi LSTM, da se nauči dolgoročnih odvisnosti v zaporednih podatkih kot tradicionalni LSTM, ki lahko obdelujejo zaporedne podatke samo v eno smer.
- Bi LSTM so sestavljeni iz dveh omrežij LSTM, enega, ki obdeluje vhodno zaporedje v smeri naprej, in enega, ki obdeluje vhodno zaporedje v smeri nazaj.
- Izhodi obeh omrežij LSTM se nato združijo v končni izhod.
Modeli LSTM, vključno z Bi LSTM, so pokazali najsodobnejšo zmogljivost pri različnih nalogah, kot so strojno prevajanje, prepoznavanje govora in povzemanje besedila.
Omrežja v arhitekturah LSTM je mogoče zložiti za ustvarjanje globokih arhitektur, kar omogoča učenje še bolj zapletenih vzorcev in hierarhij v zaporednih podatkih. Vsaka plast LSTM v zloženi konfiguraciji zajame različne ravni abstrakcije in časovne odvisnosti znotraj vhodnih podatkov.
LSTM deluje
Arhitektura LSTM ima verižno strukturo, ki vsebuje štiri nevronske mreže in različne pomnilniške bloke, imenovane celice .
Informacije hranijo celice, spominske manipulacije pa izvajajo vrata. Obstajajo tri vrata -
Pozabi na Gate
Informacije, ki v stanju celice niso več uporabne, se odstranijo z vrati za pozabo. Dva vhoda x t (vnos ob določenem času) in h t-1 (prejšnji izhod celice) se dovedejo do vrat in pomnožijo z matricami uteži, čemur sledi dodatek pristranskosti. Rezultat se prenese skozi aktivacijsko funkcijo, ki daje binarni izhod. Če je za določeno stanje celice izhod 0, je podatek pozabljen, za izhod 1 pa se podatek ohrani za prihodnjo uporabo. Enačba za pozabljena vrata je:
kje:
- W_f predstavlja matriko uteži, povezano s pozabljenimi vrati.
- [h_t-1, x_t] označuje veriženje trenutnega vnosa in prejšnjega skritega stanja.
- b_f je pristranskost s pozabljenimi vrati.
- σ je sigmoidna aktivacijska funkcija.

Vhodna vrata
Dodajanje uporabnih informacij stanju celice izvedejo vhodna vrata. Prvič, informacije se regulirajo s sigmoidno funkcijo in filtrirajo vrednosti, ki si jih je treba zapomniti, podobno kot pozabljena vrata z uporabo vhodov h t-1 in x t .. Nato se z uporabo ustvari vektor ribji funkcija, ki daje izhod od -1 do +1, ki vsebuje vse možne vrednosti iz ht-1in x t . Na koncu se vrednosti vektorja in regulirane vrednosti pomnožijo, da se pridobi uporabna informacija. Enačba za vhodna vrata je:
Prejšnje stanje pomnožimo s ft, pri čemer ne upoštevamo informacij, ki smo jih predhodno prezrli. Nato vključimo it∗Ct. To predstavlja posodobljene vrednosti kandidatov, prilagojene za količino, ki smo jo izbrali za posodobitev vsake vrednosti stanja.
metoda podniza java
kje
- ⊙ označuje elementno množenje
- tanh je aktivacijska funkcija tanh
Izhodna vrata
Nalogo pridobivanja uporabnih informacij iz trenutnega stanja celice, ki bodo predstavljene kot izhod, opravijo izhodna vrata. Najprej se vektor ustvari z uporabo funkcije tanh na celici. Nato se informacije regulirajo s sigmoidno funkcijo in filtrirajo po vrednostih, ki si jih je treba zapomniti, z uporabo vnosov
Aplikacije LSTM
Nekatere znane aplikacije LSTM vključujejo:
- Jezikovno modeliranje: LSTM so bili uporabljeni za naloge obdelave naravnega jezika, kot so jezikovno modeliranje, strojno prevajanje in povzemanje besedila. Lahko se usposobijo za ustvarjanje skladnih in slovnično pravilnih stavkov z učenjem odvisnosti med besedami v stavku.
- Prepoznavanje govora: LSTM so bili uporabljeni za naloge prepoznavanja govora, kot je prepis govora v besedilo in prepoznavanje govorjenih ukazov. Lahko se usposobijo za prepoznavanje vzorcev v govoru in njihovo povezovanje z ustreznim besedilom.
- Napovedovanje časovnih vrst: LSTM so bili uporabljeni za naloge napovedovanja časovnih vrst, kot je napovedovanje tečajev delnic, vremena in porabe energije. Lahko se naučijo vzorcev v podatkih o časovnih serijah in jih uporabijo za napovedovanje prihodnjih dogodkov.
- Odkrivanje nepravilnosti: LSTM so bili uporabljeni za naloge odkrivanja nepravilnosti, kot je odkrivanje goljufij in vdorov v omrežje. Lahko se usposobijo za prepoznavanje vzorcev v podatkih, ki odstopajo od norme, in jih označijo kot potencialne anomalije.
- Sistemi priporočil: LSTM so bili uporabljeni za priporočilna opravila, kot je priporočanje filmov, glasbe in knjig. Lahko se naučijo vzorcev v vedenju uporabnikov in jih uporabijo za pripravo prilagojenih priporočil.
- Video analiza: LSTM so bili uporabljeni za naloge video analize, kot so zaznavanje objektov, prepoznavanje dejavnosti in klasifikacija dejanj. Uporabljajo se lahko v kombinaciji z drugimi arhitekturami nevronskih mrež, kot so konvolucijske nevronske mreže (CNN), za analizo video podatkov in pridobivanje uporabnih informacij.
LTSM proti RNN
Funkcija | LSTM (dolgoročni kratkoročni spomin) | RNN (ponavljajoča se nevronska mreža) |
|---|---|---|
Spomin | Ima posebno pomnilniško enoto, ki omogoča učenje dolgoročnih odvisnosti v zaporednih podatkih | Nima pomnilniške enote |
Usmerjenost | Lahko se usposobi za obdelavo zaporednih podatkov v smeri naprej in nazaj niz matrike v c | Lahko se usposobi samo za obdelavo zaporednih podatkov v eno smer |
Usposabljanje | Težje ga je trenirati kot RNN zaradi zapletenosti vrat in spominske enote | Lažji za treniranje kot LSTM |
Učenje dolgotrajne odvisnosti | ja | Omejeno |
Sposobnost učenja zaporednih podatkov | ja ali ima lahko abstraktni razred konstruktor | ja |
Aplikacije | Strojno prevajanje, prepoznavanje govora, povzemanje besedila, obdelava naravnega jezika, napovedovanje časovnih vrst | Obdelava naravnega jezika, strojno prevajanje, prepoznavanje govora, obdelava slik, obdelava videa |
Težava z dolgoročnimi odvisnostmi v RNN
Ponavljajoče se nevronske mreže (RNN) so zasnovane za obdelavo zaporednih podatkov z ohranjanjem skritega stanja, ki zajema informacije iz prejšnjih časovnih korakov. Vendar se pogosto soočajo z izzivi pri učenju dolgoročnih odvisnosti, kjer postanejo informacije iz oddaljenih časovnih korakov ključne za natančno napovedovanje. Ta problem je znan kot problem izginjajočega gradienta ali eksplozivnega gradienta.
Spodaj je navedenih nekaj pogostih težav:
izračun delovne dobe v excelu
Izginjajoči preliv
Med povratnim širjenjem skozi čas lahko gradienti postanejo izjemno majhni, ko se množijo skozi verigo ponavljajočih se povezav, zaradi česar ima model težave z učenjem odvisnosti, ki so ločene s številnimi časovnimi koraki.
Eksplozivni gradient
Nasprotno pa lahko gradienti eksplodirajo med širjenjem nazaj, kar povzroči numerično nestabilnost in oteži konvergenco modela.
Različne različice dolgotrajnega kratkoročnega spomina
Sčasoma je bilo predlaganih več različic in izboljšav prvotne arhitekture LSTM.
Vanilija LSTM
To je originalna arhitektura LSTM, ki sta jo predlagala Hochreiter in Schmidhuber. Vključuje pomnilniške celice z vhodnimi, pozabljenimi in izhodnimi vrati za nadzor pretoka informacij. Ključna ideja je omogočiti omrežju selektivno posodabljanje in pozabljanje informacij iz pomnilniške celice.
Kukalne povezave
V kukalnem LSTM lahko vrata poleg skritega stanja pogledajo tudi stanje celice. To omogoča vratom, da pri sprejemanju odločitev upoštevajo stanje celice, kar zagotavlja več informacij o kontekstu.
Gated Recurrent Unit (GRU)
GRU je alternativa LSTM, zasnovana tako, da je preprostejša in računsko učinkovitejša. Združuje vhodna in pozabljena vrata v ena sama posodobitvena vrata ter združuje stanje celice in skrito stanje. Čeprav imajo GRU manj parametrov kot LSTM, se je izkazalo, da v praksi delujejo podobno.
Zaključek
Dolgotrajni kratkoročni spomin (LSTM) je zmogljiva vrsta ponavljajoče se nevronske mreže (RNN), ki je zelo primerna za obdelavo zaporednih podatkov z dolgoročnimi odvisnostmi. Obravnava problem izginjajočega gradienta, ki je pogosta omejitev RNN-jev, z uvedbo mehanizma preklopa, ki nadzoruje pretok informacij skozi omrežje. To omogoča LSTM-jem, da se učijo in obdržijo informacije iz preteklosti, zaradi česar so učinkoviti za naloge, kot so strojno prevajanje, prepoznavanje govora in obdelava naravnega jezika.
Preverite tudi:
- Dolgi kratkoročni spomin (LSTM) RNN v Tensorflow
- Generiranje besedila z uporabo omrežja ponavljajočega se dolgotrajnega pomnilnika
- Razlaga omrežij dolgotrajnega pomnilnika
Pogosto zastavljena vprašanja (FAQ)
1. Kaj je LSTM in zakaj se uporablja?
LSTM ali dolgoročni kratkoročni spomin je vrsta ponavljajoče se nevronske mreže, zasnovane za zaporedne naloge, ki se odlikuje po zajemanju in uporabi dolgoročnih odvisnosti podatkov.
2. Kako deluje LSTM?
LSTM uporabljajo stanje celice za shranjevanje informacij o preteklih vnosih. To stanje celice se posodobi na vsakem koraku omrežja in omrežje ga uporablja za napovedovanje trenutnega vnosa. Stanje celice se posodablja z nizom vrat, ki nadzorujejo, koliko informacij je dovoljeno pretakati v celico in iz nje.
3. Kateri so primeri LSTM?
Primeri LSTM (dolgoročni kratkoročni spomin) vključujejo prepoznavanje govora, strojno prevajanje in napovedovanje časovnih vrst, ki izkoriščajo njegovo sposobnost zajemanja dolgoročnih odvisnosti v zaporednih podatkih.
4. Kakšna je razlika med LSTM in Gated Recurrent Unit (GRU)?
LSTM ima stanje celice in prehodni mehanizem, ki nadzoruje pretok informacij, medtem ko ima GRU enostavnejši mehanizem posodabljanja z enimi vrati. LSTM je zmogljivejši, vendar ga je počasneje trenirati, medtem ko je GRU preprostejši in hitrejši.
5. Kakšna je razlika med LSTM in RNN?
- RNN-ji imajo preprosto ponavljajočo se strukturo z enosmernim pretokom informacij.
- LSTM-ji imajo zaporni mehanizem, ki nadzoruje pretok informacij in stanje celice za dolgoročni spomin.
- LSTM-ji na splošno prekašajo RNN pri nalogah, ki zahtevajo učenje dolgoročnih odvisnosti.
6. Je LSTM hitrejši od CNN?
Ne, LSTM in CNN imajo različne namene. LSTM so za zaporedne podatke; CNN so za prostorske podatke.
7. Je LSTM hitrejši od GRU?
Na splošno ja. GRU imajo manj parametrov, kar lahko vodi do hitrejšega usposabljanja v primerjavi z LSTM.