Glossar

Rückruf

Erfahre, welche wichtige Rolle Rückrufe beim maschinellen Lernen spielen - Werkzeuge, die das Modelltraining überwachen, steuern und automatisieren, um die Genauigkeit, Flexibilität und Effizienz zu verbessern.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Beim maschinellen Lernen, insbesondere beim komplexen Prozess des Trainings neuronaler Netze, ist ein Callback ein mächtiges Hilfsmittel. Dabei handelt es sich im Wesentlichen um ein Objekt oder eine Funktion, die dazu dient, bestimmte Aktionen in verschiedenen Phasen eines Verfahrens auszuführen, meistens während des Modelltrainings oder der Auswertung. Betrachte Callbacks als automatische Haken oder Auslöser, die es dir ermöglichen, interne Zustände zu überwachen, Modellstatistiken zu beobachten, Entscheidungen zu treffen oder benutzerdefinierten Code auszuführen, ohne den Trainingsprozess manuell zu unterbrechen. Sie sind ein wichtiger Mechanismus, um das Verhalten von Trainingsschleifen und anderen sequenziellen Operationen in beliebten Deep Learning (DL) -Frameworks wie TensorFlow und PyTorch.

Wie Rückrufe funktionieren

Rückrufe funktionieren auf der Grundlage eines ereignisgesteuerten Systems. Sie werden in der Regel als Liste an eine Hauptfunktion übergeben, z. B. an eine train Methode innerhalb einer Maschinelles Lernen (ML) Framework. Das Framework ist so konzipiert, dass diese Rückrufe zu bestimmten Zeitpunkten, den sogenannten "Ereignissen", aufgerufen werden. Häufige Ereignisse sind der Beginn oder das Ende des gesamten Trainingsprozesses, der Beginn oder das Ende eines Epocheoder auch vor oder nach der Bearbeitung einer einzelnen Losgröße von Daten. Wenn ein bestimmtes Ereignis eintritt, führt das Framework die entsprechende(n) Callback-Funktion(en) aus und übergibt dabei oft relevante Informationen über den aktuellen Zustand, wie die aktuelle Epochennummer, Verlustfunktion Wert oder Leistungskennzahlen - als Argumente. So kann der Callback dynamisch mit dem laufenden Prozess interagieren und ihn auf der Grundlage von Echtzeitinformationen beeinflussen.

Wichtige Anwendungen und Anwendungsfälle

Rückrufe sind unglaublich vielseitig und ermöglichen eine breite Palette von Funktionen, die für eine effektive Modellentwicklung und -schulung unerlässlich sind:

  • Überwachung der Modellleistung: Verfolge Metriken wie Verlust und Genauigkeit der Trainings- und Validierungsdaten während des Trainings. Die Ergebnisse können in der Konsole protokolliert, in Dateien gespeichert oder mit Tools wie TensorBoard visualisiert werden.
  • Modell-Checkpointing: Regelmäßige automatische Speicherung der Modellgewichte, wobei oft nur die leistungsstärkste Version auf der Grundlage einer ausgewählten Metrik (z. B. Validierungsgenauigkeit oder Verlust) gespeichert wird. So wird sichergestellt, dass das beste Modell nicht verloren geht, wenn das Training unterbrochen wird oder die Leistung später nachlässt.
  • Frühzeitiges Anhalten: Überwache eine Leistungskennzahl (wie den Validierungsverlust) und halte den Trainingsprozess automatisch an, wenn sich die Kennzahl für eine bestimmte Anzahl von Epochen nicht mehr verbessert. Das verhindert eine Überanpassung und spart Rechenressourcen.
  • Dynamische Anpassungen: Ändern Sie die Trainingsparameter im laufenden Betrieb. Ein gängiges Beispiel ist die dynamische Anpassung der Lernrate auf der Grundlage des Trainingsfortschritts, wobei die Rate oft reduziert wird, wenn die Leistung nicht mehr ausreicht (Lernratenplanung).
  • Protokollierung und Berichterstattung: Senden Sie Protokolle, Metriken und Aktualisierungen des Trainingsfortschritts an externe Überwachungssysteme oder Experiment-Tracking-Plattformen wie Weights & Biases oder Ultralytics HUB und unterstützt so die MLOps-Praktiken.
  • Ressourcenmanagement: Implementiere benutzerdefinierte Logik zur Verwaltung von Systemressourcen, wie z. B. das Löschen von GPU Speicher-Caches in bestimmten Abständen. Weitere Vorschläge findest du in unserem Leitfaden zu den Tipps für die Modellschulung.

Beispiele aus der Praxis

  1. Speichern des besten Objekterkennungsmodells: Beim Training eines Ultralytics YOLO Modell für die Objekterkennung trainierst, kannst du einen ModelCheckpoint Callback verwenden. Dieser Callback überwacht die mittlere durchschnittliche Genauigkeit (mAP) im Validierungsdatensatz. Er speichert die Gewichte des Modells nur dann in einer Datei, wenn sich das mAP-Ergebnis im Vergleich zum zuvor gespeicherten besten Ergebnis verbessert. Vergleiche die Leistung verschiedener YOLO auf unserer Modellvergleichsseite.
  2. Verhinderung von Overfitting bei der Bildklassifizierung: Stell dir vor, du trainierst ein Modell zur Bildklassifizierung auf einem komplexen Datensatz wie ImageNet. Ein EarlyStopping-Callback kann konfiguriert werden, um den Validierungsverlust zu überwachen. Wenn der Validierungsverlust z. B. 10 aufeinander folgende Epochen lang nicht abnimmt, stoppt der Callback automatisch das Training. So wird verhindert, dass das Modell zu sehr an die Trainingsdaten angepasst wird, und es werden viel Zeit und Kosten gespart. Erforsche die Aufgaben der Bildklassifizierung weiter.

Vorteile der Verwendung von Rückrufen

Die Integration von Rückrufen in den Workflow des maschinellen Lernens bietet mehrere bedeutende Vorteile:

  • Automatisierung: Callbacks automatisieren sich wiederholende Aufgaben wie das Speichern von Modellen, das Protokollieren von Metriken und das Anpassen von Parametern, sodass bei langen Trainingsläufen weniger manuelle Eingriffe nötig sind.
  • Flexibilität und Anpassbarkeit: Sie ermöglichen es den Entwicklern, benutzerdefinierte Logik in die Trainingsschleife einzufügen, ohne den Kerncode des Frameworks zu ändern, und ermöglichen so ein maßgeschneidertes Trainingsverhalten. Dies ist besonders nützlich für komplexe Experimente oder die Abstimmung von Hyperparametern.
  • Effizienz: Rückrufe wie Early Stopping und dynamische Lernratenanpassung können das Training effizienter machen, indem sie Rechenressourcen einsparen und die Konvergenz möglicherweise beschleunigen.
  • Einblicke und Überwachung: Sie bieten tiefe Einblicke in die Trainingsdynamik, indem sie eine detaillierte Protokollierung und Visualisierung von Kennzahlen im Zeitverlauf ermöglichen.
  • Reproduzierbarkeit: Durch die Standardisierung von Aktionen, die während des Trainings durchgeführt werden (z. B. Speicherkriterien, Abbruchbedingungen), tragen Rückrufe dazu bei, dass Experimente zum maschinellen Lernen besser reproduzierbar sind.

Frameworks wie Keras und PyTorch Lightning bieten umfangreiche Sammlungen integrierter Callbacks und einfache Schnittstellen für die Erstellung eigener Callbacks. Ultralytics setzt Callbacks auch intern in seinen Trainingspipelines ein und trägt so zur Robustheit und Benutzerfreundlichkeit von Tools wie Ultralytics YOLO11 und der Ultralytics HUB-Plattform bei. In der Ultralytics findest du genauere Beispiele für die YOLO .

Alles lesen