Training, Daten und Modellanpassung
Backpropagation
Heißt auch Fehlerrückpropagation oder Rückwärtspropagation.
Rückwärtsberechnung von Gradienten durch die Schichten eines neuronalen Netzes.
Backpropagation ist die Rückwärtsrechnung, mit der in einem neuronalen Netz Gradienten einer Verlustfunktion bezüglich der trainierbaren Parameter bestimmt werden. (PyTorch Autograd Tutorial) Diese Gradienten beschreiben, wie empfindlich der Verlust auf kleine Änderungen der jeweiligen Werte reagiert. (PyTorch Autograd Tutorial)
So kannst du dir das vorstellen
Stell dir eine mehrstufige Produktionskette vor. Am Ende wird eine Abweichung gemessen, und du möchtest nachvollziehen, wie Änderungen an früheren Einstellungen das Endergebnis beeinflussen würden.
Backpropagation ähnelt einer systematischen Rückrechnung durch diese Kette. Die Analogie darf aber nicht als Suche nach einer einzigen schuldigen Station gelesen werden: Ein Modell enthält viele zusammenwirkende Parameter, deren Einfluss mathematisch berechnet wird.
Vorwärts rechnen, rückwärts ableiten
Im Vorwärtsdurchlauf erzeugt das Modell aus einer Eingabe eine Ausgabe, aus der anschließend ein Verlust berechnet wird. (PyTorch Autograd Tutorial) Die automatische Differenzierung verfolgt die beteiligten Rechenoperationen und verwendet die Kettenregel, um die Gradienten rückwärts zu bestimmen. (PyTorch Autograd Tutorial)
In PyTorch legt ein Rückwärtsaufruf die Gradienten an den betreffenden Parametern ab; erst ein anschließender Optimiererschritt verändert deren Werte. (PyTorch Autograd Tutorial) „Gradient berechnet“ und „Gewicht aktualisiert“ sind also zwei unterschiedliche Vorgänge.
Nicht mit einer Antworterklärung verwechseln
Die Rückwärtsrechnung liefert Ableitungen für das Training, keine natürlichsprachliche Begründung einer Modellantwort. (PyTorch Autograd Tutorial) Für eine fachliche Prüfung solltest du daher weiterhin die konkrete Ausgabe und ihre überprüfbaren Grundlagen betrachten.
Auch eingefrorene und trainierbare Bestandteile müssen unterschieden werden: In PyTorch steuert unter anderem die Einstellung zur Gradientenerfassung, welche Parameter an der entsprechenden Optimierung teilnehmen. (PyTorch Autograd Tutorial) Das ist bei Anpassungsverfahren wichtig, bei denen die Basis unverändert bleiben soll und nur bestimmte Zusatzgewichte trainiert werden.
Verwandte Begriffe
Weiterführend sind Gradient Descent, Optimizer, Loss, Gradient Checkpointing und Fine-Tuning.