Adam Optimizer
Erkunde den Adam-Optimierer für Deep Learning. Erfahre, wie er Momentum und RMSProp für eine schnellere Konvergenz in Modellen wie Ultralytics YOLO26 kombiniert.
Der Adam-Optimierer, kurz für Adaptive Momentenschätzung, ist ein ausgefeilter Optimierungsalgorithmus, der häufig zum Trainieren von Deep-Learning-Modellen eingesetzt wird. Er hat das Fachgebiet revolutioniert, indem er die Vorteile zweier weiterer beliebter Erweiterungen des stochastischen Gradientenabstiegs (SGD) kombiniert: des adaptiven Gradientenalgorithmus (AdaGrad) und der Weiterleitung des quadratischen Mittelwerts (RMSProp). Durch die Berechnung individueller adaptiver Lernraten für verschiedene Parameter anhand von Schätzungen der ersten und zweiten Momente der Gradienten ermöglicht Adam eine deutlich schnellere Konvergenz von neuronalen Netzen als herkömmliche Methoden. Seine Robustheit und der minimale Abstimmungsaufwand machen ihn zur Standardwahl für viele Anwender, die ein neues Projekt für maschinelles Lernen (ML) starten.
Funktionsweise von Adam#
Im Kern geht es beim Trainieren eines Modells darum, eine Verlustfunktion zu minimieren, die den Unterschied zwischen den Vorhersagen des Modells und den tatsächlichen Daten misst. Standardalgorithmen verwenden typischerweise eine konstante Schrittweite (Lernrate), um sich entlang der „Verlustlandschaft“ in Richtung des Fehlerminimums zu bewegen. Diese Landschaft ist jedoch häufig komplex und weist Schluchten und Plateaus auf, in denen einfachere Algorithmen stecken bleiben können.
Adam begegnet diesem Problem, indem für jeden Parameter zwei historische Puffer verwaltet werden:
-
Impuls (erstes Moment): Ähnlich wie eine schwere Kugel, die einen Hügel hinunterrollt, verfolgt dieser Puffer den gleitenden Mittelwert vergangener Gradienten, um die Geschwindigkeit in der relevanten Richtung beizubehalten.
-
Varianz (zweites Moment): Dieser Puffer verfolgt den gleitenden Mittelwert der quadrierten Gradienten, der die Lernrate skaliert.
Diese Kombination ermöglicht es dem Optimierer, in flachen Bereichen der Landschaft größere Schritte und in steilen oder verrauschten Bereichen kleinere, vorsichtigere Schritte zu machen. Die genauen Mechanismen werden im grundlegenden Forschungsartikel zu Adam von Kingma und Ba ausführlich beschrieben, der die empirische Überlegenheit des Verfahrens bei verschiedenen Aufgaben des Deep Learning (DL) demonstrierte.
Anwendungen in der Praxis#
Die Vielseitigkeit des Adam-Optimierers hat zu seiner Verbreitung in nahezu allen Bereichen der künstlichen Intelligenz (AI) geführt.
- Verarbeitung natürlicher Sprache (NLP): Große Sprachmodelle wie generative vortrainierte Transformer (GPT) nutzen Adam (oder seine Variante AdamW) intensiv für das Training. Der Algorithmus verarbeitet die mit umfangreichen Vokabularen und großen Datensätzen verbundenen spärlichen Gradienten effizient und ermöglicht so die Entwicklung leistungsfähiger Chatbots und Übersetzungssysteme.
- Computervision im Gesundheitswesen: Bei der Analyse medizinischer Bilder müssen Modelle subtile Anomalien wie Tumore in MRT-Aufnahmen erkennen. Adam hilft faltenden neuronalen Netzen (CNNs), schnell Lösungen mit hoher Genauigkeit zu erreichen, was für die Entwicklung diagnostischer Werkzeuge für AI im Gesundheitswesen entscheidend ist.
Adam im Vergleich zu SGD#
Obwohl Adam im Allgemeinen schneller konvergiert, ist es wichtig, ihn vom stochastischen Gradientenabstieg (SGD) zu unterscheiden. SGD aktualisiert die Modellgewichte mithilfe einer festen Lernrate und wird in den letzten Trainingsphasen hochmoderner Modelle zur Objekterkennung häufig bevorzugt, da es bei Testdaten manchmal eine etwas bessere Verallgemeinerung (Endgenauigkeit) erreichen kann.
Adam ist jedoch „adaptiv“, das heißt, er übernimmt die Abstimmung der Lernrate automatisch. Dadurch ist er für erste Experimente und komplexe Architekturen, bei denen die Abstimmung von SGD schwierig wäre, deutlich benutzerfreundlicher. Für Anwender, die Experimente auf der Ultralytics Platform verwalten, ist der Wechsel zwischen diesen Optimierern zum Vergleich ihrer Leistung häufig ein wichtiger Schritt bei der Abstimmung von Hyperparametern.
Implementierung mit Ultralytics#
Moderne Frameworks wie PyTorch und die Ultralytics-Bibliothek machen die Verwendung von Adam unkompliziert. Eine beliebte Variante namens AdamW (Adam mit Gewichtszerfall) wird häufig empfohlen, da sie Probleme bei der Regularisierung des ursprünglichen Adam-Algorithmus behebt. Dies ist besonders für die neuesten Architekturen wie YOLO26 wirksam, die von der Stabilität profitieren, die AdamW bietet.
Das folgende Beispiel zeigt, wie du ein Ultralytics-YOLO26-Modell mit dem AdamW-Optimierer trainierst:
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimizer
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")Für Entwickler, die sich für die tieferen theoretischen Grundlagen interessieren, bieten Ressourcen wie die Optimierungsnotizen zu Stanford CS231n hervorragende Visualisierungen dazu, wie Adam im Vergleich zu anderen Algorithmen wie RMSProp und AdaGrad abschneidet. Zusätzlich bietet die Dokumentation zu PyTorch-Optimierern technische Details zu den verfügbaren Argumenten und Implementierungsdetails für Anpassungen.









