logo

Kas yra LSTM – ilgalaikė trumpalaikė atmintis?

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:

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
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.

LSTM architektūra

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

i_t = σ(W_i · [h_{t-1}, x_t] + b_i)

Ĉ_t = tanh(W_c · [h_{t-1}, x_t] + b_c)

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.

C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t

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 h_{t-1} irx_t. Galiausiai vektoriaus reikšmės ir reguliuojamos reikšmės padauginamos, kad būtų siunčiamos kaip išvestis ir įvestis į kitą langelį. Išėjimo vartų lygtis yra tokia:

o_t = σ(W_o · [h_{t-1}, x_t] + b_o)

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:

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.