← Zum Glossar

Training, Daten und Modellanpassung

Optimizer

Heißt auch Optimierer.

Verfahren zur Durchführung der Parameterupdates.

Ein Optimizer oder Optimierer ist das Verfahren, das Modellparameter anhand der berechneten Gradienten aktualisiert. (PyTorch Optimizers) Zu den verbreiteten Implementierungen gehören Varianten des stochastischen Gradientenabstiegs und Adam. (PyTorch Optimizers)

So kannst du dir das vorstellen

Stell dir eine Maschine vor, deren Einstellungen nach jedem Probelauf verbessert werden sollen. Eine Messung zeigt zunächst, in welche Richtung Änderungen hilfreich wären.

Der Optimierer ist im Bild die Regel, die aus dieser Information konkrete neue Einstellungen macht. Die Messung selbst, die Änderungsregel und die Größe des erlaubten Schritts sind dabei drei unterscheidbare Bestandteile.

Gradienten berechnen ist noch kein Update

In einem typischen PyTorch-Ablauf werden zunächst vorherige Gradienten zurückgesetzt, danach neue Gradienten durch die Rückwärtsrechnung ermittelt und schließlich die Parameter mit optimizer.step() aktualisiert. (PyTorch Optimizers) Backpropagation liefert damit die Ableitungen; der Optimierer setzt die jeweilige Aktualisierungsregel um. (PyTorch Autograd Tutorial)

Optimierer können eigenen Zustand mitführen, der für die Fortsetzung eines Trainings gespeichert werden muss. (PyTorch Saving and Loading Models) Ein Modellcheckpoint mit Gewichten allein ist deshalb nicht automatisch ein vollständiger Wiederanlaufpunkt.

Optimierer und Lernrate gemeinsam betrachten

Die Lernrate steuert die Stärke der Anpassung und gehört zu den wesentlichen Hyperparametern des Trainings. (Google ML Glossary) PyTorch bietet außerdem Zeitpläne, mit denen sich Lernraten im Verlauf eines Trainings verändern lassen. (PyTorch Optimizers)

Für einen Vergleich würde ich deshalb nicht nur „Adam“ oder „SGD“ notieren, sondern auch deren Einstellungen und den verwendeten Lernratenverlauf. Prüfe die Ergebnisse auf unabhängigen Daten und behalte Laufzeit sowie Speicherbedarf im Blick.

Ein Optimierer verbessert die vorgegebene mathematische Zielgröße. Ob diese Zielgröße deine fachlichen Anforderungen ausreichend abbildet, bleibt eine eigene Aufgabe der Modell- und Evaluationsgestaltung.

Verwandte Begriffe

Der Ablauf verbindet Gradient Descent, Backpropagation, Learning Rate, Hyperparameter und Checkpoint.

Quellen