Glossar

Adam Optimierer

Erfahre, wie der Adam-Optimierer ein effizientes Training neuronaler Netze mit adaptiven Lernraten, Schwung und realen Anwendungen in der KI ermöglicht.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Adam (Adaptive Moment Estimation) ist ein weit verbreiteter Optimierungsalgorithmus, der häufig beim Deep Learning (DL) und beim maschinellen Lernen (ML) eingesetzt wird. Er wurde entwickelt, um die Netzwerkgewichte während des Trainingsprozesses effizient zu aktualisieren, indem die Lernrate für jeden Parameter einzeln angepasst wird. In der Veröffentlichung"Adam: A Method for Stochastic Optimization" von Diederik P. Kingma und Jimmy Ba vorgestellt, kombiniert Adam die Vorteile von zwei anderen beliebten Optimierungstechniken: AdaGrad (Adaptive Gradient Algorithm) und RMSprop(Root Mean Square Propagation). Diese Kombination macht es besonders effektiv für das Training großer neuronaler Netze mit zahlreichen Parametern und komplexen Datensätzen.

Wie Adam funktioniert

Adam berechnet adaptive Lernraten für jeden Parameter auf der Grundlage von Schätzungen der ersten und zweiten Momente der Gradienten. Im Wesentlichen verfolgt es einen exponentiell abklingenden Durchschnitt der vergangenen Gradienten (ähnlich wie Momentum) und einen exponentiell abklingenden Durchschnitt der vergangenen quadrierten Gradienten (ähnlich wie AdaGrad/RMSprop).

  • Schwung: Er hilft, den Gradientenabstieg in die entsprechende Richtung zu beschleunigen und dämpft Schwingungen, was zu einer schnelleren Konvergenz führt.
  • Adaptive Lernraten: Sie passt die Lernrate für jedes Gewicht an, je nachdem, wie häufig und wie groß die Aktualisierungen in der Vergangenheit waren. Parameter mit großen oder häufigen Aktualisierungen erhalten kleinere Lernraten, während Parameter mit kleinen oder seltenen Aktualisierungen größere Lernraten erhalten. Dies ist besonders nützlich für Probleme mit spärlichen Gradienten oder verrauschten Daten.
  • Verzerrungskorrektur: Adam enthält einen Mechanismus, der der anfänglichen Verzerrung der Momentschätzungen gegen Null entgegenwirkt, insbesondere in den frühen Phasen des Trainings, wenn sich die Abklingmittelwerte noch in der Initialisierungsphase befinden.

Im Vergleich zu einfacheren Algorithmen wie dem stochastischen Gradientenabstieg (SGD), der eine einzige, feste Lernrate verwendet (oder eine, die nach einem Zeitplan abfällt), ermöglicht Adams Anpassung pro Parameter oft einen schnelleren Fortschritt bei der Suche nach einer guten Lösung, insbesondere bei komplexen Verlustlandschaften.

Vorteile von Adam

Adam ist aus mehreren Gründen beliebt:

  • Effiziente Berechnung: Es benötigt relativ wenig Speicherplatz und ist recheneffizient.
  • Gute Standardleistung: Die voreingestellten Hyperparameter funktionieren oft gut bei einer Vielzahl von Problemen, so dass eine umfangreiche Anpassung der Hyperparameter nicht notwendig ist.
  • Eignung für große Probleme: Sie eignet sich gut für Probleme mit großen Datensätzen und hochdimensionalen Parameterräumen, wie sie in den Bereichen Computer Vision (CV) und Natural Language Processing (NLP) üblich sind.
  • Behandelt nicht-stationäre Zielsetzungen: Es ist gut geeignet für Probleme, bei denen sich die Zielfunktion im Laufe der Zeit ändert.
  • Effektiv bei spärlichen Gradienten: Die adaptiven Lernraten machen es für Szenarien geeignet, in denen die Gradienten spärlich sind.

Beispiele aus der realen Welt

Adam ist der ideale Optimierer für viele moderne Modelle:

Beispiel 1: Computer Vision

In der Computer Vision wird Adam häufig verwendet, um tiefe Convolutional Neural Networks (CNNs) für Aufgaben wie Bildklassifizierung, Objekterkennung und Bildsegmentierung zu trainieren. Zum Beispiel kann das Training eines Ultralytics YOLO Modells zur Erkennung von Objekten in Bildern(wie im COCO-Datensatz) oder zur Segmentierung von Instanzen kann Adam für eine effiziente Konvergenz während der Trainingsphase genutzt werden. Es wird auch in der medizinischen Bildanalyse für Aufgaben wie die Tumorerkennung eingesetzt.

Beispiel 2: Natürliche Sprachverarbeitung

Adam ist ein Standard-Optimierer für das Training großer Sprachmodelle (LLMs) wie BERT und GPT-Varianten. Beim Training von Modellen für Aufgaben wie maschinelle Übersetzung, Textzusammenfassung oder Stimmungsanalyse hilft Adam dabei, die komplexen Verlustfunktionen, die mit diesen großen(transformatorbasierten) Modellen verbunden sind, effizient zu steuern.

Verwendung in Ultralytics YOLO

Im Ultralytics sind Adam und seine Variante AdamW (Adam mit entkoppeltem Gewichtsabfall) als Optimierer für das Training von Ultralytics YOLO verfügbar. Die Nutzung der adaptiven Lernraten von Adam kann die Konvergenz beim Training von Objekterkennungs-, Instanzsegmentierungs- oder Posenschätzungsmodellen wie YOLO11 Während SGD oft der Standardoptimierer ist und für einige YOLO empfohlen wird, weil er potenziell eine bessere Generalisierung ermöglicht(Vermeidung von Überanpassung), bietet Adam eine robuste Alternative, die in bestimmten Szenarien oder bei ersten Experimenten und der Modellbewertung besonders nützlich ist. Du kannst den Optimierer und andere Trainingseinstellungen einfach konfigurieren. Tools wie Ultralytics HUB vereinfachen den Prozess und ermöglichen es den Nutzern, Modelle mit verschiedenen Optimierern, einschließlich Adam, entweder lokal oder über Cloud-Training zu trainieren. Frameworks wie PyTorch und TensorFlow bieten Standardimplementierungen von Adam, die im Ultralytics Framework verwendet werden. Für weitere Leistungsverbesserungen können Techniken wie Wissensdestillation oder die Erforschung verschiedener Modellarchitekturen in Betracht gezogen werden.

Alles lesen