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. 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.

Afledte ord

3

Kilder

1