logo

Čo je to LSTM – dlhodobá krátkodobá pamäť?

LSTM vyniká v úlohách predikcie sekvencií, zachytáva dlhodobé závislosti. Ideálne pre časové rady, strojový preklad a rozpoznávanie reči vďaka závislosti od objednávky. Článok poskytuje hĺbkový úvod do LSTM, pokrývajúci model LSTM, architektúru, pracovné princípy a kritickú úlohu, ktorú zohrávajú v rôznych aplikáciách.

čo je LSTM?

Dlhá Krátkodobá Pamäť je vylepšená verzia rekurentnej neurónovej siete navrhnutá spoločnosťou Hochreiter & Schmidhuber.



Tradičný RNN má jediný skrytý stav, ktorý prechádza časom, čo môže sieti sťažiť naučenie sa dlhodobých závislostí. Model LSTM vyriešiť tento problém zavedením pamäťovej bunky, čo je kontajner, ktorý môže uchovávať informácie na dlhší čas.

Architektúry LSTM sú schopné naučiť sa dlhodobé závislosti v sekvenčných dátach, vďaka čomu sú vhodné pre úlohy ako napr. jazykový preklad , rozpoznávanie reči a predpovedanie časových radov .

LSTM je možné použiť aj v kombinácii s inými architektúrami neurónových sietí, ako napr Konvolučné neurónové siete (CNN) na analýzu obrazu a videa.



Architektúra LSTM

Architektúra LSTM zahŕňa pamäťovú bunku, ktorá je riadená tromi bránami: vstupnou bránou, bránou zabudnutia a výstupnou bránou. Tieto brány rozhodujú o tom, aké informácie sa majú pridať, odobrať z pamäťovej bunky a aké informácie z pamäťovej bunky vydajú.

  • Vstupná brána riadi, aké informácie sa pridávajú do pamäťovej bunky.
  • Brána zabudnutia riadi, aké informácie sa odstránia z pamäťovej bunky.
  • Výstupná brána riadi, aké informácie sú na výstupe z pamäťovej bunky.

To umožňuje sieťam LSTM selektívne uchovávať alebo zahadzovať informácie, keď prechádzajú sieťou, čo im umožňuje naučiť sa dlhodobé závislosti.

LSTM udržiava skrytý stav, ktorý funguje ako krátkodobá pamäť siete. Skrytý stav sa aktualizuje na základe vstupu, predchádzajúceho skrytého stavu a aktuálneho stavu pamäťovej bunky.



Obojsmerný model LSTM

Obojsmerný LSTM (Bi LSTM/ BLSTM) je rekurentná neurónová sieť (RNN), ktorá je schopná spracovávať sekvenčné dáta v smere dopredu aj dozadu. To umožňuje Bi LSTM naučiť sa dlhšie závislosti v sekvenčných dátach ako tradičné LSTM, ktoré dokážu spracovať sekvenčné dáta iba v jednom smere.

  • Bi LSTM sa skladajú z dvoch sietí LSTM, jednej, ktorá spracováva vstupnú sekvenciu v smere dopredu a jednej, ktorá spracúva vstupnú sekvenciu v smere dozadu.
  • Výstupy dvoch sietí LSTM sa potom spoja, aby sa vytvoril konečný výstup.

Modely LSTM, vrátane Bi LSTM, preukázali najmodernejší výkon pri rôznych úlohách, ako je strojový preklad, rozpoznávanie reči a sumarizácia textu.

vlc stiahnite si videá z youtube

Siete v architektúrach LSTM možno stohovať a vytvárať hlboké architektúry, čo umožňuje učenie sa ešte zložitejších vzorov a hierarchií v sekvenčných údajoch. Každá vrstva LSTM v naskladanej konfigurácii zachytáva rôzne úrovne abstrakcie a časových závislostí v rámci vstupných údajov.

LSTM funguje

Architektúra LSTM má reťazovú štruktúru, ktorá obsahuje štyri neurónové siete a rôzne pamäťové bloky tzv bunky .

Informácie sú uchovávané bunkami a manipulácie s pamäťou vykonávajú bunky brány. Existujú tri brány -

Zabudnite na bránu

Informácie, ktoré už nie sú v bunkovom stave užitočné, sa odstránia bránou zabudnutia. Dva vstupy X t (vstup v konkrétnom čase) a h t-1 (predchádzajúci výstup bunky) sa privedú do hradla a vynásobia sa hmotnostnými maticami, po ktorých nasleduje pridanie odchýlky. Výsledok prechádza cez aktivačnú funkciu, ktorá poskytuje binárny výstup. Ak je pre konkrétny stav bunky výstup 0, informácia sa zabudne a pre výstup 1 sa informácia uchová pre budúce použitie. Rovnica pre bránu zabudnutia je:

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

  • W_f predstavuje váhovú maticu spojenú s bránou zabudnutia.
  • [h_t-1, x_t] označuje zreťazenie aktuálneho vstupu a predchádzajúceho skrytého stavu.
  • b_f je zaujatosť s bránou zabudnutia.
  • σ je funkcia aktivácie sigmatu.

Architektúra LSTM

Vstupná brána

Pridávanie užitočných informácií k stavu bunky sa vykonáva pomocou vstupnej brány. Najprv sa informácie regulujú pomocou sigmoidnej funkcie a filtrujú hodnoty, ktoré sa majú zapamätať, podobne ako pri zabudnutej bráne pomocou vstupov h t-1 a X t .. Potom sa vytvorí vektor pomocou rybí funkcia, ktorá dáva výstup od -1 do +1, ktorý obsahuje všetky možné hodnoty z ht-1a X t . Nakoniec sa hodnoty vektora a regulované hodnoty vynásobia, aby sa získali užitočné informácie. Rovnica pre vstupnú bránu je:

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

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

Predchádzajúci stav vynásobíme ft, bez ohľadu na informácie, ktoré sme sa predtým rozhodli ignorovať. Ďalej zaraďujeme it∗Ct. Predstavuje aktualizované hodnoty kandidátov upravené pre množstvo, ktoré sme vybrali na aktualizáciu jednotlivých hodnôt stavu.

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

kde

  • ⊙ označuje násobenie po prvkoch
  • tanh je funkcia aktivácie tanh

Výstupná brána

Úlohu extrahovať užitočné informácie z aktuálneho stavu bunky, ktoré majú byť prezentované ako výstup, vykonáva výstupná brána. Najprv sa vygeneruje vektor aplikáciou tanh funkcie na bunku. Potom sú informácie regulované pomocou sigmoidnej funkcie a filtrované podľa hodnôt, ktoré sa majú zapamätať pomocou vstupov h_{t-1} ax_t. Nakoniec sa hodnoty vektora a regulované hodnoty vynásobia, aby sa odoslali ako výstup a vstup do ďalšej bunky. Rovnica pre výstupnú bránu je:

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

Aplikácie LSTM

Niektoré zo známych aplikácií LSTM zahŕňajú:

  • Jazykové modelovanie: LSTM sa používajú na úlohy spracovania prirodzeného jazyka, ako je modelovanie jazyka, strojový preklad a sumarizácia textu. Môžu sa naučiť vytvárať súvislé a gramaticky správne vety učením sa závislosti medzi slovami vo vete.
  • Rozpoznávanie reči: LSTM sa používajú na úlohy rozpoznávania reči, ako je prepis reči na text a rozpoznávanie hovorených príkazov. Môžu sa naučiť rozpoznávať vzory v reči a priraďovať ich k zodpovedajúcemu textu.
  • Predpoveď časových radov: LSTM sa používajú na úlohy predpovedania časových radov, ako je predpovedanie cien akcií, počasia a spotreby energie. Môžu sa naučiť vzory v údajoch časových radov a použiť ich na predpovedanie budúcich udalostí.
  • Detekcia anomálií: LSTM sa používajú na úlohy zisťovania anomálií, ako je zisťovanie podvodov a prienikov do siete. Môžu byť vyškolení na identifikáciu vzorov v údajoch, ktoré sa odchyľujú od normy, a označiť ich ako potenciálne anomálie.
  • Odporúčané systémy: LSTM sa používajú na odporúčacie úlohy, ako je odporúčanie filmov, hudby a kníh. Môžu sa naučiť vzorce správania používateľov a použiť ich na prispôsobenie odporúčaní.
  • Analýza videa: LSTM sa používajú na úlohy analýzy videa, ako je detekcia objektov, rozpoznávanie aktivít a klasifikácia akcií. Môžu byť použité v kombinácii s inými architektúrami neurónových sietí, ako sú konvolučné neurónové siete (CNN), na analýzu video údajov a extrahovanie užitočných informácií.

LTSM vs RNN

Funkcia

LSTM (dlhá krátkodobá pamäť)

RNN (rekurentná neurónová sieť)

Pamäť

Má špeciálnu pamäťovú jednotku, ktorá mu umožňuje učiť sa dlhodobé závislosti v sekvenčných dátach

Nemá pamäťovú jednotku

Smerovosť

Môže byť vyškolený na spracovanie sekvenčných údajov v smere dopredu aj dozadu

Dá sa natrénovať iba na spracovanie sekvenčných údajov v jednom smere

Školenie

Náročnejšie na tréning ako RNN kvôli zložitosti brán a pamäťovej jednotky

Ľahšie trénovať ako LSTM

Dlhodobé učenie sa závislosti

Áno

Obmedzené

Schopnosť učiť sa sekvenčné dáta

Áno

Áno

Aplikácie

Strojový preklad, rozpoznávanie reči, sumarizácia textu, spracovanie prirodzeného jazyka, predpovedanie časových radov

Spracovanie prirodzeného jazyka, strojový preklad, rozpoznávanie reči, spracovanie obrazu, spracovanie videa

Problém s dlhodobými závislosťami v RNN

Rekurentné neurónové siete (RNN) sú navrhnuté tak, aby spracovávali sekvenčné údaje udržiavaním skrytého stavu, ktorý zachytáva informácie z predchádzajúcich časových krokov. Často však čelia problémom pri učení sa dlhodobých závislostí, kde sa informácie zo vzdialených časových krokov stávajú rozhodujúcimi pre presné predpovede. Tento problém je známy ako problém miznúceho gradientu alebo explodujúceho gradientu.

Nižšie je uvedených niekoľko bežných problémov:

Miznúci gradient

Počas spätného šírenia v čase sa gradienty môžu stať extrémne malými, pretože sa násobia cez reťaz opakujúcich sa spojení, čo spôsobuje, že model má ťažkosti s učením sa závislostí, ktoré sú oddelené mnohými časovými krokmi.

Explodujúci gradient

Naopak, gradienty môžu počas spätného šírenia explodovať, čo vedie k numerickej nestabilite a sťažuje konvergenciu modelu.

Rôzne varianty dlhodobej krátkodobej pamäte

Postupom času bolo navrhnutých niekoľko variantov a vylepšení pôvodnej architektúry LSTM.

Vanilkový LSTM

Toto je pôvodná architektúra LSTM, ktorú navrhli Hochreiter a Schmidhuber. Zahŕňa pamäťové bunky so vstupnými, zabudnutými a výstupnými bránami na riadenie toku informácií. Kľúčovou myšlienkou je umožniť sieti selektívne aktualizovať a zabudnúť informácie z pamäťovej bunky.

Kukátkové spojenia

V kukátku LSTM môžu brány okrem skrytého stavu pozerať aj na stav bunky. To umožňuje bránam zvážiť stav bunky pri rozhodovaní a poskytnúť tak viac kontextových informácií.

Gated Recurrent Unit (GRU)

GRU je alternatíva k LSTM, navrhnutá tak, aby bola jednoduchšia a výpočtovo efektívnejšia. Spája vstupnú a zabudnutú bránu do jednej aktualizačnej brány a spája stav bunky a skrytý stav. Zatiaľ čo GRU majú menej parametrov ako LSTM, v praxi sa ukázalo, že fungujú podobne.

Záver

Long Short-Term Memory (LSTM) je výkonný typ rekurentnej neurónovej siete (RNN), ktorá je vhodná na spracovanie sekvenčných údajov s dlhodobými závislosťami. Rieši problém miznúceho gradientu, bežného obmedzenia RNN, zavedením mechanizmu hradlovania, ktorý riadi tok informácií cez sieť. To umožňuje LSTM učiť sa a uchovávať si informácie z minulosti, vďaka čomu sú efektívne pri úlohách, ako je strojový preklad, rozpoznávanie reči a spracovanie prirodzeného jazyka.

Skontrolujte tiež:

Často kladené otázky (FAQ)

1. Čo je LSTM a prečo sa používa?

LSTM alebo Long Short-Term Memory je typ rekurentnej neurónovej siete navrhnutý pre sekvenčné úlohy, ktorý vyniká v zachytávaní a využívaní dlhodobých závislostí v dátach.

2. Ako funguje LSTM?

LSTM používajú stav bunky na ukladanie informácií o minulých vstupoch. Tento stav bunky sa aktualizuje v každom kroku siete a sieť ho používa na vytváranie predpovedí o aktuálnom vstupe. Stav bunky sa aktualizuje pomocou série brán, ktoré riadia, koľko informácií môže prúdiť do bunky a z nej.

3. Aké sú príklady LSTM?

Príklady LSTM (Long Short-Term Memory) zahŕňajú rozpoznávanie reči, strojový preklad a predikciu časových radov, využívajúc jeho schopnosť zachytiť dlhodobé závislosti v sekvenčných dátach.

4. Aký je rozdiel medzi LSTM a Gated Recurrent Unit (GRU)?

LSTM má mechanizmus bunkového stavu a hradlovania, ktorý riadi tok informácií, zatiaľ čo GRU má jednoduchší mechanizmus aktualizácie s jedným hradlom. LSTM je výkonnejší, ale pomalší na tréning, zatiaľ čo GRU je jednoduchší a rýchlejší.

5. Aký je rozdiel medzi LSTM a RNN?

  • RNN majú jednoduchú opakujúcu sa štruktúru s jednosmerným tokom informácií.
  • LSTM majú hradlový mechanizmus, ktorý riadi tok informácií a stav bunky pre dlhodobú pamäť.
  • LSTM vo všeobecnosti prekonávajú RNN v úlohách, ktoré si vyžadujú učenie sa dlhodobých závislostí.

6. Je LSTM rýchlejší ako CNN?

Nie, LSTM a CNN slúžia na rôzne účely. LSTM sú pre sekvenčné dáta; CNN sú pre priestorové údaje.

7. Je LSTM rýchlejší ako GRU?

Vo všeobecnosti áno. GRU majú menej parametrov, čo môže viesť k rýchlejšiemu tréningu v porovnaní s LSTM.