Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Adam Optimierer

Erfahren Sie, wie der Adam effizientes Training neuronaler Netze mit adaptiven Lernraten, Dynamik und realen Anwendungen in der KI ermöglicht.

Adam (Adaptive Moment Estimation) ist ein hochentwickelter und weit verbreiteter Optimierungsalgorithmus, der zur Aktualisierung die Parameter eines neuronalen Netzes während des Trainingsprozesses zu aktualisieren. Durch die Kombination der besten Eigenschaften von zwei anderen populären Erweiterungen von Stochastic Gradient Descent (SGD)- insbesondere Adaptive Gradient Algorithm (AdaGrad) und Root Mean Square Propagation (RMSProp)Adam berechnetAdam adaptive Lernraten für jeden einzelnen Parameter. Diese Fähigkeit erlaubt es, spärliche Gradienten bei verrauschten Problemen effizient zu behandeln, was es zu einer Standardwahl für das Training komplexer Deep Learning (DL)-Architekturen, einschließlich der neuesten YOLO11 .

Wie Adam funktioniert

Der Kernmechanismus hinter Adam beinhaltet die Berechnung der ersten und zweiten Momente der Gradienten, um die Lernrate für jedes Gewicht im neuronalen neuronalen Netzwerk anzupassen. Sie können sich das "erste Moment" kann man sich als das Momentum vorstellen, das die Optimierung in die richtige Richtung lenkt, ähnlich wie eine schwere Kugel, die die einen Hügel hinunterrollt. Das "zweite Moment" verfolgt die unzentrierte Varianz und skaliert effektiv die Schrittgröße basierend auf der historischen Größe der Gradienten.

Während der Backpropagation berechnet der Algorithmus den Gradienten der Verlustfunktion in Bezug auf die Gewichte. Adam aktualisiert dann exponentiell gleitende Mittelwerte des Gradienten (Momentum) und des quadrierten Gradienten (Varianz). Diese gleitenden Mittelwerte werden zur Skalierung des aktuellen Gradienten verwendet, um sicherzustellen, dass das Modell größere Schritte in Richtungen mit konsistenten Gradienten und kleinere Schritte in Richtungen mit hoher Varianz macht. Dieser Prozess wird in der ursprünglichen Adam von Kingma und Ba.

Unterscheidung zwischen Adam und anderen Optimierern

Um zu verstehen, wann Adam verwendet werden sollte, muss man ihn mit anderen gängigen Algorithmen vergleichen, die in maschinellem Lernen (ML) zu finden sind.

  • Stochastischer Gradientenabstieg (SGD): SGD aktualisiert die Parameter mit einer festen Lernrate (oder einem einfachen Abklingplan). SGD ist zwar rechenintensiv effizient ist und oft gut verallgemeinert, kann es mit "Sattelpunkten" in der Verlustlandschaft zu kämpfen haben und konvergiert langsamer als Adam. Viele Computer-Vision-Aufgaben verwenden SGD für die Feinabstimmung, um die maximale Genauigkeit zu erreichen.
  • RMSProp: Dieser Optimierer befasst sich hauptsächlich mit den abnehmenden Lernraten in AdaGrad. Adam verbessert RMSProp durch durch Hinzufügen des Impulsterms, der dazu beiträgt, Oszillationen zu dämpfen und die Konvergenz in Richtung des Minimums zu beschleunigen.
  • AdamW: Eine Variante, bekannt als Adam mit entkoppeltem Gewichtsabfall AdamW) wird häufig für das Training moderner Transformatoren und große Computer-Vision-Modelle. Sie trennt die Regularisierung des Gewichtsabfalls von der Aktualisierung des Gradienten, was oft zu einer besseren Generalisierung führt als Adam.

Anwendungsfälle in der Praxis

Aufgrund seiner Robustheit und minimalen Anforderungen an die Hyperparameter-Abstimmung wird Adam in verschiedenen in verschiedenen Bereichen mit hohen Anforderungen eingesetzt.

  1. KI im Gesundheitswesen: Wenn Training von Modellen für medizinische Bildanalyse - wie zum Beispieldie Erkennung Anomalien in MRT-Scans - können die Daten spärlich oder unausgewogen sein. Die adaptiven Lernraten von Adam helfen dem Modell, schnell zu konvergieren schnell konvergieren, selbst wenn bestimmte Merkmale in den Trainingsdaten auftauchen, was eine schnellere Bereitstellung von Diagnosewerkzeuge.
  2. Verarbeitung natürlicher Sprache (NLP): Große Sprachmodelle (LLMs) wie GPT-4 stützen sich beim Pre-Training stark auf Adam (oder AdamW). Der Algorithmus bewältigt effizient die enorme Anzahl von Parametern - oft in Milliardenhöhe - und die spärliche Natur von Worteinbettungen, Dadurch können diese Modelle komplexe linguistische Muster aus riesigen Textdatensätzen wie Wikipedia.

Verwendung in Ultralytics YOLO

Wenn Sie die Ultralytics Python verwenden, können Sie einfach den den Adam für das Training von Objekterkennungs-, Segmentierungs- oder Posenschätzungsmodellen auswählen. Während SGD der Standard Standard für viele YOLO ist, ist Adam eine hervorragende Alternative für kleinere Datensätze oder wenn eine schnelle Konvergenz Vorrang hat.

Das folgende Beispiel zeigt, wie man eine YOLO11 Modell mit Hilfe des Adam trainiert wird:

from ultralytics import YOLO

# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")

Diese Flexibilität ermöglicht es Forschern und Ingenieuren, mit Optimierer-Konfigurationen zu experimentieren, um das beste Setup für ihre für ihre spezifischen Datensätze zu finden.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten