LSTM
forkortelse for Long Short-Term Memory
LSTM er en type recurrent neural network (RNN)-arkitektur, der kan lære langvarige afhængigheder ved hjælp af en hukommelsescelle og porte, der styrer informationsflowet.
Kort fortalt
Kort fortalt: LSTM er en avanceret kunstig neuron, der kan huske information i lang tid, hvilket gør den ideel til opgaver som tale- og tekstbehandling.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
En arkitektur til recurrent neural networks, der bruger en hukommelsescelle og tre porte (glemme-, input- og outputport) til at kontrollere informationsstrømmen og bevare langtidshukommelse.
- LSTM-modellen opnåede state-of-the-art resultater på opgaven med maskinoversættelse. — Eksempel
- Ved at tilføje et LSTM-lag kunne netværket lære afhængigheder over 100 tidsstep. — Eksempel
Hvornår bruges det
LSTM anvendes ofte til sekvensmodellering, fx tidsrækkeprognoser, naturlig sprogbehandling og talegenkendelse. I praksis implementeres LSTM som lag i neurale netværk, ofte med værktøjer som TensorFlow eller PyTorch.
Formel
f_t = σ(W_f · [h_{t-1}, x_t] + b_f) (forget gate)
i_t = σ(W_i · [h_{t-1}, x_t] + b_i) (input gate)
Ĉ_t = tanh(W_C · [h_{t-1}, x_t] + b_C) (candidate cell state)
C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t (cell state)
o_t = σ(W_o · [h_{t-1}, x_t] + b_o) (output gate)
h_t = o_t ⊙ tanh(C_t) (hidden state)Kodeeksempel
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.LSTM(128, input_shape=(10, 64)),
tf.keras.layers.Dense(1)
])Opretter en simpel LSTM-model med 128 enheder, der tager en sekvens af længde 10 med 64 features.
Oprindelse
Forkortelse for 'Long Short-Term Memory' (lang korttidshukommelse), introduceret af Sepp Hochreiter og Jürgen Schmidhuber i 1997 for at løse problemet med forsvindende gradienter i RNN'er.