Backpropagation-Schritt

Ein neuronales Netz lernt, indem es nach jeder Vorhersage prüft, wie weit es daneben lag. Aus dieser Abweichung berechnet es für jedes einzelne Gewicht eine Korrekturanweisung. Dieser Vorgang heißt Backpropagation-Schritt.

Vom Vorwärtsdurchlauf zur Fehlerberechnung

Bevor ein Backpropagation-Schritt stattfinden kann, durchlaufen die Eingabedaten das Netz in Vorwärtsrichtung. Jede Schicht multipliziert die Eingabe mit ihren Gewichten, addiert einen Bias-Wert und wendet eine Aktivierungsfunktion an. Am Ende steht eine Vorhersage.

Beispiel: Ein Netz zur Bilderkennung erhält ein Foto einer Katze. Der Forward Pass erzeugt eine Wahrscheinlichkeitsverteilung über alle Klassen. Das Netz sagt "Hund" mit 0,7 Konfidenz. Die Loss-Funktion vergleicht diese Vorhersage mit dem Label "Katze" und liefert einen skalaren Fehlerwert.

Beispiel: Bei einem Sprachmodell sagt das Netz das nächste Token vorher. Die Eingabe ist "Der Himmel ist", die korrekte Fortsetzung "blau". Der Forward Pass erzeugt eine Wahrscheinlichkeitsverteilung über das gesamte Vokabular, und die Loss-Funktion bewertet, wie weit die vorhergesagte Verteilung vom tatsächlichen Token entfernt ist.

Der Loss-Wert ist die Grundlage für den Backpropagation-Schritt. Ohne diesen skalaren Wert gibt es keinen Ausgangspunkt für die Gradientenberechnung.

Der Rückwärtsdurchlauf: Gradienten berechnen

Im Rückwärtsdurchlauf wird der Fehlerwert schichtweise zurückpropagiert. Das Netz berechnet dabei für jedes Gewicht, wie stark es zum Gesamtfehler beigetragen hat. Mathematisch geschieht das über die Kettenregel der Differentialrechnung: Die partielle Ableitung des Loss nach jedem Parameter wird durch Verkettung der lokalen Ableitungen aller dazwischenliegenden Schichten ermittelt.

Beispiel: Ein Netz hat drei Schichten mit jeweils 100 Neuronen. Der Backpropagation-Schritt berechnet Gradienten für alle Gewichte: 100×100 Gewichte zwischen Schicht 1 und 2, plus 100×100 zwischen Schicht 2 und 3, plus Bias-Werte. Für jeden dieser Parameter gibt es genau einen Gradientenwert.

Beispiel: In einem Transformer-Modell mit 175 Milliarden Parametern berechnet ein einzelner Backpropagation-Schritt ebenso viele Gradienten. Jeder Gradient gibt an, in welche Richtung und mit welcher Stärke das jeweilige Gewicht verändert werden sollte, um den Loss zu verringern.

Die Reihenfolge der Berechnung ist zwingend: von der letzten Schicht zur ersten. Jede Schicht benötigt die Gradienten der nachfolgenden Schicht als Eingabe. Dieser sequenzielle Charakter begrenzt die Parallelisierbarkeit des Rückwärtsdurchlaufs.

Gewichtsaktualisierung durch den Optimizer

Nach dem Backpropagation-Schritt liegen alle Gradienten vor. Der Optimizer nutzt diese, um die Gewichte zu aktualisieren. Die einfachste Variante ist Stochastic Gradient Descent (SGD): Jedes Gewicht wird um das Produkt aus Lernrate und Gradient verschoben.

Beispiel: Ein Gewicht hat den Wert 0,5. Der berechnete Gradient beträgt 0,02, die Lernrate ist 0,001. Das neue Gewicht ist 0,5 - (0,001 × 0,02) = 0,49998. Die Änderung ist winzig, aber über Tausende von Schritten summieren sich diese Korrekturen.

Fortgeschrittene Optimizer wie Adam verwenden zusätzlich ein laufendes Mittel der Gradienten (Momentum) und eine adaptive Lernrate pro Parameter. Der Backpropagation-Schritt selbst ändert sich dadurch nicht. Er liefert in jedem Fall die Rohdaten, die der Optimizer dann interpretiert.

Beispiel: Bei Adam speichert der Optimizer für jeden Parameter zwei zusätzliche Werte: den gleitenden Mittelwert des Gradienten und den gleitenden Mittelwert des quadrierten Gradienten. Dadurch erhält jedes Gewicht eine individuell angepasste Schrittweite. Der Backpropagation-Schritt selbst berechnet aber in beiden Fällen dieselben Gradienten.

Batch-Verarbeitung und Schrittgröße

Ein Backpropagation-Schritt bezieht sich auf einen Batch von Trainingsbeispielen. Die Batch-Size bestimmt, wie viele Beispiele gleichzeitig verarbeitet werden, bevor die Gradienten gemittelt und die Gewichte aktualisiert werden.

Beispiel: Bei einer Batch-Size von 32 berechnet der Forward Pass 32 Vorhersagen parallel. Die Loss-Funktion liefert 32 Fehlerwerte, die gemittelt werden. Der Backpropagation-Schritt berechnet die Gradienten auf Basis dieses gemittelten Loss. Erst danach aktualisiert der Optimizer die Gewichte.

Gradient Accumulation ermöglicht es, die effektive Batch-Size zu erhöhen, ohne mehr Speicher zu benötigen. Dabei werden mehrere Backpropagation-Schritte ausgeführt, aber die Gradienten erst nach einer festgelegten Anzahl von Schritten aufsummiert und angewendet.

Beispiel: Ein Modell wird auf einer einzelnen GPU mit 8 GB Speicher trainiert. Eine Batch-Size von 256 passt nicht in den Speicher. Stattdessen werden 8 Batches mit je 32 Beispielen nacheinander verarbeitet. Die Gradienten aus allen 8 Backpropagation-Schritten werden akkumuliert, bevor der Optimizer einmal die Gewichte aktualisiert. Das Ergebnis entspricht rechnerisch einer Batch-Size von 256.

Eine Epoche umfasst so viele Backpropagation-Schritte, wie nötig sind, um alle Trainingsbeispiele einmal zu verarbeiten. Bei 50.000 Beispielen und einer Batch-Size von 100 sind das 500 Schritte pro Epoche.

Rechenaufwand und Speicherbedarf

Der Rückwärtsdurchlauf benötigt in der Regel etwa doppelt so viel Rechenzeit wie der Forward Pass. Der Grund: Neben den Gradienten der Gewichte müssen auch die Zwischenergebnisse (Aktivierungen) jeder Schicht gespeichert werden, weil die Kettenregel diese Werte für die Rückrechnung benötigt.

Beispiel: Beim Training eines Modells mit 7 Milliarden Parametern belegt allein die Speicherung der Aktivierungen mehrere Gigabyte GPU-Speicher. Techniken wie Gradient Checkpointing reduzieren diesen Bedarf, indem sie nur ausgewählte Aktivierungen speichern und die übrigen bei Bedarf neu berechnen. Das spart Speicher, kostet aber zusätzliche Rechenzeit.

Mixed Precision Training beschleunigt den Backpropagation-Schritt, indem ein Teil der Berechnungen in reduzierter Genauigkeit (FP16 oder BF16) ausgeführt wird. Die Gewichtsaktualisierung erfolgt weiterhin in voller Genauigkeit (FP32), um numerische Stabilität zu gewährleisten.

Beispiel: Auf einer NVIDIA A100 GPU verdoppelt Mixed Precision Training den Durchsatz gegenüber reinem FP32-Training. Ein Backpropagation-Schritt für ein 13-Milliarden-Parameter-Modell dauert mit BF16 etwa 1,2 Sekunden pro Batch statt 2,3 Sekunden in FP32.

Fachliche Einordnung: Der Speicherbedarf während des Backpropagation-Schritts setzt sich aus drei Komponenten zusammen: Modellparameter, Gradienten (gleiche Größe wie Parameter) und Aktivierungen (abhängig von Batch-Size und Modelltiefe). Bei Adam kommen zwei weitere Puffer hinzu (erstes und zweites Moment), sodass der Gesamtbedarf etwa das Vierfache der reinen Modellgröße beträgt.

Ablauf eines vollständigen Trainingsschritts

Eingabe-BatchTrainingsdaten
Forward PassVorhersage erzeugen
Loss-BerechnungFehler quantifizieren
Backward PassGradienten berechnen
GewichtsaktualisierungOptimizer-Schritt

Der Backpropagation-Schritt im engeren Sinne umfasst den Backward Pass (rosa). In der Praxis wird der Begriff häufig für den gesamten Zyklus von Forward Pass bis Gewichtsaktualisierung verwendet.

Numerische Stabilität und Gradientenprobleme

Bei tiefen Netzen kann der Backpropagation-Schritt auf zwei charakteristische Probleme stoßen: verschwindende und explodierende Gradienten. Beide entstehen durch die wiederholte Multiplikation bei der Kettenregel über viele Schichten.

Verschwindende Gradienten treten auf, wenn die lokalen Ableitungen in vielen Schichten kleiner als 1 sind. Die Gradienten werden mit jeder Schicht kleiner und erreichen die ersten Schichten nur noch als Werte nahe Null. Diese Schichten lernen dann praktisch nicht mehr.

Beispiel: Ein Netz mit 50 Schichten und Sigmoid-Aktivierungsfunktionen hat in jeder Schicht eine maximale lokale Ableitung von 0,25. Nach 50 Multiplikationen ergibt sich 0,25^50, ein Wert nahe Null. Die Gradienten der ersten Schichten sind zu klein, um die Gewichte merklich zu verändern.

Explodierende Gradienten sind das Gegenstück: Die lokalen Ableitungen sind größer als 1, und die Gradienten wachsen exponentiell. Dies führt zu instabilem Training mit sprunghaften Gewichtsänderungen.

Beispiel: Gradient Clipping begrenzt die Norm des Gradientenvektors auf einen Maximalwert. Bei einem Clip-Wert von 1,0 wird ein Gradientenvektor mit Norm 15,3 auf die Länge 1,0 skaliert. Die Richtung bleibt erhalten, aber die Schrittweite wird begrenzt.

Moderne Architekturen verwenden Techniken wie Residual Connections, Layer Normalization und sorgfältige Gewichtsinitialisierung, um diese Probleme zu entschärfen. Bei Transformer-Modellen sorgen die Residual Connections dafür, dass Gradienten direkt über viele Schichten hinweg fließen können, ohne durch Multiplikation zu schrumpfen.

Verteiltes Training und Parallelisierung

Beim Training auf mehreren GPUs wird der Backpropagation-Schritt parallelisiert. Die verbreitetste Methode ist Data Parallelism: Jede GPU verarbeitet einen eigenen Batch, führt ihren Backpropagation-Schritt durch und die resultierenden Gradienten werden anschließend über alle GPUs gemittelt.

Beispiel: Ein Cluster mit 8 GPUs trainiert ein Modell mit Data Parallelism. Jede GPU verarbeitet einen Batch von 32 Beispielen. Nach dem Backpropagation-Schritt werden die Gradienten aller 8 GPUs via AllReduce-Operation gemittelt. Der Optimizer aktualisiert die Gewichte identisch auf allen GPUs. Die effektive Batch-Size beträgt 8 × 32 = 256.

Bei sehr großen Modellen reicht der Speicher einer einzelnen GPU nicht aus, um alle Parameter und Gradienten zu halten. Model Parallelism verteilt das Modell auf mehrere GPUs. Pipeline Parallelism teilt die Schichten auf verschiedene GPUs auf, Tensor Parallelism verteilt einzelne Schichten.

Beispiel: Deep Learning-Frameworks wie PyTorch bieten Fully Sharded Data Parallel (FSDP). Dabei werden Parameter, Gradienten und Optimizer-Zustände auf alle GPUs verteilt. Während des Backpropagation-Schritts sammelt jede GPU nur die Parameter, die sie gerade benötigt, und gibt sie danach wieder frei. Dieses Verfahren reduziert den Speicherbedarf pro GPU erheblich.

Grenzen und Einordnung

Der Backpropagation-Schritt ist die Standardmethode zur Gradientenberechnung in neuronalen Netzen. Er funktioniert zuverlässig für differenzierbare Verlustfunktionen und Architekturen. Bei nicht-differenzierbaren Operationen (diskrete Entscheidungen, stochastische Knoten) sind Erweiterungen wie der Straight-Through Estimator oder REINFORCE nötig.

Beispiel: Ein Netz soll binäre Entscheidungen treffen (ja/nein). Die Schwellwertfunktion ist nicht differenzierbar, also kann der Standard-Backpropagation-Schritt keinen Gradienten berechnen. Der Straight-Through Estimator umgeht dies, indem er im Forward Pass die Schwellwertfunktion anwendet, im Backward Pass aber eine differenzierbare Approximation nutzt.

Biologische Plausibilität ist ein häufiger Kritikpunkt. Backpropagation erfordert die exakte Rückmeldung des Fehlers über alle Schichten. In biologischen Nervensystemen gibt es keinen bekannten Mechanismus, der Information symmetrisch rückwärts durch alle Schichten leitet. Ansätze wie Feedback Alignment oder Predictive Coding versuchen, diese Lücke zu schließen.

Fachliche Einordnung: Backpropagation ist algorithmisch eine Anwendung von Automatic Differentiation im Reverse Mode. Der Schritt berechnet exakte Gradienten (keine Approximation). Für ein Netz mit N Parametern liegt der Rechenaufwand in O(N). Alternative Verfahren wie Evolutionäre Strategien oder Finite-Difference-Methoden benötigen O(N) Forward Passes für einen Gradientenschritt und sind damit bei großen Modellen um Größenordnungen langsamer.


Karl Kratz · 16.12.2025 (aktualisiert 15.03.2026)

Technologie Künstliche Intelligenz Training