Explorez le rôle essentiel des callbacks dans l'apprentissage automatique—des outils qui surveillent, contrôlent et automatisent l'entraînement des modèles pour une précision, une flexibilité et une efficacité améliorées.
Dans le domaine de l'apprentissage automatique (ML), un callback est une fonction ou un bloc de code polyvalent fonction polyvalente ou un bloc de code conçu pour s'exécuter automatiquement à des étapes spécifiques d'un processus informatique. Dans le dans le contexte de la formation des réseaux neuronaux (NN), les rappels servent de "crochets" qui interagissent avec le cycle de vie de la cycle de vie de l'apprentissage pour effectuer des actions telles que l'enregistrement des métriques, la sauvegarde des résultats intermédiaires ou l'ajustement des contrôles, enregistrer les résultats intermédiaires ou ajuster les paramètres de contrôle. En découplant ces tâches auxiliaires de la boucle d'apprentissage principale, les développeurs peuvent créer des systèmes de formation modulaires et efficaces. principale, les développeurs peuvent créer des flux de travail modulaires, lisibles et hautement personnalisables sans modifier l'algorithme de base. de l'algorithme.
Un processus de formation typique itère sur un ensemble de données pendant un certain nombre de passages, appelés époques. nombre de passages, appelés époques. Au cours de ce cycle, le système système effectue des passes avant pour faire des prédictions et des passes arrière pour mettre à jour les données. rétropropagation pour mettre à jour les poids du modèle. Les rappels interviennent à des "événements" prédéfinis "prédéfinis au sein de cette boucle, tels que le début de la formation, la fin d'un lot ou l'achèvement d'une époque.
L'objet Trainer dans des frameworks comme Ultralytics gère ces événements. Lorsqu'un événement spécifique se produit, le formateur exécute toutes les fonctions de rappel enregistrées, en leur transmettant l'état actuel du modèle. l'état actuel du modèle. Ce mécanisme est fondamental pour les MLOps modernes, permettant l'observabilité l 'observabilité en temps réel et l'intervention automatisée.
Les callbacks sont indispensables pour optimiser les performances et l'utilisation des ressources dans l'apprentissage profond (DL). l 'apprentissage profond (DL).
Le ultralytics fournit une API simple pour attacher des rappels personnalisés à des modèles tels que
YOLO11. Cela permet aux utilisateurs d'injecter une logique spécifique, telle que
l'impression de mises à jour d'état ou l'interaction avec des API externes, directement dans le pipeline de formation.
L'exemple suivant montre comment ajouter une simple fonction de rappel qui imprime un message de confirmation à la fin de chaque épisode d'apprentissage. période d'apprentissage :
from ultralytics import YOLO
def on_train_epoch_end(trainer):
"""Callback function to print the current epoch number after it finishes."""
print(f"Custom Callback: Epoch {trainer.epoch + 1} completed successfully.")
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Register the custom callback for the 'on_train_epoch_end' event
model.add_callback("on_train_epoch_end", on_train_epoch_end)
# Train the model with the registered callback
model.train(data="coco8.yaml", epochs=2)
Pour utiliser efficacement les callbacks, il est utile de les distinguer des termes similaires utilisés dans le génie logiciel et la science des données. données.
L'utilisation de rappels se traduit directement par des agents et des applications d'IA plus robustes et plus efficaces. plus robustes et plus efficaces. Par exemple, dans les véhicules autonomes, l'apprentissage de modèles le traitement de grandes quantités de données de capteurs. Les rappels permettent aux ingénieurs de sélectionner automatiquement les modèles les plus performants dans les cas difficiles, sans surveillance manuelle. sur les cas limites difficiles sans surveillance manuelle. De même, dans l'analyse l'analyse d'images médicales, les rappels peuvent déclencher des alertes ou une journalisation approfondie si le modèle commence à mémoriser les données du patient (surajustement) au lieu d'apprendre des caractéristiques généralisables, ce qui garantit une grande fiabilité pour le déploiement clinique. des caractéristiques généralisables, ce qui garantit une grande fiabilité pour le déploiement clinique.
En tirant parti des rappels, les développeurs qui utilisent des frameworks tels que PyTorch ou TensorFlow peuvent construire des systèmes autorégulés qui temps, réduisent les erreurs et maximisent les performances de leurs solutions de vision par ordinateur (VA).