LSTM puikiai atlieka sekos numatymo užduotis, fiksuodama ilgalaikes priklausomybes. Idealiai tinka laiko eilutėms, mašininiam vertimui ir kalbos atpažinimui dėl priklausomybės užsakymui. Straipsnyje pateikiamas išsamus LSTM įvadas, apimantis LSTM modelį, architektūrą, darbo principus ir svarbų vaidmenį, kurį jie atlieka įvairiose programose.
Kas yra LSTM?
Ilgalaikė trumpalaikė atmintis yra patobulinta pasikartojančio neuroninio tinklo versija, sukurta Hochreiter & Schmidhuber.
Tradicinis RNN turi vieną paslėptą būseną, kuri praeina laikui bėgant, todėl tinklui gali būti sunku išmokti ilgalaikių priklausomybių. LSTM modelis išspręskite šią problemą įdiegdami atminties elementą, kuris yra talpykla, kurioje informacija gali būti saugoma ilgą laiką.
LSTM architektūros gali išmokti ilgalaikių nuoseklių duomenų priklausomybių, todėl jos puikiai tinka tokioms užduotims kaip kalbos vertimas , kalbos atpažinimas ir laiko eilučių prognozavimas .
LSTM taip pat gali būti naudojami kartu su kitomis neuroninių tinklų architektūromis, pvz Konvoliuciniai neuroniniai tinklai (CNN) vaizdų ir vaizdo įrašų analizei.
LSTM architektūra
LSTM architektūra apima atminties langelį, kurį valdo trys vartai: įvesties vartai, pamiršimo vartai ir išvesties vartai. Šie vartai nusprendžia, kokią informaciją pridėti, pašalinti iš atminties ląstelės ir išvesti iš jos.
- Įvesties vartai kontroliuoja, kokia informacija pridedama į atminties langelį.
- Užmiršimo vartai kontroliuoja, kokia informacija pašalinama iš atminties ląstelės.
- Išvesties vartai kontroliuoja, kokia informacija išvedama iš atminties ląstelės.
Tai leidžia LSTM tinklams pasirinktinai išsaugoti arba atmesti informaciją, kai ji teka per tinklą, o tai leidžia jiems išmokti ilgalaikių priklausomybių.
LSTM palaiko paslėptą būseną, kuri veikia kaip trumpalaikė tinklo atmintis. Paslėpta būsena atnaujinama atsižvelgiant į įvestį, ankstesnę paslėptą būseną ir dabartinę atminties langelio būseną.
Dvikryptis LSTM modelis
Dvikryptis LSTM (Bi LSTM / BLSTM) yra pasikartojantis neuroninis tinklas (RNN), galintis apdoroti nuoseklius duomenis tiek pirmyn, tiek atgal. Tai leidžia Bi LSTM išmokti ilgesnio diapazono nuoseklių duomenų priklausomybes nei tradiciniai LSTM, kurie gali apdoroti nuoseklius duomenis tik viena kryptimi.
- Bi LSTM sudaro du LSTM tinklai, vienas, kuris apdoroja įvesties seką pirmyn, o kitas, kuris apdoroja įvesties seką atgaline kryptimi.
- Tada dviejų LSTM tinklų išėjimai sujungiami, kad būtų gauta galutinė produkcija.
LSTM modeliai, įskaitant Bi LSTM, parodė pažangiausią našumą atliekant įvairias užduotis, tokias kaip mašininis vertimas, kalbos atpažinimas ir teksto apibendrinimas.
LSTM architektūrų tinklus galima sukrauti, kad būtų sukurta gili architektūra, leidžianti išmokti dar sudėtingesnių nuoseklių duomenų modelių ir hierarchijų. Kiekvienas LSTM sluoksnis sukrautoje konfigūracijoje fiksuoja skirtingus abstrakcijos lygius ir laikinąsias priklausomybes įvesties duomenyse.
LSTM veikia
LSTM architektūra turi grandinės struktūrą, kurią sudaro keturi neuroniniai tinklai ir skirtingi atminties blokai, vadinami ląstelės .
Informacija išsaugoma ląstelėse, o atminties manipuliacijas atlieka ląstelės vartai. Yra treji vartai -
Pamiršk vartus
Informacija, kuri nebėra naudinga ląstelės būsenoje, pašalinama su užmiršimo vartais. Du įėjimai x t (įvestis konkrečiu laiku) ir h t-1 (ankstesnė ląstelių išvestis) yra paduodami į vartus ir padauginami iš svorio matricų, o po to pridedamas poslinkis. Rezultatas perduodamas per aktyvinimo funkciją, kuri suteikia dvejetainį išvestį. Jei tam tikros ląstelės būsenos išvestis yra 0, informacija pamirštama, o 1 išvesties informacija išsaugoma naudoti ateityje. Užmiršimo vartų lygtis yra tokia:
kur:
lapė ar vilkas
- W_f reiškia svorio matricą, susietą su pamiršimo vartais.
- [h_t-1, x_t] reiškia dabartinės įvesties ir ankstesnės paslėptos būsenos sujungimą.
- b_f yra paklaida su pamiršimo vartais.
- σ yra sigmoidinė aktyvinimo funkcija.

Įvesties vartai
Naudingos informacijos į ląstelės būseną įtraukimą atlieka įvesties vartai. Pirma, informacija reguliuojama naudojant sigmoidinę funkciją ir filtruojamos reikšmės, kurias reikia prisiminti, panašiai kaip pamiršimo vartai, naudojant įvestis h t-1 ir x t .. Tada vektorius sukuriamas naudojant žuvingas funkcija, kuri suteikia išvestį nuo -1 iki +1, kurioje yra visos galimos reikšmės nuo ht-1ir x t . Galiausiai vektoriaus reikšmės ir reguliuojamos reikšmės padauginamos, kad būtų gauta naudinga informacija. Įvesties vartų lygtis yra tokia:
Ankstesnę būseną padauginame iš ft, neatsižvelgdami į informaciją, kurią anksčiau pasirinkome ignoruoti. Toliau įtraukiame it∗Ct. Tai rodo atnaujintas kandidatų vertes, pakoreguotas pagal sumą, kurią pasirinkome atnaujinti kiekvienai būsenos vertei.
ilgas į eilutę java
kur
- ⊙ žymi elementų daugybą
- tanh yra tanh aktyvinimo funkcija
Išėjimo vartai
Užduotį išgauti naudingą informaciją iš dabartinės ląstelės būsenos, kuri turi būti pateikta kaip išvestis, atlieka išvesties vartai. Pirma, ląstelėje taikant tanh funkciją sukuriamas vektorius. Tada informacija reguliuojama naudojant sigmoidinę funkciją ir filtruojama pagal reikšmes, kurias reikia atsiminti naudojant įvestis
LSTM programos
Kai kurios žinomos LSTM programos apima:
- Kalbos modeliavimas: LSTM buvo naudojami natūralios kalbos apdorojimo užduotims, tokioms kaip kalbos modeliavimas, mašininis vertimas ir teksto apibendrinimas. Jie gali būti išmokyti generuoti nuoseklius ir gramatiškai teisingus sakinius, mokantis žodžių priklausomybių sakinyje.
- Kalbos atpažinimas: LSTM buvo naudojami kalbos atpažinimo užduotims, tokioms kaip kalbos perrašymas į tekstą ir tariamų komandų atpažinimas. Jie gali būti išmokyti atpažinti kalbos modelius ir suderinti juos su atitinkamu tekstu.
- Laiko eilučių prognozė: LSTM buvo naudojami atliekant laiko eilučių prognozavimo užduotis, pvz., akcijų kainų, oro sąlygų ir energijos suvartojimo prognozavimą. Jie gali išmokti laiko eilučių duomenų modelius ir naudoti juos būsimų įvykių prognozėms.
- Anomalijų aptikimas: LSTM buvo naudojami anomalijų aptikimo užduotims, tokioms kaip sukčiavimo ir tinklo įsilaužimo aptikimas. Jie gali būti išmokyti nustatyti duomenų modelius, kurie skiriasi nuo normos, ir pažymėti juos kaip galimas anomalijas.
- Rekomendavimo sistemos: LSTM buvo naudojami atliekant rekomendacijų užduotis, pvz., rekomenduoti filmus, muziką ir knygas. Jie gali išmokti vartotojų elgsenos modelius ir panaudoti juos teikdami asmenines rekomendacijas.
- Vaizdo įrašo analizė: LSTM buvo naudojami vaizdo analizės užduotims, tokioms kaip objektų aptikimas, veiklos atpažinimas ir veiksmų klasifikavimas. Jie gali būti naudojami kartu su kitomis neuroninių tinklų architektūromis, tokiomis kaip konvoliuciniai neuroniniai tinklai (CNN), siekiant analizuoti vaizdo duomenis ir gauti naudingos informacijos.
LTSM prieš RNN
Funkcija | LSTM (ilga trumpalaikė atmintis) | RNN (pasikartojantis neuronų tinklas) |
|---|---|---|
Atmintis | Turi specialų atminties bloką, leidžiantį išmokti ilgalaikes nuoseklių duomenų priklausomybes | Neturi atminties bloko |
Kryptingumas | Galima išmokyti apdoroti nuoseklius duomenis tiek pirmyn, tiek atgal | Galima išmokyti apdoroti nuoseklius duomenis tik viena kryptimi |
Treniruotės | Sunkiau treniruotis nei RNN dėl vartų ir atminties bloko sudėtingumo | Lengviau treniruojamas nei LSTM |
Ilgalaikis priklausomybės mokymasis | Taip | Ribotas |
Gebėjimas išmokti nuoseklius duomenis | Taip | Taip pasirinkti iš kelių sql lentelių |
Programos | Mašininis vertimas, kalbos atpažinimas, teksto apibendrinimas, natūralios kalbos apdorojimas, laiko eilučių prognozavimas | Natūralios kalbos apdorojimas, mašininis vertimas, kalbos atpažinimas, vaizdo apdorojimas, vaizdo apdorojimas |
Problema dėl ilgalaikių priklausomybių RNN
Pasikartojantys neuroniniai tinklai (RNN) skirti tvarkyti nuoseklius duomenis išlaikant paslėptą būseną, kuri fiksuoja informaciją iš ankstesnių laiko etapų. Tačiau jie dažnai susiduria su iššūkiais mokydamiesi ilgalaikių priklausomybių, kai informacija iš tolimų laiko žingsnių tampa labai svarbi norint tiksliai prognozuoti. Ši problema žinoma kaip nykstančio gradiento arba sprogstamojo gradiento problema.
Toliau pateikiamos kelios dažniausiai pasitaikančios problemos:
Nykstantis gradientas
Atgal sklindant laikui bėgant, gradientai gali tapti labai maži, nes jie dauginami per pasikartojančių ryšių grandinę, todėl modeliui sunku išmokti priklausomybių, kurias skiria daug laiko žingsnių.
Sprogstantis gradientas
Ir atvirkščiai, sklindant atgal, gradientai gali sprogti, o tai gali sukelti skaitmeninį nestabilumą ir apsunkinti modelio konvergavimą.
Įvairūs ilgalaikės trumpalaikės atminties variantai
Laikui bėgant buvo pasiūlyta keletas originalios LSTM architektūros variantų ir patobulinimų.
Vanilė LSTM
Tai originali LSTM architektūra, kurią pasiūlė Hochreiter ir Schmidhuber. Jame yra atminties ląstelės su įvesties, pamiršimo ir išvesties vartais, kad būtų galima valdyti informacijos srautą. Pagrindinė idėja yra leisti tinklui pasirinktinai atnaujinti ir pamiršti informaciją iš atminties elemento.
Žvilgsnio jungtys
Akutėje LSTM vartams leidžiama žiūrėti ne tik į ląstelės būseną, bet ir į paslėptą būseną. Tai leidžia vartams atsižvelgti į ląstelės būseną priimant sprendimus ir suteikia daugiau kontekstinės informacijos.
Užblokuotas pasikartojantis vienetas (GRU)
GRU yra LSTM alternatyva, sukurta taip, kad būtų paprastesnė ir skaičiavimo požiūriu efektyvesnė. Jis sujungia įvesties ir pamiršimo vartus į vieną atnaujinimo vartus ir sujungia ląstelės būseną bei paslėptą būseną. Nors GRU turi mažiau parametrų nei LSTM, buvo įrodyta, kad jie praktiškai veikia panašiai.
Išvada
Ilgalaikė trumpalaikė atmintis (LSTM) yra galingas pasikartojančio neuroninio tinklo (RNN) tipas, kuris puikiai tinka nuosekliems duomenims su ilgalaikėmis priklausomybėmis tvarkyti. Ji sprendžia nykstančio gradiento problemą, bendrą RNN apribojimą, įdiegdama blokavimo mechanizmą, kuris kontroliuoja informacijos srautą tinkle. Tai leidžia LSTM mokytis ir išsaugoti informaciją iš praeities, todėl jie yra veiksmingi atliekant tokias užduotis kaip mašininis vertimas, kalbos atpažinimas ir natūralios kalbos apdorojimas.
Taip pat patikrinkite:
- Ilgalaikė trumpalaikė atmintis (LSTM) RNN Tensorflow
- Teksto generavimas naudojant pasikartojančios ilgalaikės trumpalaikės atminties tinklą
- Ilgalaikės trumpalaikės atminties tinklų paaiškinimas
Dažnai užduodami klausimai (DUK)
1. Kas yra LSTM ir kodėl jis naudojamas?
LSTM arba ilgalaikė trumpalaikė atmintis yra pasikartojančio neuroninio tinklo tipas, skirtas sekos užduotims atlikti, puikiai fiksuojant ir panaudojant ilgalaikes duomenų priklausomybes.
avl medžiai
2. Kaip veikia LSTM?
LSTM naudoja langelio būseną, kad saugotų informaciją apie ankstesnes įvestis. Ši ląstelės būsena atnaujinama kiekviename tinklo žingsnyje, o tinklas ją naudoja, kad prognozuotų esamą įvestį. Ląstelės būsena atnaujinama naudojant vartus, kurie kontroliuoja, kiek informacijos leidžiama patekti į langelį ir iš jos.
3. Kokie yra LSTM pavyzdžiai?
LSTM (Long Short-Term Memory) pavyzdžiai apima kalbos atpažinimą, mašininį vertimą ir laiko eilučių numatymą, išnaudojant jo gebėjimą užfiksuoti ilgalaikes nuoseklių duomenų priklausomybes.
4. Kuo skiriasi LSTM ir Gated Recurrent Unit (GRU)?
LSTM turi ląstelės būseną ir blokavimo mechanizmą, kuris kontroliuoja informacijos srautą, o GRU turi paprastesnį vieno vartų atnaujinimo mechanizmą. LSTM yra galingesnis, bet lėčiau treniruojamas, o GRU paprastesnis ir greitesnis.
5. Kuo skiriasi LSTM ir RNN?
- RNN turi paprastą pasikartojančią struktūrą su vienakrypčiu informacijos srautu.
- LSTM turi blokavimo mechanizmą, kuris kontroliuoja informacijos srautą ir ląstelės būseną ilgalaikei atminčiai.
- LSTM paprastai pranoksta RNN atliekant užduotis, reikalaujančias išmokti ilgalaikių priklausomybių.
6. Ar LSTM greitesnis už CNN?
Ne, LSTM ir CNN tarnauja skirtingiems tikslams. LSTM yra skirti nuosekliems duomenims; CNN skirti erdviniams duomenims.
7. Ar LSTM greitesnis už GRU?
Apskritai, taip. GRU turi mažiau parametrų, todėl treniruotės gali būti greitesnės, palyginti su LSTM.