Backpropagation ist die Methode, mit der neuronale Netze Gradienten berechnen: also wie stark sich der Verlust ändern würde, wenn man jedes Gewicht oder jeden Bias ein wenig verändert. Einfach gesagt zeigt sie dem Modell, welche Parameter die Vorhersage in die falsche Richtung verschoben haben und um wie viel.
Die Kurzfassung ist einfach: Führe das Netz vorwärts aus, miss den Fehler und gehe dann mit der Kettenregel rückwärts durch dieselbe Berechnung. Dadurch wird auch ein tiefes Modell handhabbar, weil jede Schicht nur eine kleine lokale Ableitung beitragen muss.
Was Backpropagation berechnet
Backpropagation aktualisiert Parameter nicht selbst. Sie berechnet Gradienten wie und , wobei der Verlust ist. Ein Optimierer wie der Gradientenabstieg verwendet diese Gradienten, um die eigentliche Aktualisierung durchzuführen.
Wenn das Modell und die Verlustfunktion differenzierbar sind, oder zumindest stückweise ausreichend differenzierbar für Gradientenverfahren, dann ermöglicht Backpropagation, diese Gradienten effizient in einem einzigen Rückwärtsdurchlauf zu berechnen.
Warum die Kettenregel die Schlüsselidee ist
Man kann sich ein neuronales Netz als eine lange Kette von Berechnungen vorstellen. Jede Schicht nimmt eine Eingabe, transformiert sie und gibt das Ergebnis an die nächste Schicht weiter. Wenn man beim Verlust ankommt, hängt der endgültige Fehler von jeder früheren Entscheidung ab.
Backpropagation stellt an jedem Schritt eine lokale Frage: Wenn sich dieser Zwischenwert ein wenig ändern würde, wie würde sich dann der endgültige Verlust ändern? Diese lokalen Effekte werden beim Rückwärtsgehen miteinander multipliziert. Genau das ist die Kettenregel in einfacher Sprache.
Backpropagation-Beispiel mit einem Neuron
Verwende ein Neuron mit einer Eingabe:
Hier ist die Eingabe, das Gewicht, der Bias, die Vorhersage, der Zielwert und die Sigmoidfunktion.
Nimm
Schritt 1: Vorwärtsdurchlauf
Berechne zuerst die gewichtete Summe des Neurons:
Wende nun die Sigmoidfunktion an:
Berechne jetzt den Verlust:
Die Vorhersage liegt unter dem Zielwert, daher ist der Verlust positiv.
Schritt 2: Rückwärtsdurchlauf
Berechne nun den Gradienten in Bezug auf das Gewicht.
Beginne beim Verlust und arbeite dich nach innen vor:
Für die Sigmoidfunktion gilt:
Und für die gewichtete Summe gilt:
Verknüpfe nun die Teile miteinander:
Setze die Zahlen ein:
Die negativen Vorzeichen sind wichtig. Sie bedeuten, dass eine leichte Erhöhung von oder den Verlust hier verringern würde, was zur Situation passt, weil die aktuelle Vorhersage zu niedrig ist.
Wenn du Gradientenabstieg mit der Lernrate verwendest, dann gilt
Das ist die ganze Idee im Kleinen: Vorwärtsdurchlauf, Verlust, Rückwärtsdurchlauf, Aktualisierung.
Warum Backpropagation für tiefe Netze funktioniert
In einem tieferen Netz macht man dasselbe Schicht für Schicht. Der Hauptunterschied ist, dass jede verborgene Schicht den Verlust indirekt über spätere Schichten beeinflusst, sodass ihr Gradient mehr Faktoren aus der Kettenregel enthält.
Backpropagation bleibt praktisch, weil jede Schicht nur ihre lokale Ableitung und das Signal aus der nachfolgenden Schicht braucht. Man muss nicht für jeden Parameter das ganze Netz von Grund auf neu ableiten.
Häufige Fehler bei der Backpropagation
Backpropagation mit Gradientenabstieg verwechseln
Backpropagation berechnet Gradienten. Gradientenabstieg verwendet diese Gradienten, um Parameter zu aktualisieren. Beides ist eng verbunden, aber es ist nicht derselbe Schritt.
Vergessen, dass der Verlust am Ende steht
Der Rückwärtsdurchlauf beginnt beim Verlust, nicht bei einer beliebigen verborgenen Schicht. Wenn man aus dem Blick verliert, wovon der Verlust abhängt, bricht die Ableitungskette meist auseinander.
Das Verhalten der Aktivierungsfunktion ignorieren
Einige Aktivierungsfunktionen erzeugen in bestimmten Bereichen sehr kleine Gradienten. Wenn das über viele Schichten hinweg wiederholt passiert, kann das Lernen langsam werden.
Annehmen, dass ein einziger Rückwärtsdurchlauf bedeutet, dass das Modell gelernt hat
Ein Rückwärtsdurchlauf liefert einen Satz von Gradienten für einen Batch. Das Training braucht normalerweise viele Aktualisierungen über viele Beispiele hinweg.
Wann Backpropagation verwendet wird
Backpropagation ist die Standardmethode zur Gradientenberechnung beim Training vieler neuronaler Netze, darunter mehrschichtige Perzeptrons, Convolutional Networks, rekurrente Modelle und Transformer.
Der genaue Optimierer kann sich ändern, und manche Architekturen fügen praktische Tricks hinzu, aber die Grundidee ist meist dieselbe: den Verlust berechnen, Gradienten rückwärts propagieren und die Parameter aktualisieren, um den zukünftigen Fehler zu verringern.
Eine praktische Art, es sich zu merken
Backpropagation ist eine strukturierte Methode, um in einem geschichteten Modell Anteile an Erfolg und Fehler zuzuweisen. Wenn die Ausgabe falsch ist, verfolgt die Methode diesen Fehler rückwärts, sodass jeder Parameter ein Signal darüber bekommt, wie er dazu beigetragen hat.
Deshalb ist die Formulierung „wie neuronale Netze lernen“ größtenteils zutreffend. Das Lernen geschieht durch wiederholte Parameteraktualisierungen, und Backpropagation sorgt dafür, dass diese Aktualisierungen informiert statt zufällig sind.
Probiere eine ähnliche Aufgabe
Behalte dasselbe Beispiel bei, aber ändere den Zielwert von zu . Berechne und erneut und prüfe dann, wie die Vorzeichen kippen. Diese eine Änderung macht die Rolle des Verlusts viel klarer, als nur die Formeln auswendig zu lernen.
Brauchst du Hilfe bei einer Aufgabe?
Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.
GPAI Solver öffnen →