Adam Optimizer
Entdecke den Adam-Optimierer für Deep Learning. Erfahre, wie er Momentum und RMSProp kombiniert, um die Konvergenz in Modellen wie Ultralytics YOLO26 zu beschleunigen.
Der Adam-Optimierer, kurz für adaptive Momentenschätzung, ist ein ausgefeilter Optimierungsalgorithmus, der häufig zum Trainieren von Deep-Learning-Modellen verwendet wird. Er hat das Fachgebiet geprägt, indem er die Vorteile zweier weiterer verbreiteter Erweiterungen des stochastischen Gradientenabstiegs (SGD) kombiniert: des adaptiven Gradientenverfahrens (AdaGrad) und der mittleren quadratischen Ausbreitung (RMSProp). Adam berechnet für verschiedene Parameter individuelle, adaptive Lernraten anhand der geschätzten ersten und zweiten Momente der Gradienten. Dadurch können neuronale Netze deutlich schneller konvergieren als mit herkömmlichen Verfahren. Dank seiner Robustheit und des geringen Abstimmungsaufwands ist Adam für viele Anwenderinnen und Anwender die Standardwahl bei einem neuen Projekt des maschinellen Lernens (ML).
So funktioniert Adam#
Im Kern geht es beim Training eines Modells darum, eine Verlustfunktion zu minimieren, die die Abweichung zwischen den Vorhersagen des Modells und den tatsächlichen Daten misst. Standardalgorithmen nutzen meist eine konstante Schrittweite (Lernrate), um sich im „Verlustbereich“ in Richtung des minimalen Fehlers zu bewegen. Dieser Bereich ist jedoch oft komplex und weist Schluchten und Plateaus auf, an denen einfachere Algorithmen hängen bleiben können.
Adam hält für jeden Parameter zwei historische Puffer vor:
-
Impuls (erstes Moment): Ähnlich wie eine schwere Kugel, die einen Hügel hinunterrollt, bildet dieser Puffer den gleitenden Durchschnitt früherer Gradienten ab und erhält so die Geschwindigkeit in der relevanten Richtung.
-
Varianz (zweites Moment): Dieser Puffer bildet den gleitenden Durchschnitt der quadrierten Gradienten ab und skaliert dadurch die Lernrate.
Durch diese Kombination kann der Optimierer in flachen Bereichen des Verlustbereichs größere und in steilen oder verrauschten Bereichen kleinere, vorsichtigere Schritte ausführen. Die genauen Abläufe werden in der wegweisenden Adam-Forschungsarbeit von Kingma und Ba erläutert, die Adams empirische Überlegenheit bei verschiedenen Aufgaben des Deep Learning (DL) nachwies.
Anwendungen in der Praxis#
Dank der Vielseitigkeit des Adam-Optimierers wird er in praktisch allen Bereichen der künstlichen Intelligenz (AI) eingesetzt.
- Verarbeitung natürlicher Sprache (NLP): Große Sprachmodelle wie generative vortrainierte Transformer (GPT) verwenden Adam oder seine Variante AdamW intensiv für das Training. Der Algorithmus verarbeitet effizient die dünn besetzten Gradienten großer Wortschätze und umfangreicher Datensätze. So lassen sich leistungsstarke Chatbots und Übersetzungssysteme entwickeln.
- Computer Vision im Gesundheitswesen: Bei der medizinischen Bildanalyse müssen Modelle feine Anomalien wie Tumore in MRT-Aufnahmen erkennen. Adam hilft faltenden neuronalen Netzen (CNNs), schnell Lösungen mit hoher Genauigkeit zu erreichen. Das ist entscheidend für die Entwicklung diagnostischer Tools für KI im Gesundheitswesen.
Adam und SGD im Vergleich#
Adam konvergiert im Allgemeinen schneller, doch es ist wichtig, Adam vom stochastischen Gradientenabstieg (SGD) zu unterscheiden. SGD aktualisiert Modellgewichte anhand einer festen Lernrate und wird für die letzten Trainingsschritte hochmoderner Objekterkennungsmodelle oft bevorzugt, weil es bei Testdaten manchmal eine etwas bessere Verallgemeinerung (Endgenauigkeit) erzielt.
Adam ist jedoch „adaptiv“ und passt die Lernrate automatisch an. Dadurch ist Adam benutzerfreundlicher für erste Experimente und komplexe Architekturen, bei denen sich SGD nur schwer abstimmen lässt. Wer Experimente auf der Ultralytics Platform verwaltet, vergleicht die Leistung häufig durch den Wechsel zwischen diesen Optimierern. Das ist ein wichtiger Schritt bei der Abstimmung der Hyperparameter.
Implementierung mit Ultralytics#
Moderne Frameworks wie PyTorch und die Ultralytics-Bibliothek erleichtern die Verwendung von Adam. Eine verbreitete Variante namens AdamW (Adam mit Gewichtsabnahme) wird oft empfohlen, da sie Probleme bei der Regularisierung des ursprünglichen Adam-Algorithmus behebt. Das ist besonders effektiv bei den neuesten Architekturen wie YOLO26, die von der Stabilität durch AdamW profitieren.
Das folgende Beispiel zeigt, wie du ein Ultralytics YOLO26-Modell mit dem AdamW-Optimierer trainierst:
from ultralytics import YOLO
# Modernstes YOLO26n-Modell laden
model = YOLO("yolo26n.pt")
# Modell mit dem Optimierer 'AdamW' trainieren
# Mit dem Argument 'optimizer' kannst du einfach zwischen SGD, Adam, AdamW usw. wechseln
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")Für Entwicklerinnen und Entwickler, die sich für die theoretischen Grundlagen interessieren, bieten Ressourcen wie die Optimierungsnotizen des Stanford-CS231n-Kurses anschauliche Darstellungen dazu, wie Adam im Vergleich zu anderen Algorithmen wie RMSProp und AdaGrad abschneidet. Außerdem enthält die PyTorch-Dokumentation zu Optimierern technische Details zu den verfügbaren Argumenten und Implementierungsoptionen, die angepasst werden können.









