Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Programme d'études

Découvrez comment l'apprentissage par curriculum améliore l'entraînement des modèles d'apprentissage automatique. Apprenez à utiliser des séquences de données structurées pour améliorer la précision et la convergence Ultralytics .

L'apprentissage par programme 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 un modèle avec des données d'entraînement 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 consistant à exposer un réseau neuronal à des données peut conduire à une convergence plus rapide, à une meilleure généralisation et à une plus grande robustesse globale dans le cadre de tâches complexes.

Cette progression structurée se distingue de l' apprentissage continu, qui consiste à ajouter de nouvelles tâches à un modèle sans oublier les précédentes. Dans l'apprentissage par programme, l'objectif reste le même, mais la séquence des données d'entraînement est stratégiquement organisée.

Comment fonctionne l'apprentissage par programme scolaire

Le principe fondamental de l'apprentissage par curriculum repose sur le fait que l'initialisation des paramètres d'un modèle à l'aide d'exemples plus simples le guide vers un meilleur minimum local dans le paysage de perte. À mesure que le modèle maîtrise les caractéristiques de base, le programme d'entraînement introduit des exemples plus complexes, ce qui lui permet d'affiner sa compréhension et d'apprendre des détails plus subtils.

La mise en œuvre du programme d'études repose sur deux éléments principaux :

  1. Mesure de difficulté : méthode permettant d'évaluer la complexité de chaque exemple d'apprentissage. En vision par ordinateur, celle-ci peut être basée sur la taille de l'objet, l'occlusion ou la netteté de l'image.
  2. Planificateur d'entraînement : une fonction de progression qui détermine quand et comment des exercices plus difficiles sont intégrés au processus d'entraînement.

Par exemple, lors de l'entraînement Ultralytics pour la détection d'objets, vous pouvez commencer par l'entraîner sur des images comportant un seul objet, bien défini et centré. Au fur et à mesure que l'entraînement progresse, le planificateur introduit des images comportant plusieurs objets, des occlusions importantes ou des conditions d'éclairage variables. Cela permet au modèle d'assimiler les caractéristiques fondamentales des objets avant de s'attaquer à des scénarios complexes issus du monde réel.

Applications concrètes

L'apprentissage par le curriculum s'est révélé efficace dans divers domaines de l'IA, en particulier lorsqu'il s'agit de traiter des ensembles de données bruités ou des tâches très complexes.

  • Véhicules autonomes : lors de l'apprentissage des 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 de signalisation clairs. Ce n'est qu'après avoir maîtrisé ces bases qu'ils sont confrontés à des scénarios complexes tels que de fortes pluies, des mouvements imprévisibles de piétons ou des carrefours complexes, ce qui permet d'améliorer la sécurité et la fiabilité de l'IA.
  • Analyse d'images médicales : lors du développement de modèles destinés à l'analyse d'images médicales, une approche pédagogique pourrait consister à commencer par des clichés clairs et très contrastés de tumeurs évidentes, avant de passer à des clichés présentant des anomalies subtiles ou des artefacts d'imagerie.

Avantages et considérations

Les recherches menées par des institutions telles que Google et OpenAI ne cessent de mettre en évidence les avantages des programmes d'entraînement structurés. En concevant soigneusement la séquence d'entraînement, les développeurs parviennent souvent à obtenir une meilleure précision et à réduire le risque de surapprentissage.

Cependant, définir la « difficulté » d'un exemple n'est pas toujours simple. Un programme d'apprentissage mal conçu peut parfois ralentir l'apprentissage ou introduire un biais dans le modèle. Des approches modernes, telles que celles abordées dans de récentes publications sur arXiv consacrées à l'apprentissage à rythme libre, permettent au modèle lui-même de déterminer de manière dynamique la difficulté des exemples en fonction de sa perte actuelle, automatisant ainsi la conception du programme d'apprentissage.

Pour gérer efficacement les ensembles de données personnalisés et tester différentes stratégies d'apprentissage, des outils tels que la Ultralytics offrent un environnement optimisé pour l' annotation des données, la structuration des divisions de données et le suivi de la progression de l'apprentissage.

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 ensemble de données plus simple avant de s'adapter à des données plus complexes, simulant ainsi un parcours d'apprentissage en deux étapes.

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique