← CS Lab AI & Machine Learning / LSTM Gates Open standalone ↗

An LSTM is a recurrent cell with a protected memory lane — the cell state — guarded by three gates that decide what to erase, what to write, and what to reveal. It is the standard fix for the forgetting problem of the plain RNN (tool 109).

Where you meet it

What it does

A plain RNN keeps one hidden state and rewrites it every step, so old information erodes. An LSTM adds a second memory — the cell state C — that runs along a near-uninterrupted highway, touched only by small additive edits. Three gates control the traffic: what to drop from memory, what new to store, and what to expose to the rest of the network. Information can then ride the cell state across dozens or hundreds of steps without fading.

A plain RNN multiplies its memory at every step; an LSTM adds to it — and addition is what lets the past survive.

How it works

The cell state is updated by adding, and the hidden state is read out from it through a gate:

Cₜ = fₜ · Cₜ₋₁ + iₜ · C̃ₜ     # keep some old, add some new
hₜ = oₜ · tanh(Cₜ)            # reveal a gated view

Reading it piece by piece:

Each gate is a sigmoid σ, which squeezes any number into 0 to 1 — a soft switch. And the gates are not fixed dials: at every step they are computed from the current input and the previous hidden state, so the cell learns when to hold and when to let go.

Why this beats vanishing: when the forget gate sits near 1, the update is almost the identity — Cₜ ≈ Cₜ₋₁ plus a small edit. Along that path the memory is multiplied by about 1 each step instead of by Wₕ, so the gradient neither shrinks to zero nor explodes as it travels far back in time. This protected path is the constant error carousel at the heart of the original LSTM.

Watch out

  • The gates are learned, not hand-set. The sliders here let you feel their effect, but in a real LSTM f, i, o are outputs of small sigmoid layers the network trains — it decides the gate values itself, per step and per input.
  • Two states, two jobs. The cell state C is the long-term memory highway; the hidden state h is the gated working copy the rest of the net reads. They are not the same vector — a low output gate can hide C without erasing it.
  • Better, not magic. LSTMs ease the vanishing gradient but don't abolish it; over very long ranges memory still degrades, training is still sequential and slow, and for many tasks attention and transformers have since replaced them.

Swap "multiply the memory" for "add to the memory," and a network can finally remember across long gaps — that one change is the whole idea.

Go deeper

Ein LSTM ist eine rekurrente Zelle mit einer geschützten Gedächtnisspur — dem Zellzustand — bewacht von drei Gattern, die entscheiden, was gelöscht, was geschrieben und was gezeigt wird. Es ist die Standardlösung für das Vergessensproblem des einfachen RNN (Tool 109).

Wo es vorkommt

Was es tut

Ein einfaches RNN hält einen Hidden State und überschreibt ihn in jedem Schritt, sodass alte Information erodiert. Ein LSTM ergänzt ein zweites Gedächtnis — den Zellzustand C —, das über einen fast ungestörten Highway läuft und nur durch kleine additive Änderungen berührt wird. Drei Gatter regeln den Verkehr: was aus dem Gedächtnis fällt, was neu gespeichert wird und was dem Rest des Netzes gezeigt wird. So kann Information über Dutzende oder Hunderte Schritte auf dem Zellzustand mitreisen, ohne zu verblassen.

Ein einfaches RNN multipliziert sein Gedächtnis in jedem Schritt; ein LSTM addiert dazu — und das Addieren ist es, was die Vergangenheit überleben lässt.

Wie es funktioniert

Der Zellzustand wird durch Addieren aktualisiert, und der Hidden State wird über ein Gatter daraus abgelesen:

Cₜ = fₜ · Cₜ₋₁ + iₜ · C̃ₜ     # etwas Altes behalten, etwas Neues addieren
hₜ = oₜ · tanh(Cₜ)            # eine gesteuerte Sicht zeigen

Stück für Stück gelesen:

Jedes Gatter ist ein Sigmoid σ, das jede Zahl in 0 bis 1 quetscht — ein weicher Schalter. Und die Gatter sind keine festen Regler: In jedem Schritt werden sie aus der aktuellen Eingabe und dem vorherigen Hidden State berechnet, die Zelle lernt also, wann sie hält und wann sie loslässt.

Warum das Vanishing schlägt: Sitzt das Forget-Gatter nahe 1, ist das Update fast die Identität — Cₜ ≈ Cₜ₋₁ plus eine kleine Änderung. Auf diesem Pfad wird das Gedächtnis pro Schritt mit etwa 1 multipliziert statt mit Wₕ, sodass der Gradient weder auf null schrumpft noch explodiert, wenn er weit in der Zeit zurückwandert. Dieser geschützte Pfad ist das Constant Error Carousel im Kern des ursprünglichen LSTM.

Worauf achten

  • Die Gatter werden gelernt, nicht von Hand gesetzt. Die Regler hier lassen dich ihre Wirkung fühlen, aber in einem echten LSTM sind f, i, o Ausgaben kleiner Sigmoid-Schichten, die das Netz trainiert — es bestimmt die Gatterwerte selbst, pro Schritt und pro Eingabe.
  • Zwei Zustände, zwei Aufgaben. Der Zellzustand C ist der Langzeit-Highway; der Hidden State h ist die gesteuerte Arbeitskopie, die der Rest des Netzes liest. Es sind nicht dieselben Vektoren — ein niedriges Output-Gatter kann C verbergen, ohne es zu löschen.
  • Besser, nicht magisch. LSTMs mildern den Vanishing Gradient, schaffen ihn aber nicht ab; über sehr lange Distanzen verblasst das Gedächtnis weiterhin, das Training bleibt sequenziell und langsam, und für viele Aufgaben haben Attention und Transformer sie inzwischen abgelöst.

Tausche „das Gedächtnis multiplizieren" gegen „zum Gedächtnis addieren", und ein Netz kann sich endlich über lange Lücken erinnern — diese eine Änderung ist die ganze Idee.

Mehr dazu

Next up
AI & Machine LearningMode Collapse AI & Machine LearningSVM Max-Margin All concepts →