Backpropagation und Optimierung
Backpropagation berechnet effizient den Gradienten des Verlusts eines Netzwerks in Bezug auf seine Gewichte, und gradientenbasierte Optimierer nutzen diesen Gradienten, um das Netzwerk zu trainieren.
Definition
Backpropagation ist ein Algorithmus, der den Gradienten einer Verlustfunktion in Bezug auf jedes Gewicht in einem neuronalen Netzwerk berechnet, indem er Fehlersignale mittels der Kettenregel rückwärts durch die Schichten propagiert; die Optimierung aktualisiert dann die Gewichte, typischerweise mit stochastischem Gradientenabstieg, um den Verlust zu reduzieren.
Scope
Dieses Thema behandelt, wie tiefe Netzwerke trainiert werden: den Backpropagation-Algorithmus als Anwendung der Kettenregel zur schichtweisen Berechnung von Gradienten, den stochastischen Gradientenabstieg und seine Mini-Batch-Form, Momentum- und adaptive Lernratenmethoden sowie die praktischen Herausforderungen von verschwindenden und explodierenden Gradienten, der Auswahl der Lernrate und der Konvergenz auf nicht-konvexen Verlustoberflächen.
Core questions
- Wie berechnet Backpropagation Gradienten effizient?
- Warum wird der stochastische Gradientenabstieg für große Datensätze bevorzugt?
- Wie beschleunigen Momentum- und adaptive Methoden das Training?
- Was verursacht verschwindende oder explodierende Gradienten und wie werden sie gemildert?
Key theories
- Backpropagation mittels der Kettenregel
- Durch die Anwendung der Kettenregel vom Ausgang rückwärts verwendet der Algorithmus Zwischenergebnisse wieder, um alle Gewichtsgradienten in einer Zeit zu berechnen, die proportional zum Vorwärtsdurchlauf ist, was das Training großer Netzwerke praktikabel macht.
- Stochastischer Gradientenabstieg
- Die Schätzung des Gradienten aus kleinen zufälligen Batches macht jede Aktualisierung kostengünstig und führt nützliches Rauschen ein, was das Training auf sehr großen Datensätzen ermöglicht und oft die Generalisierung verbessert.
- Adaptive und Momentum-Methoden
- Momentum akkumuliert vergangene Gradienten, um den Abstieg zu glätten, und adaptive Methoden skalieren die Schrittgröße pro Parameter, beides beschleunigt die Konvergenz auf den schlecht konditionierten Verlustoberflächen, die typisch für tiefe Netzwerke sind.
Clinical relevance
Backpropagation mit stochastischem Gradientenabstieg ist der Motor hinter praktisch allen modernen Deep-Learning-Anwendungen; das Verständnis des Gradientenflusses erklärt sowohl, warum die Tiefe historisch schwer zu trainieren war, als auch, wie Innovationen bei Aktivierungen, Initialisierung und Optimierern sehr tiefe Netzwerke praktikabel machten.
History
Backpropagation wurde in verschiedenen Kontexten abgeleitet, einschließlich Werbos' Dissertation von 1974, und wurde 1986 von Rumelhart, Hinton und Williams bekannt gemacht. Der stochastische Gradientenabstieg und später Momentum- und adaptive Lernratenoptimierer wurden zu den Standardtrainingsverfahren, und die Bewältigung verschwindender Gradienten war entscheidend für das Training tiefer und rekurrenten Netzwerke.
Key figures
- David Rumelhart
- Geoffrey Hinton
- Ronald Williams
- Paul Werbos
Related topics
Seminal works
- rumelhart1986
- goodfellow2016
- bishop2006
Frequently asked questions
- Was berechnet Backpropagation eigentlich?
- Sie berechnet den Gradienten des Verlusts in Bezug auf jedes Gewicht, d.h. wie stark jedes Gewicht geändert werden sollte, um den Fehler zu reduzieren. Dies geschieht effizient, indem Fehlersignale mittels der Kettenregel von der Ausgabeschicht zur Eingabeschicht rückwärts propagiert werden.
- Warum trainiert man mit kleinen Batches anstatt mit allen Daten auf einmal?
- Die Verwendung des gesamten Datensatzes für jede Aktualisierung ist teuer und unnötig. Der stochastische Gradientenabstieg mit Mini-Batches schätzt den Gradienten aus einer kleinen Zufallsstichprobe, wodurch jeder Schritt kostengünstig wird, viele weitere Aktualisierungen ermöglicht werden und Rauschen hinzugefügt wird, das helfen kann, schlechte Lösungen zu vermeiden.