Long Short-Term Memory

Sepp Hochreiter, Jurgen Schmidhuber

1997 · Neural Computation

Long Short-Term Memory

Problem

Framing

Standard RNN training could not bridge long delays because backpropagated error decays or explodes exponentially with time. LSTM closes this gap with a self-connected memory cell and gates that preserve constant error flow, and it reports learning across delays above 1000 steps.

Currently Used Methods

Foundational

Proposed Method

Architecture

LSTM introduces a memory cell with a unit self-connection of weight 1.01.0, an input gate, and an output gate. The self-loop forms the constant error carousel; the gates decide when to write to memory and when to expose memory to the rest of the network.

Memory cell architecture: a self-recurrent state path with input and output gates controlling access to the cell.

Loss / Objective

The paper trains by gradient descent on sequence prediction errors with truncated backpropagation through the gated cell dynamics.

netcjv(t)=uwcjvuyu(t1)net_{c_j^v}(t)=\sum_u w_{c_j^v u}\, y_u(t-1) scjv(t)=scjv(t1)+yinj(t)g ⁣(netcjv(t))s_{c_j^v}(t)=s_{c_j^v}(t-1)+y_{in_j}(t)\, g\!\left(net_{c_j^v}(t)\right) ycjv(t)=youtj(t)h ⁣(scjv(t))y_{c_j^v}(t)=y_{out_j}(t)\, h\!\left(s_{c_j^v}(t)\right)

Sampling Rule / Algorithm

The core recurrence is additive state accumulation through the gated self-loop.

scj(t)=scj(t1)+yinj(t)g ⁣(netcj(t)),ycj(t)=youtj(t)h ⁣(scj(t))s_{c_j}(t)=s_{c_j}(t-1)+y_{in_j}(t)\, g\!\left(net_{c_j}(t)\right), \qquad y_{c_j}(t)=y_{out_j}(t)\, h\!\left(s_{c_j}(t)\right)

Training Procedure

Evaluation

Datasets

Metrics

Headline results

Ablations

Method Strengths and Weaknesses

Strengths

Weaknesses

Suggestions from the authors

Links

Prior Papers

Further Papers