Glossaire

Rappel

Explorez le rôle essentiel des rappels dans l'apprentissage automatique, des outils qui surveillent, contrôlent et automatisent la formation des modèles pour améliorer la précision, la flexibilité et l'efficacité.

Dans l'apprentissage automatique, un rappel est un script ou une fonction automatisé(e) qui est exécuté(e) à des moments spécifiques du processus d'apprentissage d'un modèle. Il s'agit d'un ensemble d'instructions que le cadre de formation suit à des étapes prédéfinies, comme au début ou à la fin d'une époque, d'un lot de formation ou de l'ensemble de la session de formation. Les rappels constituent un mécanisme puissant permettant aux développeurs de surveiller, de contrôler et d'automatiser divers aspects de l'apprentissage sans avoir à modifier le code principal du modèle ou de la boucle d'apprentissage. Ce sont des outils essentiels pour construire des pipelines d'apprentissage automatique (ML) efficaces et robustes.

Fonctionnement des rappels

Lorsque vous formez un réseau neuronal (NN), le processus consiste à itérer sur un ensemble de données pendant plusieurs époques. Une boucle d'apprentissage gère ce processus, qui comprend l'alimentation du modèle en données, le calcul de la fonction de perteet la mise à jour de la les poids du modèle à travers rétropropagation. Les rappels s'insèrent dans cette boucle à l'occasion d'événements spécifiques. Par exemple, un on_epoch_end exécutera son code précisément après la fin de chaque époque. Cela permet des interventions dynamiques, telles que l'ajustement de la valeur du taux d'apprentissageCette automatisation est un élément clé d'une structure bien structurée. Cette automatisation est un élément clé d'un système de formation bien structuré. flux de travail pour l'apprentissage automatique.

Exemples pratiques

Les callbacks sont largement utilisés dans diverses tâches de vision artificielle (CV) pour améliorer les résultats de la formation.

  1. Sauvegarde du meilleur modèle de détection d'objets : Lors de l'entraînement d'un modèle Ultralytics YOLO pour la détection d'objets, vous pouvez utiliser un rappel ModelCheckpoint. Ce rappel surveille la précision moyenne (mAP) sur l'ensemble de données de validation. Elle enregistre les poids du modèle dans un fichier uniquement lorsque le score mAP s'améliore par rapport au meilleur score précédemment enregistré, ce qui vous permet de conserver le modèle le plus précis. Vous pouvez voir les performances de différents modèles sur notre page de comparaison des modèles.
  2. Prévention de l'ajustement excessif dans la classification d'images : Imaginez que vous entraîniez un modèle de classification d'images sur un ensemble de données complexe comme ImageNet. Un callback EarlyStopping peut être configuré pour surveiller la perte de validation. Si la perte de validation ne diminue pas pendant un certain nombre d'époques, le callback arrête automatiquement la formation. Cela empêche le modèle de s'adapter de manière excessive aux données d'apprentissage et permet d'économiser du temps d'apprentissage et des coûts de calcul considérables. Vous pouvez en savoir plus sur les tâches de classification d'images et sur la manière de les mettre en œuvre.

Callbacks et autres concepts

Il est utile de distinguer les rappels des termes apparentés :

  • Les fonctions : Bien qu'un callback soit un type de fonction, sa caractéristique principale est qu'il est transmis en tant qu'argument à une autre fonction (la boucle d'apprentissage) et qu'il est invoqué en interne par cette fonction à un moment précis. Une fonction standard est généralement appelée directement par le programmeur.
  • Crochets : En génie logiciel, un crochet est un terme plus général pour désigner un endroit dans le code qui permet d'insérer une logique personnalisée. Les rappels dans les cadres d'apprentissage automatique sont une mise en œuvre spécifique du concept de crochet, adapté aux événements du cycle de vie de l'apprentissage d'un modèle.
  • Ajustement des hyperparamètres : Il s'agit du processus de recherche des hyperparamètres optimaux (comme le taux d'apprentissage ou la taille du lot) pour un modèle. Les callbacks peuvent contribuer à l'ajustement des hyperparamètres, par exemple en mettant en œuvre un planificateur de taux d'apprentissage, mais ils ne constituent pas le processus d'ajustement proprement dit. Le processus de réglage est une procédure de recherche ou d'optimisation de plus haut niveau.

Avantages de l'utilisation des rappels

L'intégration des rappels dans le processus de formation offre plusieurs avantages significatifs :

  • Automatisation : Les callbacks automatisent les tâches répétitives telles que l'enregistrement des modèles, la consignation des mesures avec des outils comme TensorBoard et l'ajustement des paramètres, ce qui réduit la nécessité d'une intervention manuelle pendant les longs cycles de formation.
  • Flexibilité et personnalisation : Ils permettent aux développeurs d'insérer une logique personnalisée dans la boucle d'apprentissage sans modifier le code de base du cadre, ce qui permet d'obtenir des comportements d'apprentissage très personnalisés. Cela est particulièrement utile pour les expériences complexes ou la mise en œuvre de techniques de formation avancées.
  • Efficacité : Les rappels tels que l'arrêt anticipé et l'ajustement dynamique du taux d'apprentissage peuvent rendre la formation plus efficace en économisant des ressources informatiques et en accélérant potentiellement la convergence du modèle.
  • Connaissance et suivi : Ils fournissent des informations approfondies sur la dynamique de l'apprentissage en permettant l'enregistrement détaillé et la visualisation des paramètres au fil du temps, ce qui est essentiel pour l'évaluation des modèles.
  • Reproductibilité : En normalisant les actions entreprises au cours de la formation (par exemple, les critères d'enregistrement, les conditions d'arrêt), les rappels contribuent à rendre les expériences d'apprentissage automatique plus reproductibles.

Des frameworks tels que Keras et PyTorch Lightning offrent de vastes collections de callbacks intégrés et des interfaces simples pour créer des callbacks personnalisés. Ultralytics exploite également les callbacks en interne dans ses pipelines de formation, contribuant ainsi à la robustesse et à la convivialité d'outils comme Ultralytics YOLO11 et la plateforme Ultralytics HUB. La consultation de la documentation d'Ultralytics peut fournir des exemples plus spécifiques liés à l'apprentissage du modèle YOLO.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers