Glossar

Adam Optimierer

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

Adam (Adaptive Moment Estimation) ist ein weit verbreiteter Optimierungsalgorithmus, der in großem Umfang 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. Das in der Veröffentlichung"Adam: A Method for Stochastic Optimization" von Diederik P. Kingma und Jimmy Ba vorgestellte Verfahren kombiniert die Vorteile zweier anderer beliebter Optimierungsverfahren: 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 vergangener Gradienten (ähnlich wie Momentum) und einen exponentiell abklingenden Durchschnitt vergangener quadratischer Gradienten (ähnlich wie AdaGrad/RMSprop).

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

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 rechenintensiv.
  • Gute Standardleistung: Die voreingestellten Hyperparameter funktionieren oft gut bei einer Vielzahl von Problemen, wodurch sich die Notwendigkeit einer umfangreichen Abstimmung der Hyperparameter verringert.
  • Eignung für große Probleme: Es 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 geeignet für Szenarien, in denen die Gradienten spärlich sind.

Beispiele aus der Praxis

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. Beim 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 eingesetzt werden. Es wird auch in der medizinischen Bildanalyse für Aufgaben wie die Tumorerkennung eingesetzt.

Beispiel 2: Verarbeitung natürlicher Sprache

Adam ist ein Standardoptimierer 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 bei der effizienten Navigation durch die komplexe Verlustfunktionslandschaft, die mit diesen großen(transformatorbasierten) Modellen verbunden ist.

Verwendung in Ultralytics YOLO

Innerhalb des Ultralytics-Ökosystems sind Adam und seine Variante AdamW (Adam mit entkoppeltem Gewichtsabfall) verfügbare Optimierer für das Training von Ultralytics YOLO-Modellen. Die Nutzung der adaptiven Lernraten von Adam kann die Konvergenz während des Trainings von Objekterkennungs-, Instanzsegmentierungs- oder Posenschätzungsmodellen wie YOLO11 oder YOLOv10 beschleunigen. Während SGD aufgrund der potenziell besseren endgültigen Generalisierung(Vermeidung von Überanpassung) oft der Standardoptimierer für einige YOLO-Modelle ist, bietet Adam eine robuste Alternative, die in bestimmten Szenarien oder während der anfänglichen Experimente und der Modellbewertung besonders nützlich ist. Sie können den Optimierer und andere Trainingseinstellungen leicht konfigurieren. Tools wie Ultralytics HUB rationalisieren den Prozess und ermöglichen es den Benutzern, 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.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert