Curriculum Learning
Découvre comment l’apprentissage par curriculum améliore l’entraînement en machine learning. Apprends à utiliser des séquences de données structurées pour accroître la précision et la convergence d’Ultralytics YOLO26.
L'apprentissage par curriculum est une stratégie d'entraînement en apprentissage automatique inspirée de la manière dont les humains apprennent, en commençant par des concepts simples avant d'introduire progressivement des concepts plus complexes. Au lieu de présenter les données d'entraînement à un modèle dans un ordre aléatoire, les échantillons d'entraînement sont explicitement structurés en une séquence de difficulté croissante. Cette approche organisée de l'exposition d'un réseau de neurones aux données peut favoriser une convergence plus rapide, une meilleure généralisation et une robustesse globale accrue dans les tâches complexes.
Cette progression structurée se distingue de l'apprentissage continu, qui vise à ajouter de nouvelles tâches à un modèle sans lui faire oublier les précédentes. Dans l'apprentissage par curriculum, l'objectif reste le même, mais la séquence des données d'entraînement est organisée de manière stratégique.
Fonctionnement de l'apprentissage par curriculum#
L'idée centrale de l'apprentissage par curriculum est que l'initialisation des paramètres d'un modèle à l'aide d'exemples plus faciles le guide vers un meilleur minimum local dans le paysage de la fonction de perte. À mesure que le modèle maîtrise les caractéristiques de base, le protocole d'entraînement introduit des exemples plus difficiles, ce qui lui permet d'affiner sa compréhension et d'apprendre des détails plus complexes.
La mise en œuvre de l'apprentissage par curriculum comprend deux composants principaux :
-
Métrique de difficulté : une méthode pour évaluer la complexité de chaque exemple d'entraînement. En vision par ordinateur, cette évaluation peut être fondée sur la taille des objets, l'occlusion ou la netteté de l'image.
-
Planificateur d'entraînement : une fonction de planification qui détermine quand et comment les exemples plus difficiles sont introduits dans le processus d'entraînement.
Par exemple, lors de l'entraînement d'Ultralytics YOLO26 pour la détection d'objets, tu peux commencer par entraîner le modèle sur des images contenant un seul objet net et centré. À mesure que l'entraînement progresse, le planificateur introduit des images contenant plusieurs objets, une forte occlusion ou des conditions d'éclairage variables. Cela permet au modèle d'assimiler les caractéristiques fondamentales des objets avant de s'attaquer à des situations complexes du monde réel.
Applications concrètes#
L'apprentissage par curriculum s'est révélé bénéfique dans divers domaines de l'IA, en particulier pour les jeux de données bruités ou les tâches très complexes.
- Véhicules autonomes : lors de l'entraînement de systèmes de conduite autonome, les modèles sont d'abord entraînés à reconnaître les marquages au sol de base et les panneaux routiers clairement visibles. Ce n'est qu'après avoir maîtrisé ces éléments fondamentaux qu'ils sont exposés à des situations complexes comme de fortes pluies, des déplacements imprévisibles de piétons ou des intersections complexes, ce qui améliore la sécurité de l'IA et la fiabilité.
- Analyse d'images médicales : lors du développement de modèles pour l'analyse d'images médicales, une approche par curriculum peut consister à commencer par des images médicales nettes et à fort contraste montrant des tumeurs évidentes, avant de passer à des images présentant des anomalies subtiles ou des artéfacts d'imagerie.
Avantages et considérations#
Les recherches menées par des institutions telles que Google AI et OpenAI mettent continuellement en évidence les avantages des protocoles d'entraînement structurés. En concevant soigneusement la séquence d'entraînement, les développeurs peuvent souvent obtenir une précision supérieure et réduire le risque de surapprentissage.
Cependant, définir la « difficulté » d'un exemple n'est pas toujours simple. Un curriculum mal conçu peut parfois ralentir l'entraînement ou biaiser le modèle. Les approches modernes, telles que celles présentées dans les récentes publications arXiv sur l'apprentissage à rythme adaptatif, permettent au modèle de déterminer lui-même dynamiquement la difficulté des exemples en fonction de sa perte actuelle, automatisant ainsi la conception du curriculum.
Pour gérer efficacement des jeux de données personnalisés et expérimenter différentes stratégies d'entraînement, des outils tels que l'Ultralytics Platform fournissent un environnement rationalisé pour l'annotation des données, la structuration des séparations de données et le suivi de la progression de l'entraînement.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# A conceptual example of manually implementing a simple curriculum
# Phase 1: Train on 'easy' dataset (e.g., clear, large objects)
model.train(data="easy_dataset.yaml", epochs=50, imgsz=640)
# Phase 2: Fine-tune on 'hard' dataset (e.g., occluded, small objects)
model.train(data="hard_dataset.yaml", epochs=50, imgsz=640)Dans cet exemple simplifié, le modèle apprend d'abord les caractéristiques fondamentales à partir d'un jeu de données plus facile avant de s'adapter à des données plus difficiles, simulant ainsi un curriculum de base en deux étapes.









