Lernrate und Momentum

Einführung in Deep Learning mit PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Gewichte mit SGD aktualisieren

  • Ein neuronales Netz zu trainieren bedeutet, ein Optimierungsproblem zu lösen.

Optimierer für den Stochastic Gradient Descent (SGD)

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Zwei Argumente:
    • Lernrate: steuert die Schrittgröße
    • Momentum: fügt Trägheit hinzu, um ein Steckenbleiben zu vermeiden
Einführung in Deep Learning mit PyTorch

Auswirkungen der Lernrate: optimale Lernrate

ein Beispiel für eine optimale Lernrate

  • Die Schrittweite sinkt gegen Null, wenn der Gradient kleiner wird
Einführung in Deep Learning mit PyTorch

Auswirkungen der Lernrate: kleine Lernrate

ein Beispiel für eine kleine Lernrate

Einführung in Deep Learning mit PyTorch

Auswirkungen der Lernrate: hohe Lernrate

ein echter Wert der Lernrate

Einführung in Deep Learning mit PyTorch

Konvexe und nicht-konvexe Funktionen

Dies ist eine konvexe Funktion.

ein Beispiel für eine konvexe Funktion

Dies ist eine nicht-konvexe Funktion.

ein Beispiel für eine nicht-konvexe Funktion

  • Verlustfunktionen sind nicht konvex
Einführung in Deep Learning mit PyTorch

Ohne Momentum

  • lr = 0.01 momentum = 0nach 100 Schritten das Minimum gefunden für x = -1.23 und y = -0.14

ein Beispiel für das Feststecken des Optimierers in einem lokalen Minimum

Einführung in Deep Learning mit PyTorch

Mit Momentum

  • lr = 0.01 momentum = 0.9nach 100 Schritten das Minimum gefunden für x = 0.92 und y = -2.04

ein Beispiel für die Optimierung mit Momentum

Einführung in Deep Learning mit PyTorch

Zusammenfassung

$$

Lernrate Momentum
Steuert die Schrittgröße Steuert die Trägheit
Zu hoch → schlechte Leistung Hilft, dem lokalen Minimum zu entgehen
Zu niedrig → langsames Training Zu klein → Optimierer bleibt stecken
Typischer Bereich: 0,01 ($10^{-2}$) und 0,0001 ($10^{-4}$) Typischer Bereich: 0,85 bis 0,99
Einführung in Deep Learning mit PyTorch

Lass uns üben!

Einführung in Deep Learning mit PyTorch

Preparing Video For Download...