Robocikowo>ROBOCIKOWO

Sieci neuronowe od podstaw do nowoczesnej AI · Sekwencje: RNN, LSTM i GRU

LSTM: bramki, cell state i constant error carousel

Sekwencje: RNN, LSTM i GRU

Wprowadzenie

LSTM (Long Short-Term Memory) to architektura zaprojektowana przez Seppa Hochreitera i Jürgena Schmidhubera w 1997 roku jako bezpośrednie lekarstwo na vanishing gradient w klasycznych RNN. Genialny pomysł: zamiast jednego ukrytego stanu h_t, wprowadźmy dwa równoległe sygnały — cell state c_t (długotrwała pamięć, "taśma") i hidden state h_t (krótkoterminowa, output do następnej warstwy). Cell state aktualizuje się przez addytywną operację c_t = f_t ⊙ c_{t-1} + i_t ⊙ g_t, a nie przez mnożenie macierzy. To jest serce LSTM — tzw. constant error carousel (CEC): gdy bramka zapominania f_t ≈ 1, c_t ≈ c_{t-1} + nowa informacja, więc ∂c_t/∂c_{t-1} ≈ 1 i gradient płynie wstecz bez wykładniczego zanikania. Trzy bramki (sigmoid, output ∈ [0,1]) sterują przepływem: forget gate f_t decyduje co zapomnieć z c_{t-1}, input gate i_t co dodać z kandydata g_t = tanh(...), output gate o_t co wyemitować jako h_t = o_t ⊙ tanh(c_t). Forget gate był dodany przez Gersa, Schmidhubera i Cumminsa w 2000 ("Learning to forget"); oryginalna praca z 1997 nie miała go. Liczba parametrów jest 4× większa niż w prostym RNN tej samej szerokości (4 macierze: dla f, i, g, o), co jest istotną różnicą wydajnościową. LSTM był standardem w NLP i sekwencjach od 2014 (seq2seq Sutskever et al.) do 2017-2018 (kiedy Transformer go zdetronizował), ale wciąż jest używany w domenach gdzie sekwencje są krótkie a zasoby ograniczone (mowa, time series, edge devices).