Stochastic Gradient Descent (SGD) ist ein iteratives Optimierungsverfahren, das Modellparameter entlang der negativen Gradientenrichtung einer Verlustfunktion anpasst – auf Basis kleiner, zufällig gezogener Stichproben statt des gesamten Datensatzes.
Zusammenfassung
Jeder Schritt ist dadurch schneller, aber verrauschter als beim klassischen Gradientenverfahren, das über alle Trainingsdaten mittelt. Dieser Tausch aus Geschwindigkeit gegen Präzision ist bei sehr großen Datensätzen fast immer vorteilhaft: Bei begrenztem Rechenzeitbudget lassen sich mit einem einfachen, verrauschten Gradientenschätzer mehr Trainingsbeispiele verarbeiten als mit präziseren, aber teureren Methoden.
Begriffsgeschichte
Die mathematische Wurzel liegt bei Herbert Robbins und Sutton Monro, die 1951 mit „A Stochastic Approximation Method” ein Verfahren zur Nullstellensuche einer nur verrauscht beobachtbaren Funktion vorstellten – SGD ist ein Spezialfall dieser stochastischen Approximation.
Popularisiert im Machine-Learning-Kontext wurde das Verfahren unter anderem durch Léon Bottous „Large-Scale Machine Learning with Stochastic Gradient Descent” (2010), das zeigte, dass SGD bei großskaligen Lernproblemen ausgefeilteren Optimierern in der Praxis überlegen ist.
Methodische Grundlagen
Drei Varianten unterscheiden sich in der Größe der Stichprobe je Schritt. Batch Gradient Descent rechnet über den gesamten Datensatz – präzise, aber bei großen Datenmengen teuer. Stochastic Gradient Descent im engeren Sinn nutzt ein einzelnes, zufällig gezogenes Beispiel – schnell, aber hochvariant. Mini-Batch Gradient Descent verwendet eine kleine zufällige Teilmenge und ist heute der De-facto-Standard.
Die Lernrate steuert dabei als zentraler Hyperparameter die Schrittweite; kleinere Batch-Größen erfordern meist kleinere Lernraten. Das Rauschen im Gradienten ist zugleich Vor- und Nachteil: Es hilft, flache lokale Minima zu verlassen, macht die Konvergenz aber instabiler.
Weiterentwicklungen
Momentum, von Boris Polyak 1964 eingeführt, dämpft Oszillationen durch eine physikalisch motivierte Trägheitsanalogie und gilt als De-facto-Standard beim Training neuronaler Netze. Nesterov-Momentum berechnet den Gradienten an einer vorausgeschätzten Position statt an der aktuellen, was empirisch bessere Konvergenz liefert.
Adam kombiniert Momentum-artiges Verhalten mit adaptiver, parameterspezifischer Skalierung der Lernrate.
Anwendungsfelder
SGD in seinen Varianten – vor allem Mini-Batch-SGD mit Momentum oder adaptiven Erweiterungen – ist das zentrale Trainingsverfahren für praktisch alle modernen neuronalen Netze einschließlich großer Sprachmodelle. Es arbeitet Hand in Hand mit Backpropagation: Backpropagation berechnet effizient die Gradienten der Verlustfunktion, SGD nutzt sie, um die Parameter iterativ zu aktualisieren.
Einordnung
SGD dominiert das Training tiefer neuronaler Netze bis heute, weil es bei sehr großen, redundanten Datensätzen rechnerisch effizienter ist als exakte Verfahren. Die Grundidee ist zugleich einfach und hochgradig erweiterbar – Momentum, adaptive Lernraten –, was ihre Weiterentwicklungen zum Rückgrat praktisch aller modernen Trainingspipelines gemacht hat.
Verwandte Begriffe
- Deep Learning – das Feld, dessen Training auf SGD-Varianten beruht
- Konnektionismus – die theoretische Tradition hinter lernenden Netzen
- AlexNet – frühe Demonstration, wie SGD-trainierte tiefe Netze skalieren
Quellenangaben
- Robbins, Herbert / Monro, Sutton, 1951. A Stochastic Approximation Method. In: The Annals of Mathematical Statistics 22, S. 400–407.
- Bottou, Léon, 2010. Large-Scale Machine Learning with Stochastic Gradient Descent. In: Proceedings of COMPSTAT 2010, S. 177–186.
- Polyak, Boris T., 1964. Some Methods of Speeding Up the Convergence of Iteration Methods. USSR Computational Mathematics and Mathematical Physics 4 (5).