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 .
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.
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.
Aufgrund seiner Robustheit und minimalen Anforderungen an die Hyperparameter-Abstimmung wird Adam in verschiedenen in verschiedenen Bereichen mit hohen Anforderungen eingesetzt.
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.