Gradient Descent
Beim Gradientenabstieg werden Modelle trainiert, indem ihre Gewichte wiederholt entgegen dem Gradienten des Verlusts angepasst werden. Behandelt werden Lernraten, SGD, Momentum und Adam.
Der Gradientenabstieg ist der iterative Optimierungsalgorithmus, mit dem die meisten Modelle des maschinellen Lernens trainiert werden – von der linearen Regression bis zu großen neuronalen Netzen. Bei jedem Schritt berechnet er den Gradienten der Verlustfunktion in Bezug auf jedes Modellgewicht und verschiebt jedes Gewicht einen kleinen Schritt in die entgegengesetzte Richtung, also in die Richtung, in der der Verlust am schnellsten sinkt. Die Aktualisierungsregel lautet w ← w − η∇L(w), wobei η die Lernrate ist. Ein gängiges Bild ist eine Bergsteigerin oder ein Bergsteiger, die oder der in dichtem Nebel einen Berg hinabsteigt: Ohne das Tal sehen zu können, ertastet die Person die Steigung unter den Füßen und geht immer wieder bergab, bis der Boden eben wird.
So funktioniert der Gradientenabstieg#
Jede Iteration besteht aus drei Teilen. Ein Vorwärtsdurchlauf berechnet Vorhersagen und Verlust, die Rückpropagierung berechnet den Gradienten des Verlusts in Bezug auf jedes Gewicht, und der Optimierer aktualisiert die Gewichte. Der Gradient zeigt auf der Verlustfläche bergauf, wie es der mehrdimensionalen Definition des Gradienten entspricht. Zieht man ihn ab, bewegen sich die Gewichte bergab.
Die Varianten unterscheiden sich darin, wie viele Daten pro Schritt verwendet werden. Der Batch-Gradientenabstieg berechnet den exakten Gradienten über den gesamten Trainingsdatensatz. Das ist präzise, bei großen Datensätzen jedoch langsam. Stochastischer Gradientenabstieg (SGD) schätzt ihn anhand eines einzelnen Beispiels. Beim Mini-Batch-Gradientenabstieg, dem Standard im Deep Learning, wird der Mittelwert über eine Batchgröße von einigen Dutzend bis zu mehreren Tausend Beispielen gebildet, damit die GPUs ausgelastet bleiben. Das Rauschen in den Gradienten von Mini-Batches hilft den Gewichten außerdem dabei, Sattelpunkte und scharfe Minima zu überwinden. Ein vollständiger Durchlauf durch den Trainingsdatensatz wird als Epoche bezeichnet.
Die Lernrate festlegen#
Die Lernrate bestimmt die Schrittweite und ist in der Regel der erste Hyperparameter, der beim Gradientenabstieg angepasst wird. Ist die Lernrate zu niedrig, werden Rechenressourcen verschwendet, weil man sich nur langsam dem Minimum nähert. Ist sie zu hoch, wird das Minimum überschritten. Bei einem quadratischen Verlust führt jede Lernrate über 2 geteilt durch die Krümmung des Verlusts dazu, dass jeder Schritt weiter vom Minimum entfernt landet als der vorherige. Der folgende Code minimiert (w − 2)², dessen Krümmung 2 beträgt, mit drei Lernraten in PyTorch:
import torch
# Minimize loss(w) = (w - 2)^2, whose minimum is at w = 2, with three learning rates
for lr in [0.1, 0.5, 1.1]:
w = torch.tensor(5.0, requires_grad=True)
for step in range(20):
loss = (w - 2) ** 2
loss.backward() # w.grad now holds the slope 2 * (w - 2)
with torch.no_grad():
w -= lr * w.grad # step against the gradient
w.grad.zero_()
print(f"Learning rate {lr}: w = {w.item():.4f} after 20 steps")Bei einer Lernrate von 0.1 liegt das Gewicht nach 20 Schritten immer noch bei 2.0346. Mit einer Lernrate von 0.5 wird genau 2.0000 erreicht, weil sie dem Kehrwert der Krümmung entspricht. Bei einer Lernrate von 1.1 wird das Minimum mit jedem Schritt um einen größeren Betrag überschritten, bis w den Wert 117.0129 erreicht. Echte Trainingspläne beginnen mit einer kurzen Aufwärmphase und senken die Lernrate anschließend, oft anhand einer Kosinuskurve. So bleiben die frühen Schritte stabil, während sich die späteren präzise einpendeln.
Momentum, Adam und moderne Optimierer#
Einfacher Gradientenabstieg bewegt sich im Zickzack durch enge Täler der Verlustfunktion. Daher verwenden die meisten Trainingsverfahren verbesserte Aktualisierungsregeln. Beim Impulsverfahren wird ein laufender Durchschnitt vergangener Gradienten gebildet und dessen Richtung eingeschlagen. Das dämpft Schwingungen und beschleunigt den Fortschritt in gleichbleibenden Richtungen. Der Adam-Optimierer verfolgt zusätzlich die quadrierten Gradienten jedes Parameters, um jedem Gewicht eine eigene adaptive Schrittgröße zuzuweisen. AdamW entkoppelt die Gewichtsabnahme von dieser Aktualisierung. Muon orthogonalisiert die Impulsaktualisierung jeder zweidimensionalen Gewichtsmatrix mithilfe von Newton-Schulz-Iterationen, sodass keine einzelne Richtung den Schritt dominiert. Beim Training von Ultralytics YOLO26 mit optimizer="auto" wird AdamW ausgewählt. Die Lernrate wird an die Anzahl der Klassen angepasst; der Ansatz ist für Läufe mit bis zu 10.000 Iterationen vorgesehen. Für längere Läufe wird MuSGD verwendet, das SGD für Faltungs- und lineare Gewichte um orthogonalisierte Muon-Aktualisierungen ergänzt.
Anwendungen in der Praxis#
Gradientenabstieg ist die Trainingsgrundlage hinter fast jedem Deep-Learning-System. Bei autonomen Fahrzeugen passt er Objekterkennungs netzwerke so an, dass die Abweichung zwischen den vorhergesagten und den beschrifteten Rahmen für Fußgänger, Schilder und Fahrzeuge über Millionen von Einzelbildern hinweg kleiner wird. In der medizinischen Bildanalyse trainiert er Convolutional Neural Networks, die Tumore in MRT- und CT-Aufnahmen von gesundem Gewebe unterscheiden. Große Sprachmodelle werden auf dieselbe Weise trainiert, üblicherweise mit AdamW und Billionen von Tokens.
Gradientenabstieg und verwandte Konzepte#
- Rückpropagierung: Die Rückpropagierung berechnet mithilfe der Kettenregel die Gradienten. Der Gradientenabstieg verwendet sie, um die Gewichte zu aktualisieren. Beide Schritte erfolgen bei jeder Trainingsiteration direkt nacheinander und werden häufig gemeinsam erwähnt.
- Verlustfunktion: Die Verlustfunktion bewertet, wie falsch die Vorhersagen des Modells sind. Der Gradientenabstieg ist das Verfahren, mit dem dieser Wert verringert wird.
- Explodierender Gradient: Wenn Gradienten in tiefen Netzwerken unkontrolliert anwachsen, führt der Gradientenabstieg zu schädlichen Schritten. Gradient Clipping verhindert dies, indem es die Gradientennorm vor jeder Aktualisierung begrenzt.
- Evolutionäre Algorithmen: Diese gradientenfreien Methoden suchen nach Lösungen, indem sie Kandidaten stichprobenartig auswählen, ohne Gradienten zu berechnen. Das eignet sich für Zielfunktionen, die nicht differenzierbar sind, etwa bei der Wahl von Hyperparametern.










