logo

Kas ir LSTM — ilgtermiņa īstermiņa atmiņa?

LSTM izceļas ar secību prognozēšanas uzdevumiem, tverot ilgtermiņa atkarības. Ideāli piemērots laikrindām, mašīntulkošanai un runas atpazīšanai secības atkarības dēļ. Rakstā ir sniegts padziļināts ievads par LSTM, aptverot LSTM modeli, arhitektūru, darbības principus un to kritisko lomu dažādās lietojumprogrammās.

Kas ir LSTM?

Ilgtermiņa īstermiņa atmiņa ir Hochreiter & Schmidhuber izstrādāta atkārtota neironu tīkla uzlabota versija.



Tradicionāls RNN ir viens slēpts stāvoklis, kas tiek nodots laika gaitā, un tas var apgrūtināt tīklam apgūt ilgtermiņa atkarības. LSTMs modelis Risiniet šo problēmu, ieviešot atmiņas šūnu, kas ir konteiners, kurā var glabāt informāciju ilgāku laiku.

LSTM arhitektūras spēj apgūt ilgtermiņa atkarības no secīgiem datiem, kas padara tās labi piemērotas tādiem uzdevumiem kā valodas tulkojums , runas atpazīšana un laika rindu prognozēšana .

LSTM var izmantot arī kopā ar citām neironu tīklu arhitektūrām, piemēram Konvolūcijas neironu tīkli (CNN) attēlu un video analīzei.



LSTM arhitektūra

LSTM arhitektūra ietver atmiņas šūnu, kuru kontrolē trīs vārti: ievades vārti, aizmirstības vārti un izvades vārti. Šie vārti izlemj, kādu informāciju pievienot atmiņas šūnai, noņemt no tās un izvadīt no tās.

  • Ievades vārti kontrolē, kāda informācija tiek pievienota atmiņas šūnai.
  • Aizmirstības vārti kontrolē, kāda informācija tiek noņemta no atmiņas šūnas.
  • Izvades vārti kontrolē, kāda informācija tiek izvadīta no atmiņas šūnas.

Tas ļauj LSTM tīkliem selektīvi saglabāt vai atmest informāciju, kad tā plūst caur tīklu, kas ļauj tiem apgūt ilgtermiņa atkarības.

kas ir eksporta komanda Linux

LSTM uztur slēpto stāvokli, kas darbojas kā tīkla īstermiņa atmiņa. Slēptais stāvoklis tiek atjaunināts, pamatojoties uz ievadi, iepriekšējo slēpto stāvokli un atmiņas šūnas pašreizējo stāvokli.



Divvirzienu LSTM modelis

Divvirzienu LSTM (Bi LSTM/BLSTM) ir atkārtots neironu tīkls (RNN), kas spēj apstrādāt secīgus datus gan uz priekšu, gan atpakaļ. Tas ļauj Bi LSTM uzzināt lielāka diapazona atkarības secīgos datos nekā tradicionālie LSTM, kas var apstrādāt secīgus datus tikai vienā virzienā.

  • Bi LSTM sastāv no diviem LSTM tīkliem, no kuriem viens apstrādā ievades secību virzienā uz priekšu un otrs, kas apstrādā ievades secību atpakaļ virzienā.
  • Pēc tam abu LSTM tīklu izejas tiek apvienotas, lai iegūtu galīgo izvadi.

LSTM modeļi, tostarp Bi LSTM, ir demonstrējuši vismodernāko veiktspēju dažādos uzdevumos, piemēram, mašīntulkošanā, runas atpazīšanā un teksta apkopošanā.

LSTM arhitektūru tīklus var sakraut, lai izveidotu dziļas arhitektūras, ļaujot apgūt vēl sarežģītākus modeļus un hierarhijas secīgos datos. Katrs LSTM slānis stacked konfigurācijā tver dažādus abstrakcijas līmeņus un laika atkarības ievades datos.

LSTM strādā

LSTM arhitektūrai ir ķēdes struktūra, kas satur četrus neironu tīklus un dažādus atmiņas blokus, ko sauc šūnas .

Informācija tiek saglabāta šūnās, un atmiņas manipulācijas veic vārti. Ir trīs vārti -

Aizmirstiet vārtus

Informācija, kas vairs nav noderīga šūnas stāvoklī, tiek noņemta ar aizmirst vārtiem. Divas ieejas x t (ievade konkrētajā laikā) un h t-1 (iepriekšējā šūnu izvade) tiek ievadīti vārtos un reizināti ar svara matricām, kam seko novirzes pievienošana. Rezultāts tiek nodots caur aktivizācijas funkciju, kas dod bināru izvadi. Ja konkrētam šūnas stāvoklim izvade ir 0, informācija tiek aizmirsta, bet izvadei 1 informācija tiek saglabāta turpmākai lietošanai. Aizmirstības vārtu vienādojums ir:

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
kur:

  • W_f ir svara matrica, kas saistīta ar aizmirstības vārtiem.
  • [h_t-1, x_t] apzīmē pašreizējās ievades un iepriekšējā slēptā stāvokļa savienošanu.
  • b_f ir novirze ar aizmirst vārtiem.
  • σ ir sigmoīda aktivizācijas funkcija.

LSTM arhitektūra

Ieejas vārti

Noderīgas informācijas pievienošanu šūnas stāvoklim veic ievades vārti. Pirmkārt, informācija tiek regulēta, izmantojot sigmoid funkciju un filtrē vērtības, kas jāatceras līdzīgi aizmirst vārtiem, izmantojot ievades h t-1 un x t .. Pēc tam tiek izveidots vektors, izmantojot zivs funkcija, kas dod izvadi no -1 līdz +1, kas satur visas iespējamās vērtības no ht-1un x t . Visbeidzot, vektora vērtības un regulētās vērtības tiek reizinātas, lai iegūtu noderīgu informāciju. Ieejas vārtu vienādojums ir:

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

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

np vidējais

Mēs reizinām iepriekšējo stāvokli ar ft, neņemot vērā informāciju, kuru iepriekš bijām izvēlējušies ignorēt. Tālāk mēs iekļaujam it∗Ct. Tas atspoguļo atjauninātās kandidātvērtības, kas pielāgotas summai, kuru mēs izvēlējāmies katras stāvokļa vērtības atjaunināšanai.

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

kur

  • ⊙ apzīmē elementu reizināšanu
  • tanh ir tanh aktivizācijas funkcija

Izejas vārti

Uzdevumu iegūt noderīgu informāciju no pašreizējā šūnas stāvokļa, kas jāuzrāda kā izvade, veic izvades vārti. Pirmkārt, šūnai piemērojot tanh funkciju, tiek ģenerēts vektors. Pēc tam informācija tiek regulēta, izmantojot sigmoid funkciju un filtrē pēc vērtībām, kas jāatceras, izmantojot ievades h_{t-1} unx_t. Beidzot vektora vērtības un regulētās vērtības tiek reizinātas, lai tās nosūtītu kā izvadi un ievadi nākamajā šūnā. Izejas vārtu vienādojums ir:

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

dfs vs bfs

LSTM lietojumprogrammas

Dažas no slavenajām LSTM lietojumprogrammām ietver:

  • Valodas modelēšana: LSTM ir izmantoti dabiskās valodas apstrādes uzdevumiem, piemēram, valodas modelēšanai, mašīntulkošanai un teksta apkopošanai. Viņus var apmācīt ģenerēt sakarīgus un gramatiski pareizus teikumus, apgūstot atkarības starp vārdiem teikumā.
  • Runas atpazīšana: LSTM ir izmantoti runas atpazīšanas uzdevumiem, piemēram, runas pārrakstīšanai tekstā un izrunāto komandu atpazīšanai. Viņus var apmācīt atpazīt runas modeļus un saskaņot tos ar attiecīgo tekstu.
  • Laika rindas prognozēšana: LSTM ir izmantoti laikrindu prognozēšanas uzdevumiem, piemēram, akciju cenu, laikapstākļu un enerģijas patēriņa prognozēšanai. Viņi var uzzināt laika rindu datu modeļus un izmantot tos, lai prognozētu nākotnes notikumus.
  • Anomāliju noteikšana: LSTM ir izmantoti anomāliju noteikšanas uzdevumiem, piemēram, krāpšanas un tīkla ielaušanās noteikšanai. Viņus var apmācīt identificēt datu modeļus, kas atšķiras no normas, un atzīmēt tos kā potenciālas anomālijas.
  • Ieteikuma sistēmas: LSTM ir izmantoti ieteikumu uzdevumiem, piemēram, filmu, mūzikas un grāmatu ieteikšanai. Viņi var apgūt lietotāju uzvedības modeļus un izmantot tos, lai sniegtu personalizētus ieteikumus.
  • Video analīze: LSTM ir izmantoti video analīzes uzdevumiem, piemēram, objektu noteikšanai, darbību atpazīšanai un darbību klasifikācijai. Tos var izmantot kopā ar citām neironu tīklu arhitektūrām, piemēram, konvolucionālajiem neironu tīkliem (CNN), lai analizētu video datus un iegūtu noderīgu informāciju.

LTSM pret RNN

Funkcija

LSTM (ilgtermiņa īstermiņa atmiņa)

RNN (atkārtots neironu tīkls)

Atmiņa

Tam ir īpaša atmiņas vienība, kas ļauj apgūt secīgu datu ilgtermiņa atkarības

Nav atmiņas vienības

Virziena

Var apmācīt apstrādāt secīgus datus gan virzienā uz priekšu, gan atpakaļ

Var apmācīt apstrādāt secīgus datus tikai vienā virzienā

Apmācība

Grūtāk apmācīt nekā RNN vārtu un atmiņas vienības sarežģītības dēļ

Vieglāk trenēties nekā LSTM

Ilgtermiņa atkarības mācīšanās

Ierobežots

Spēja apgūt secīgus datus

Lietojumprogrammas

Mašīntulkošana, runas atpazīšana, teksta apkopošana, dabiskās valodas apstrāde, laikrindu prognozēšana

cm līdz pēdām un collām

Dabiskās valodas apstrāde, mašīntulkošana, runas atpazīšana, attēlu apstrāde, video apstrāde

Problēma ar RNN ilgtermiņa atkarībām

Atkārtoti neironu tīkli (RNN) ir paredzēti, lai apstrādātu secīgus datus, saglabājot slēptu stāvokli, kas tver informāciju no iepriekšējiem laika posmiem. Tomēr viņi bieži saskaras ar izaicinājumiem, apgūstot ilgtermiņa atkarības, kur informācija no attāliem laika posmiem kļūst ļoti svarīga precīzu prognožu veikšanai. Šī problēma ir pazīstama kā izzūdoša gradienta vai eksplodējoša gradienta problēma.

Tālāk ir norādītas dažas izplatītas problēmas.

Pazūdošais gradients

Atpakaļvairošanas laikā gradienti var kļūt ārkārtīgi mazi, jo tie tiek reizināti, izmantojot atkārtotu savienojumu ķēdi, radot modelim grūtības apgūt atkarības, kuras atdala daudzi laika soļi.

Eksplodējošais gradients

Un otrādi, gradienti var eksplodēt atpakaļizplatīšanās laikā, izraisot skaitlisko nestabilitāti un apgrūtinot modeļa konverģenci.

Dažādi ilgtermiņa īstermiņa atmiņas varianti

Laika gaitā tika piedāvāti vairāki sākotnējās LSTM arhitektūras varianti un uzlabojumi.

atinstalēt angular cli

Vaniļas LSTM

Šī ir sākotnējā LSTM arhitektūra, ko ierosināja Hohreiters un Šmidhūbers. Tas ietver atmiņas šūnas ar ievades, aizmirstības un izvades vārtiem, lai kontrolētu informācijas plūsmu. Galvenā ideja ir ļaut tīklam selektīvi atjaunināt un aizmirst informāciju no atmiņas šūnas.

Skatu cauruma savienojumi

Skatuvē LSTM vārtiem ir atļauts apskatīt šūnas stāvokli papildus slēptajam stāvoklim. Tas ļauj vārtiem, pieņemot lēmumus, ņemt vērā šūnas stāvokli, nodrošinot vairāk konteksta informācijas.

Slēgta periodiskā vienība (GRU)

GRU ir LSTM alternatīva, kas izstrādāta tā, lai tā būtu vienkāršāka un skaitļošanas ziņā efektīvāka. Tas apvieno ievades un aizmirstības vārtus vienā atjaunināšanas vārtos un apvieno šūnas stāvokli un slēpto stāvokli. Lai gan GRU ir mazāk parametru nekā LSTM, praksē ir pierādīts, ka tie darbojas līdzīgi.

Secinājums

Ilgtermiņa īstermiņa atmiņa (LSTM) ir spēcīgs atkārtota neironu tīkla (RNN) veids, kas ir labi piemērots secīgu datu apstrādei ar ilgtermiņa atkarībām. Tas risina izzūdoša gradienta problēmu, kas ir izplatīts RNN ierobežojums, ieviešot vārtu mehānismu, kas kontrolē informācijas plūsmu caur tīklu. Tas ļauj LSTM mācīties un saglabāt informāciju no pagātnes, padarot tos efektīvus tādiem uzdevumiem kā mašīntulkošana, runas atpazīšana un dabiskās valodas apstrāde.

Pārbaudiet arī:

Bieži uzdotie jautājumi (FAQ)

1. Kas ir LSTM un kāpēc to lieto?

LSTM jeb ilgtermiņa īstermiņa atmiņa ir atkārtota neironu tīkla veids, kas paredzēts secības uzdevumiem, izcili tverot un izmantojot datu ilgtermiņa atkarības.

2. Kā darbojas LSTM?

LSTM izmanto šūnas stāvokli, lai saglabātu informāciju par iepriekšējām ievadēm. Šis šūnas stāvoklis tiek atjaunināts katrā tīkla darbībā, un tīkls to izmanto, lai prognozētu pašreizējo ievadi. Šūnas stāvoklis tiek atjaunināts, izmantojot virkni vārtu, kas kontrolē, cik daudz informācijas ir atļauts ieplūst šūnā un no tās.

3. Kādi ir LSTM piemēri?

LSTM (ilgtermiņa īstermiņa atmiņa) piemēri ietver runas atpazīšanu, mašīntulkošanu un laika rindu prognozēšanu, izmantojot tās spēju fiksēt ilgtermiņa atkarības secīgos datos.

4. Kāda ir atšķirība starp LSTM un Gated Recurrent Unit (GRU)?

LSTM ir šūnas stāvoklis un vārtīšanas mehānisms, kas kontrolē informācijas plūsmu, savukārt GRU ir vienkāršāks viena vārtu atjaunināšanas mehānisms. LSTM ir jaudīgāks, bet lēnāk trenējams, savukārt GRU ir vienkāršāks un ātrāks.

5. Kāda ir atšķirība starp LSTM un RNN?

  • RNNs ir vienkārša atkārtota struktūra ar vienvirziena informācijas plūsmu.
  • LSTM ir vārtu mehānisms, kas kontrolē informācijas plūsmu, un šūnas stāvoklis ilgtermiņa atmiņai.
  • LSTM parasti pārspēj RNN uzdevumus, kuros ir jāapgūst ilgtermiņa atkarības.

6. Vai LSTM ir ātrāks par CNN?

Nē, LSTM un CNN kalpo dažādiem mērķiem. LSTM ir paredzēti secīgiem datiem; CNN ir paredzēti telpiskajiem datiem.

7. Vai LSTM ir ātrāks par GRU?

Vispār, jā. GRU ir mazāk parametru, kas var nodrošināt ātrāku apmācību salīdzinājumā ar LSTM.