Gradientenabstieg

UniversitätInformatikOptimierer mit fester Schrittweite für Verlustfunktionen mit zwei Variablen und exakten Gradienten

Schalte dieses Lernlabor mit einem Zugangspass frei

Mit einem Zugangspass erhältst du Zugriff auf alle Simulationen der Website, einschließlich des Präsentationsmodus für den Unterricht. Die Unterrichtsmaterialien unten bleiben für alle kostenlos.

Einmalige Zahlung, kein Abonnement.

Über dieses Experiment

Ein neuronales Netz zu trainieren bedeutet, auf einer Verlustlandschaft bergab zu gehen. Der Gradientenabstieg macht einen Schritt entgegen der Gradientenrichtung, skaliert mit der Lernrate. Diese einfache Regel verbirgt viele Verhaltensweisen: Ist der Schritt zu klein, kommt man nur langsam voran; ist er zu groß, schwingt das Verfahren oder divergiert. Enge Täler führen zu Zickzackbewegungen, und das Verfahren kann in einem lokalen Minimum stecken bleiben. Wähle eine Oberfläche aus, klicke auf einen Startpunkt und vergleiche den einfachen Gradientenabstieg mit Momentum und Adam, Schritt für Schritt auf der Karte und anhand der Verlustkurve.

Lernziele

  • Gib das Update des Gradientenabstiegs an und erkläre die Rolle der Lernrate
  • Leite die Stabilitätsgrenze η < 2/λ_max für einen quadratischen Verlust her und überprüfe sie
  • Erkläre, warum schlecht konditionierte Täler den Gradientenabstieg zu Zickzackbewegungen führen und wie Momentum hilft
  • Beschreibe, wie Adam jede Koordinate mithilfe gleitender Mittelwerte des Gradienten neu skaliert
  • Erkenne, wenn das Verfahren zu einem lokalen statt zu einem globalen Minimum konvergiert

Anleitung

  1. 1Wähle „Runde Schüssel“ mit Gradientenabstieg. Probiere die Lernraten 0,1, 1 und 2,1 aus. Beschreibe die drei Pfade.
  2. 2Wähle „Enges Tal“. Finde die größte Lernrate, bei der das Verfahren noch konvergiert, und vergleiche sie mit der unter dem Schieberegler angezeigten Stabilitätsgrenze.
  3. 3Stelle im engen Tal η auf 0,05. Zähle, wie viele Schritte der Gradientenabstieg benötigt, um einen Verlust von 1e-6 zu erreichen, und wechsle dann zu Momentum mit β = 0,9 und zähle erneut.
  4. 4Wähle „Bananental“ (die Rosenbrock-Funktion). Vergleiche Gradientenabstieg, Momentum und Adam nach 300 Schritten.
  5. 5Wähle „Zwei Minima“. Der Gradientenabstieg vom standardmäßigen Startpunkt bleibt im flachen Becken rechts stehen. Klicke auf Startpunkte auf beiden Seiten des Kamms: Welche erreichen das tiefere Becken?
  6. 6Kehre zum standardmäßigen Startpunkt zurück und wechsle zu Momentum mit β = 0,9 und η = 0,1. Warum rollt der Pfad jetzt über den Kamm?

Das Modell

Gradientenabstieg mit Lernrate η
Heavy-Ball-Momentum: Die Geschwindigkeit berücksichtigt vergangene Gradienten
Adam, koordinatenweise, mit bias-korrigierten Mittelwerten und β₂ = 0,999
Bei einer quadratischen Funktion mit Hessian-Eigenwerten λᵢ schrumpft jede Richtung pro Schritt um den Faktor 1 − ηλᵢ.

Annahmen

  • Die Gradienten sind exakt. Beim tatsächlichen Training werden sie aus Mini-Batches geschätzt, wodurch Rauschen entsteht (stochastischer Gradientenabstieg).
  • Die Verlustlandschaften sind festgelegte Funktionen mit zwei Variablen: eine runde Schüssel ½(x² + y²), ein schmales Tal ½(0.5x² + 5y²), die Rosenbrock-Funktion (1 − x)² + 10(y − x²)² und ein geneigtes Doppelmuldenpotenzial.
  • Jeder Lauf endet nach 300 Schritten bei einer festen Lernrate. Es gibt keine Lernratenpläne.
  • Die Läufe sind deterministisch: Derselbe Startpunkt und dieselben Einstellungen ergeben immer denselben Pfad.

Im Unterricht ausprobieren

  1. Q1Im schmalen Tal wird der stabile Grenzwert durch die steile Richtung bestimmt, aber der Fortschritt durch die flache Richtung begrenzt. Erkläre dies anhand der Faktoren 1 − ηλ.
  2. Q2Warum kann Momentum schneller konvergieren, obwohl bei jedem Schritt derselbe Gradient verwendet wird?
  3. Q3Adam macht Schritte von ungefähr der Größe η, unabhängig davon, wie steil die Oberfläche ist. Wann ist das ein Vorteil und wann ein Problem?
  4. Q4Neuronale Netzwerkverluste haben Millionen von Dimensionen. Sind lokale Minima oder Sattelpunkte Ihrer Meinung nach das größere Hindernis? Warum?
  5. Q5Schlagen Sie einen Lernraten-Zeitplan vor, der schnelle Fortschritte zu Beginn mit einer präzisen Konvergenz verbindet.

Häufig gestellte Fragen

Warum lässt eine zu große Lernrate den Verlust ansteigen?

Bei jedem Schritt wird der tiefste Punkt des Tals überschritten, und der Schritt landet auf der gegenüberliegenden Wand weiter oben. Bei einer quadratischen Funktion wird der Abstand bei jedem Schritt mit |1 − ηλ| multipliziert. Dieser Faktor ist größer als eins, wenn η größer als 2/λ ist.

Was bewirkt Momentum in einem schmalen Tal?

Die Zickzack-Gradienten quer zum Tal zeigen in entgegengesetzte Richtungen und heben sich in der akkumulierten Geschwindigkeit gegenseitig auf, während die kleinen Gradienten entlang des Tals alle in dieselbe Richtung zeigen und sich addieren. Der Pfad wird geradliniger, und die Bewegung entlang des Talbodens beschleunigt sich.

Ist Adam immer besser als Gradientenabstieg?

Nein. Adam ist robust und muss nur wenig abgestimmt werden. Deshalb ist es für das Training von Netzwerken beliebt. Bei einfachen, gut konditionierten Problemen können jedoch der einfache Gradientenabstieg oder Momentum schneller konvergieren oder bessere Lösungen finden.