Das Herzstück des Lernens

Wie ein neuronales Netz seine Fehler nach Hause schickt — und alles unterwegs ein bisschen besser macht.

Grundlagen 12 min Experte 1. Juni 2026

Du kennst Neuronen, Aktivierungsfunktionen, Schichten, Loss-Funktionen und Gradient Descent. Du weißt, dass das Netz Gradienten braucht, um sich zu verbessern. Aber wie berechnet es den Gradienten für ein Gewicht, das 20 Schichten tief vergraben liegt? Die Antwort verbindet alles, was du gelernt hast, zu einem eleganten Mechanismus — und er basiert vollständig auf der Kettenregel aus Pfad I.C.

Backpropagation ist keine neue Erfindung. Es ist die systematische Anwendung der Kettenregel auf den Berechnungsgraphen eines neuronalen Netzes — eine Buchhaltungsmethode, die Gradient Descent erst für tiefe Netze praktikabel macht.

Der vollständige Trainingsschritt

1
Forward Pass Eingabe fließt vorwärts durch alle Schichten, am Ende steht eine Vorhersage und der Loss
2
Backward Pass Das Fehlersignal fließt rückwärts, die Kettenregel liefert den Gradienten für jedes Gewicht
3
Update Gradient Descent passt jedes Gewicht an: w = w − lr · gradient

Backpropagation

AnalogieDefinition
Stell dir einen Staffellauf in umgekehrter Richtung vor. Der Forward Pass ist wie Läufer, die den Staffelstab vom Start zum Ziel tragen. Der Backward Pass ist wie ein Trainer, der rückwärts die Strecke abgeht und jedem Läufer genau sagt, wie er seinen Schritt anpassen soll — jeder Läufer braucht nur die Rückmeldung des nächsten Läufers und seine eigene lokale Leistung. Das Update ist die tatsächliche Anpassung jedes Läufers.

Beispiel

Beim Staffellauf passt jeder Läufer seinen Schritt physisch an. In der Mathematik verändert der Backward Pass die Gewichte nicht direkt — er berechnet nur die Gradienten. Die eigentliche Anpassung erfolgt erst im separaten Update-Schritt durch Gradient Descent.

Ein Trainingsschritt besteht aus drei untrennbaren Phasen: Forward Pass (Vorhersage berechnen), Backward Pass (Gradienten berechnen) und Update (Gewichte anpassen). Backpropagation ist der Backward Pass — nicht mehr und nicht weniger.

Durchgerechnet: Ein Mini-Netz mit 2 Gewichten

Eingabe x = 2, Gewichte w₁ = 0.5 und w₂ = 3.0, Zielwert y_true = 5. Das Netz berechnet: h = x · w₁, dann y = h · w₂. Als Loss nehmen wir L = (y − y_true)².

Forward Pass
h = x · w₁ = 2 · 0.5 = 1   |   y = h · w₂ = 1 · 3.0 = 3   |   L = (y − yₜ)² = (3 − 5)² = 4
Backward Pass: Gradient für w₂
∂L/∂y = 2(y − yₜ) = −4   |   ∂y/∂w₂ = h = 1  →  grad(w₂) = −4
Backward Pass: Gradient für w₁ (Kettenregel!)
∂y/∂h = w₂ = 3   |   ∂h/∂w₁ = x = 2  →  grad(w₁) = −4 · 3 · 2 = −24
Update (Learning Rate = 0.01)
w₂ = 3.0 − 0.01 · (−4) = 3.04   |   w₁ = 0.5 − 0.01 · (−24) = 0.74

Das Netz hat gelernt: Beide Gewichte wurden so angepasst, dass die Vorhersage beim nächsten Durchlauf näher am Zielwert liegt. Der Gradient für w₁ ist sechsmal größer als für w₂ — weil die Kettenregel die Faktoren w₂ und x hinzumultipliziert.

Missverständnis: Backpropagation ist ein eigenständiger Lernalgorithmus

Nein! Backpropagation berechnet ausschließlich Gradienten — durch systematische Anwendung der Kettenregel auf den Berechnungsgraphen. Der eigentliche Lernalgorithmus ist Gradient Descent (oder eine Variante wie Adam), der diese Gradienten verwendet, um die Gewichte zu aktualisieren. Backpropagation ohne Gradient Descent lernt nichts; Gradient Descent ohne Backpropagation könnte die Gradienten nicht effizient berechnen.

Der Forward Pass berechnet die Vorhersage, der Backward Pass die Gradienten, das Update die neuen Gewichte. Dieses Dreierpaket wiederholt sich Tausende Male pro Trainingsepoche — und genau so lernt ein neuronales Netz.

Interaktiv: Forward & Backward Pass

Du hast den Trainingsschritt am Mini-Netz durchgerechnet. Jetzt kannst du ihn Schritt für Schritt durchspielen: Beobachte, wie die Werte vorwärts durch das Netz fließen, wie die Gradienten rückwärts berechnet werden, und wie sich die Gewichte am Ende verändern.

w₁=0.5w₂=3target=5x2h?ŷ?L?
Schritt 1 / 8Startzustand

Das Mini-Netz hat Eingabe x, zwei Gewichte w₁ und w₂, und einen Zielwert. Noch wurden keine Berechnungen durchgeführt.

x=2, w₁=0.5, w₂=3, target=5

Die Kettenregel in Aktion — Schicht für Schicht rückwärts

Von 2 Gewichten auf N Schichten: Das Prinzip bleibt identisch, die Kette wird nur länger. Für ein Gewicht in der ersten Schicht eines tiefen Netzes muss die Kettenregel durch ALLE Schichten hindurch angewendet werden.

Kettenregel für w₁ in einem 3-Schichten-Netz
∂L/∂w₁ = ∂L/∂a₃ · ∂a₃/∂z₃ · ∂z₃/∂a₂ · ∂a₂/∂z₂ · ∂z₂/∂a₁ · ∂a₁/∂z₁ · ∂z₁/∂w₁

Die Effizienz der Backpropagation entsteht durch Wiederverwendung: Wenn das Fehlersignal für Schicht 2 berechnet ist, wird es gespeichert. Schicht 1 multipliziert einfach mit ihrer lokalen Ableitung — keine Neuberechnung vom Loss aus. Jede partielle Ableitung wird genau einmal berechnet und gecacht.

Sigmoid

Ableitung maximal ≈0.25. Bei 10 Schichten: 0.25¹⁰ ≈ 0.00000095. Der Gradient verschwindet — die vorderen Schichten lernen nichts mehr.

ReLU

Ableitung ist 0 oder 1. Für positive Eingaben fließt der Gradient ungedämpft durch — kein exponentieller Verfall.

Totes Neuron: Wenn der Gradient für immer verschwindet

Konkretes Beispiel: x = 1, w₁ = −2. Im Forward Pass: z₁ = 1 · (−2) = −2. ReLU(−2) = 0. Die lokale Ableitung der ReLU an der Stelle −2 ist exakt 0. Egal wie groß der Fehler am Ende des Netzes ist — sobald das Fehlersignal durch diesen ReLU-Knoten fließt, wird es mit 0 multipliziert. Der Gradient für w₁ wird 0, das Gewicht wird nie aktualisiert. Das Neuron ist permanent tot.

Missverständnis: Vanishing Gradients bedeuten, das Netz hat einen Bug

Nein! Vanishing Gradients sind eine mathematische Unvermeidlichkeit, wenn viele kleine Zahlen multipliziert werden. Bei 10 Sigmoid-Schichten wird der Gradient auf unter ein Millionstel reduziert — das ist kein Code-Fehler, sondern Mathematik. Die Lösung ist architektonisch (ReLU statt Sigmoid, Residual Connections, Gradient Clipping), nicht Debugging.

Deep Dive: Moderne Lösungen für den Gradientenfluss

ReLU-Familie: ReLU leitet Gradienten von 1 für positive Werte ungefiltert weiter. Leaky ReLU und ELU vermeiden zudem tote Neuronen, indem sie kleine Gradienten auch für negative Eingaben zulassen. Residual Connections: ResNet-Skip-Connections addieren die Eingabe einer Schicht direkt zur Ausgabe und schaffen so Abkürzungen für den Gradientenfluss — selbst durch Hunderte Schichten. Batch Normalization: Normalisiert die Aktivierungen jeder Schicht, stabilisiert die Verteilung der Gradienten und beschleunigt das Training. Gradient Clipping: Kappt Gradienten, die einen Schwellenwert überschreiten, und verhindert so numerische Instabilität bei explodierenden Gradienten.

Interaktiv: Die Kettenregel klickbar

Die Kettenregel zerlegt den Gradienten in lokale Ableitungen. Klicke auf die einzelnen Terme, um zu sehen, was jeder Faktor in der Kette bedeutet — und wie sie zusammen den Gradienten für w₁ ergeben.

Kettenregel für w₁

∂L∂w₁∂L∂ŷ∂ŷ∂h∂h∂w₁
∂L/∂w₁

Der Gesamtgradient: Wie stark ändert sich der Loss, wenn w₁ sich ändert? Das ist das Produkt aller lokalen Ableitungen entlang des Pfades.

Konkretes Beispiel

Gegeben: h = x·w₁, ŷ = h·w₂, L = (ŷ−target)²

Zerlegung: L(ŷ) = (ŷ−target)² (Loss-Funktion) , ŷ(h) = h·w₂ (Ausgabefunktion) , h(w₁) = x·w₁ (Verborgene Schicht)

1Ableitung des Loss: ∂L/∂ŷ = 2(ŷ−target) = −4
2Ableitung durch w₂: ∂ŷ/∂h = w₂ = 3
3Ableitung nach w₁: ∂h/∂w₁ = x = 2
4Produkt aller Faktoren: ∂L/∂w₁ = (−4)·3·2 = −24

Selbst ausprobieren: die Backprop-Werkbank

Genug Theorie — leg selbst Hand an. Verschiebe die Gewichte, schick den Fehler Schritt für Schritt rückwärts durch das Netz und schau zu, wie Gradient Descent den Fehler kleiner macht. Dieses Netz hat eine ReLU-Aktivierung: treib sie unter null, und du siehst ein totes Neuron in Aktion.

Autograd — Warum du es nie von Hand machen musst

In der Praxis schreibst du Backpropagation nie manuell. Moderne Frameworks wie PyTorch und TensorFlow enthalten Autograd — ein System zur automatischen Differenzierung, das den gesamten Backward Pass für dich erledigt.

PyTorch: Ein vollständiger Trainingsschritt

for epoch in range(100):
    vorhersage = netz(X_train)
    loss = criterion(vorhersage, y_train)
    optimizer.zero_grad()   # Alte Gradienten löschen
    loss.backward()         # Backpropagation in EINER Zeile
    optimizer.step()        # Gradient Descent Update

Wie funktioniert das? Während du den Forward Pass programmierst, baut das Framework im Hintergrund einen dynamischen Berechnungsgraphen auf. Jede mathematische Operation wird aufgezeichnet. Beim Aufruf von .backward() traversiert das Framework diesen Graphen automatisch rückwärts und wendet die Kettenregel an jedem Knoten an. Das funktioniert für jede differenzierbare Berechnung — nicht nur für neuronale Netze.

Doch Autograd bedeutet nicht, dass du die Mathematik ignorieren darfst. Drei konkrete Szenarien, in denen manuelles Verständnis unverzichtbar ist: (1) Debugging: Wenn dein Loss stagniert, musst du Vanishing Gradients diagnostizieren können. (2) Architektur-Design: Die Wahl der Aktivierungsfunktion und Skip Connections hängt vom Verständnis des Gradientenflusses ab. (3) Custom Layers: Eigene Autograd-Funktionen erfordern korrekte Ableitungen.

Missverständnis: Autograd macht Mathe-Verständnis überflüssig

Nein! Autograd ist der Taschenrechner, aber du musst Arithmetik verstehen, um zu erkennen, wenn der Taschenrechner ein falsches Ergebnis liefert. Wer Backpropagation nicht versteht, programmiert im Blindflug — er merkt nicht, warum sein Modell nicht lernt.

Deep Dive: Autograd unter der Haube

Dynamische vs. statische Graphen: PyTorch baut den Berechnungsgraphen bei jedem Forward Pass neu auf (dynamisch). Das erlaubt Python-Kontrollfluss (if/else, Schleifen) direkt im Modell. Altes TensorFlow (v1) baute den Graphen einmal vor der Ausführung (statisch). Tape-basierte Aufzeichnung: Autograd "zeichnet" Operationen auf ein Band auf. .backward() spult das Band rückwärts ab. Das .grad-Attribut: Nach .backward() enthält tensor.grad den berechneten Gradienten. requires_grad=True aktiviert die Aufzeichnung für einen Tensor. optimizer.zero_grad(): Gradienten akkumulieren sich standardmäßig — ohne explizites Löschen addieren sich die Gradienten über Iterationen auf.

Kernaussagen

  • Ein Trainingsschritt besteht immer aus Forward Pass → Backward Pass → Update. Backpropagation ist der Backward Pass.
  • Backpropagation = Kettenregel auf dem Berechnungsgraphen. Jeder Knoten berechnet eine lokale Ableitung; das Produkt aller lokalen Ableitungen entlang eines Pfades ergibt den Gradienten für ein Gewicht.
  • Effizienz durch Wiederverwendung: Jede partielle Ableitung wird genau einmal berechnet und gecacht.
  • Tiefe Netze riskieren Vanishing oder Exploding Gradients. Moderne Lösungen: ReLU, Residual Connections, Gradient Clipping.
  • Autograd automatisiert die Gradientenberechnung, aber das Verständnis der Mathematik bleibt essenziell für Debugging und Architektur-Design.

Lernziele

  • Warum wird Backpropagation als effiziente Anwendung der Kettenregel auf einen Graphen beschrieben und nicht als völlig neuer mathematischer Ansatz?
  • Wie führt die wiederholte Multiplikation von lokalen Ableitungen in sehr tiefen Netzwerken zum Problem der Vanishing Gradients — und wie hilft ReLU dagegen?
  • Warum ist das mathematische Verständnis von Backpropagation auch dann unverzichtbar, wenn Frameworks wie PyTorch die Gradientenberechnung mittels .backward() komplett automatisieren?

Quiz: Backpropagation

Frage 1 / 6
Noch offen

Was sind die drei Phasen eines vollständigen Trainingsschritts in der korrekten Reihenfolge?

Wählen Sie eine Antwort
Auflösung: 1) B · 2) B · 3) B · 4) C · 5) C · 6) C