Ugrás a tartalomhoz

long short-term memory

A Wikiszótárból, a nyitott szótárból
(LSTM szócikkből átirányítva)


Főnév

long short-term memory (tsz. long short-term memories)

  1. (informatika, mesterséges intelligencia) A Long Short-Term Memory (röviden: LSTM) egy speciális rekurrens neurális hálózat (RNN) architektúra, amelyet a hosszú távú függőségek kezelésére fejlesztettek ki. A klasszikus RNN-ek gyakran elfelejtik a régebbi információkat, az LSTM azonban képes emlékezni hosszabb szekvenciákra is – így kiválóan alkalmazható szövegfeldolgozásra, beszédfelismerésre, fordításra és idősor-előrejelzésre.

Az LSTM-t 1997-ben fejlesztette ki Hochreiter és Schmidhuber, és azóta a mélytanulás egyik alappillére lett a szekvenciális adatok feldolgozásában.



Miért nem elég a sima RNN?

A sima RNN visszacsatolja a belső állapotát minden időlépésben, de:

  • gradiens elhalás: a gradiens értéke idővel nullához tart, ezért a háló „elfelejt”.
  • gradiens robbanás: túl nagy értékek, instabil tanulás.
  • nem képes hosszú távú függőségeket kezelni (pl. egy mondat elején lévő igeidő és a végén lévő toldalék kapcsolata).



Az LSTM megoldása

Az LSTM célja, hogy kontrollált módon döntse el, mit jegyez meg, mit felejt el, és mit ad tovább. Ezt úgy éri el, hogy minden időlépésben három „kapuval” szabályozza az információáramlást:

  1. Elfelejtési kapu (forget gate)
  2. Bemeneti kapu (input gate)
  3. Kimeneti kapu (output gate)

Ezen kívül az LSTM-nek van egy cell state-je (memóriája), amelyen keresztül információk hosszú ideig képesek megmaradni.



LSTM szerkezeti vázlat

            +--------------------+
    x_t --->|                    |
  h_{t-1} -->                   (⊗) --> h_t
            |       LSTM        |
  c_{t-1} -->                   (⊕) --> c_t
            +--------------------+
  • x_t: aktuális bemenet
  • h_{t-1}: előző időlépés rejtett állapota
  • c_{t-1}: előző időlépés cellaállapota (memória)
  • c_t: új cellaállapot
  • h_t: új rejtett állapot (kimenet)



Kapuk működése matematikailag

Legyen a szigmoid függvény (0 és 1 közé szorít), pedig a hiperbolikus tangens.

  1. Elfelejtési kapu (forget gate):

Ez mondja meg, hogy a korábbi memória mekkora részét kell elfelejteni.



  1. Bemeneti kapu (input gate):

Ez határozza meg, hogy mennyi új információ kerüljön be a cellába.



  1. Cellaállapot frissítés:

A cellaállapot részben megtartja a régit, részben beépíti az újat.



  1. Kimeneti kapu (output gate):

Ez határozza meg, hogy mi legyen az aktuális kimenet.



Intuíció kapunként

GATE (kapu) Funkció
Forget gate Mit felejtsünk el a régi memóriából
Input gate Miből lesz új információ
Cell state Hogyan alakul a memória időben
Output gate Mi kerüljön ki a neuronból a külvilág felé



Előnyök

✅ Képes hosszú távú függőségeket megjegyezni ✅ Hatékony szekvenciális tanulásra ✅ Megoldja az elhaló gradiens problémát ✅ Több alkalmazásban is jól teljesít: NLP, időjárás-előrejelzés, beszédszintézis



Hátrányok

❌ Bonyolultabb architektúra, lassabb számítás ❌ Sok paraméter – hajlamos túlilleszkedésre (overfitting) ❌ Nehéz értelmezni, mit tárol a memóriában



LSTM alkalmazások

  • Természetes nyelvfeldolgozás (NLP):
    • Gépi fordítás
    • Szöveg generálás
    • Nevek felismerése szövegben (NER)
  • Beszédfelismerés
  • Idősor előrejelzés (pl. részvényárfolyamok)
  • Zene generálás, chatbotok, robotvezérlés



Példa Pythonban (Keras)

from keras.models import Sequential
from keras.layers import LSTM, Dense

model = Sequential()
model.add(LSTM(64, input_shape=(10, 8)))  # 10 lépés, 8 feature
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam')

Összefoglalás

Az LSTM egy rendkívül hatékony neurális hálózati modell, amely az időbeli és szekvenciális adatok feldolgozásában kiemelkedő. A memóriakapui révén képes hosszú távú információt is megtartani, ami forradalmasította a természetes nyelvfeldolgozást, a beszédfelismerést és sok más gépi tanulási feladatot.