Entdecken Sie den Adam für Deep Learning. Erfahren Sie, wie er Momentum und RMSProp kombiniert, um eine schnellere Konvergenz in Modellen wie Ultralytics zu erreichen.
Der Adam , kurz für Adaptive Moment Estimation, ist ein hochentwickelter Optimierungsalgorithmus, der häufig zum Trainieren von Deep-Learning-Modellen verwendet wird. Er revolutionierte das Gebiet, indem er die Vorteile zweier anderer beliebter Erweiterungen des stochastischen Gradientenabstiegs (SGD) kombinierte: Adaptive Gradient Algorithm (AdaGrad) und Root Mean Square Propagation (RMSProp). Durch die Berechnung individueller adaptiver Lernraten für verschiedene Parameter aus Schätzungen des ersten und zweiten Moments der Gradienten Adam neuralen Netzen eine deutlich schnellere Konvergenz als herkömmliche Methoden. Seine Robustheit und minimalen Anpassungsanforderungen machen ihn zur Standardwahl für viele Praktiker, die ein neues Machine-Learning-Projekt (ML) starten.
Im Kern beinhaltet das Training eines Modells die Minimierung einer Verlustfunktion, die die Differenz zwischen den Vorhersagen des Modells und den tatsächlichen Daten misst. Standardalgorithmen verwenden in der Regel eine konstante Schrittweite (Lernrate), um die „Verlustlandschaft” in Richtung des minimalen Fehlers abzusteigen. Diese Landschaft ist jedoch oft komplex und weist Schluchten und Plateaus auf, in denen einfachere Algorithmen stecken bleiben können.
Adam dieses Problem, indem es für jeden Parameter zwei historische Puffer bereitstellt:
Diese Kombination ermöglicht es dem Optimierer, in flachen Bereichen der Landschaft größere Schritte zu machen und in steilen oder verrauschten Bereichen kleinere, vorsichtigere Schritte. Die spezifischen Mechanismen werden in der grundlegenden Adam von Kingma und Ba detailliert beschrieben, die ihre empirische Überlegenheit bei verschiedenen Deep-Learning-Aufgaben (DL) demonstrierte.
Die Vielseitigkeit des Adam hat dazu geführt, dass er in nahezu allen Bereichen der künstlichen Intelligenz (KI)
Obwohl Adam im Allgemeinen schneller Adam , ist es wichtig, es von der stochastischen Gradientenabstiegsmethode (SGD) zu unterscheiden. SGD die Modellgewichte unter Verwendung einer festen Lernrate und wird oft für die letzten Phasen des Trainings modernster Objekterkennungsmodelle bevorzugt, da es manchmal eine etwas bessere Generalisierung (endgültige Genauigkeit) bei Testdaten erzielen kann.
Adam jedoch „adaptiv“, d. h., es übernimmt die Anpassung der Lernrate automatisch. Dadurch ist es für erste Experimente und komplexe Architekturen, bei denen die Anpassung SGD schwierig SGD , wesentlich benutzerfreundlicher. Für Benutzer, die Experimente auf der Ultralytics verwalten, ist der Wechsel zwischen diesen Optimierern zum Vergleich der Leistung oft ein wichtiger Schritt bei der Hyperparameteranpassung.
Moderne Frameworks wie PyTorch und die Ultralytics machen die Verwendung von Adam . Eine beliebte Variante namens AdamW (Adam Gewichtsabnahme) wird oft empfohlen, da sie Probleme mit der Regularisierung im ursprünglichen Adam behebt. Dies ist besonders effektiv für die neuesten Architekturen wie YOLO26, die von der Stabilität profitieren, die AdamW .
Das folgende Beispiel zeigt, wie ein YOLO26-Modell mit dem AdamW trainiert wird:
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 Stanford CS231n Optimization Notes hervorragende Visualisierungen zum Adam mit anderen Algorithmen wie RMSProp und AdaGrad. Darüber hinaus enthält die PyTorch Documentation technische Details zu den Argumenten und Implementierungsspezifikationen, die für die Anpassung verfügbar sind.