← CS Lab AI & Machine Learning / RNN Memory Open standalone ↗

A recurrent neural network (RNN) reads a sequence one step at a time and carries a single running summary — its hidden state — from each step to the next. That hidden state is the network's whole memory of everything it has read so far.

Where you meet it

What it does

An RNN turns a variable-length sequence into an output by walking through it step by step. At each step it mixes the new input with what it already remembers, then updates that memory. The hidden state is the only bridge between past and future — everything the network knows about earlier steps has to fit inside that one fixed-size vector.

The hidden state is a fixed-size summary the network rewrites at every step — the past survives only as long as it keeps being copied forward.

How it works

At each step t the RNN builds a new hidden state from the previous one and the current input:

hₜ = tanh(Wₕ · hₜ₋₁ + Wₓ · xₜ)

In plain words: take last step's memory hₜ₋₁, scale it by the recurrent weight Wₕ, add the new input xₜ scaled by Wₓ, and squash the total with tanh into the range −1 to 1. Two things make it recurrent: the same weights are reused at every step — so one small cell handles a sequence of any length — and the new hₜ feeds straight back in as the memory for step t+1.

Unroll a few steps and you can see why the memory is fragile — watch how the first input keeps getting multiplied by Wₕ:

h₁ = tanh(Wₕ·h₀ + Wₓ·x₁)   # h₀ enters, scaled by Wₕ
h₂ = tanh(Wₕ·h₁ + Wₓ·x₂)   # h₀'s trace is now ≈ Wₕ² of its start
h₃ = tanh(Wₕ·h₂ + Wₓ·x₃)   # ≈ Wₕ³ … one factor of Wₕ per step

So an early input's influence scales roughly like Wₕᵏ after k steps. If Wₕ is a little under 1, that shrinks toward zero and old inputs fade; a little over 1 and it blows up. The very same repeated factor makes the training gradients vanish or explode when they flow back through the unrolled chain — running backprop over that chain is backpropagation through time.

Watch out

  • Vanishing & exploding gradients are the defining flaw: plain RNNs struggle to link things more than roughly 10–20 steps apart. Exploding is patched with gradient clipping; vanishing needs a structural fix — gates, i.e. the LSTM (tool 111).
  • The hidden state is a fixed-size bottleneck. A 5-word sentence and a 500-word document get the same amount of memory; new input steadily overwrites old detail.
  • Computation is sequential by nature. Step t needs hₜ₋₁, so you can't parallelize across time the way a transformer can — long sequences are slow.
  • The hidden state is not the output. What gets passed forward as memory and what you read off at a step are usually two different vectors (the output is a separate layer on top of hₜ).

Memory that must be copied forward at every step is memory that slowly leaks away — exactly the problem the LSTM was built to fix.

Go deeper

Ein rekurrentes neuronales Netz (RNN) liest eine Sequenz Schritt für Schritt und trägt eine einzige laufende Zusammenfassung — seinen Hidden State — von jedem Schritt zum nächsten. Dieser Hidden State ist das gesamte Gedächtnis des Netzes für alles bisher Gelesene.

Wo es vorkommt

Was es tut

Ein RNN verwandelt eine Sequenz variabler Länge in eine Ausgabe, indem es sie Schritt für Schritt durchläuft. In jedem Schritt mischt es die neue Eingabe mit dem, was es schon erinnert, und aktualisiert dieses Gedächtnis. Der Hidden State ist die einzige Brücke zwischen Vergangenheit und Zukunft — alles, was das Netz über frühere Schritte weiß, muss in diesen einen Vektor fester Größe passen.

Der Hidden State ist eine Zusammenfassung fester Größe, die das Netz bei jedem Schritt überschreibt — die Vergangenheit überlebt nur so lange, wie sie weiterkopiert wird.

Wie es funktioniert

In jedem Schritt t baut das RNN einen neuen Hidden State aus dem vorherigen und der aktuellen Eingabe:

hₜ = tanh(Wₕ · hₜ₋₁ + Wₓ · xₜ)

In Worten: Nimm das Gedächtnis des letzten Schritts hₜ₋₁, skaliere es mit dem rekurrenten Gewicht Wₕ, addiere die neue Eingabe xₜ skaliert mit Wₓ, und quetsche die Summe mit tanh in den Bereich −1 bis 1. Zwei Dinge machen es rekurrent: Die gleichen Gewichte werden in jedem Schritt wiederverwendet — so bewältigt eine kleine Zelle eine Sequenz beliebiger Länge — und das neue hₜ fließt direkt als Gedächtnis für Schritt t+1 zurück.

Rollt man ein paar Schritte aus, sieht man, warum das Gedächtnis fragil ist — verfolge, wie die erste Eingabe immer wieder mit Wₕ multipliziert wird:

h₁ = tanh(Wₕ·h₀ + Wₓ·x₁)   # h₀ tritt ein, skaliert mit Wₕ
h₂ = tanh(Wₕ·h₁ + Wₓ·x₂)   # Spur von h₀ jetzt ≈ Wₕ² des Starts
h₃ = tanh(Wₕ·h₂ + Wₓ·x₃)   # ≈ Wₕ³ … ein Faktor Wₕ pro Schritt

Der Einfluss einer frühen Eingabe skaliert also nach k Schritten grob wie Wₕᵏ. Ist Wₕ etwas kleiner als 1, schrumpft das gegen null und alte Eingaben verblassen; etwas größer als 1, und es explodiert. Genau derselbe wiederholte Faktor lässt die Trainingsgradienten verschwinden oder explodieren, wenn sie durch die ausgerollte Kette zurückfließen — Backprop über diese Kette heißt Backpropagation durch die Zeit.

Worauf achten

  • Vanishing & Exploding Gradients sind der zentrale Schwachpunkt: Einfache RNNs koppeln kaum etwas, das mehr als grob 10–20 Schritte auseinanderliegt. Explodieren fängt man mit Gradient Clipping ab; Verschwinden braucht eine strukturelle Lösung — Gatter, also das LSTM (Tool 111).
  • Der Hidden State ist ein Flaschenhals fester Größe. Ein 5-Wort-Satz und ein 500-Wörter-Dokument bekommen gleich viel Gedächtnis; neue Eingabe überschreibt stetig alte Details.
  • Die Berechnung ist von Natur aus sequenziell. Schritt t braucht hₜ₋₁, man kann also nicht über die Zeit parallelisieren wie ein Transformer — lange Sequenzen sind langsam.
  • Der Hidden State ist nicht die Ausgabe. Was als Gedächtnis weitergereicht wird und was du an einem Schritt abliest, sind meist zwei verschiedene Vektoren (die Ausgabe ist eine eigene Schicht auf hₜ).

Gedächtnis, das bei jedem Schritt weiterkopiert werden muss, ist Gedächtnis, das langsam versickert — genau das Problem, für das das LSTM gebaut wurde.

Mehr dazu

Next up
AI & Machine LearningNMF Recommender AI & Machine LearningLSTM Gates All concepts →