Active Learning
Découvre comment l’apprentissage actif optimise l’entraînement de l’IA. Apprends à utiliser Ultralytics YOLO26 pour identifier les données informatives, réduire les coûts d’annotation et améliorer la précision.
L'apprentissage actif est une approche stratégique de l'apprentissage automatique (ML) dans laquelle l'algorithme sélectionne de manière proactive les points de données les plus informatifs à annoter, au lieu d'accepter passivement un jeu de données préannoté. Dans l'apprentissage supervisé traditionnel, les modèles nécessitent souvent d'immenses quantités de données annotées, dont la création peut être coûteuse et chronophage. L'apprentissage actif optimise ce processus en identifiant les exemples « incertains » ou « difficiles » — ceux qui se trouvent près de la frontière de décision ou pour lesquels le modèle manque de confiance — et en demandant à des annotateurs humains d'étiqueter uniquement ces instances spécifiques. Cette boucle itérative permet aux modèles d'atteindre une précision élevée avec beaucoup moins d'échantillons annotés, ce qui la rend particulièrement efficace pour les projets soumis à des contraintes de budget ou de temps.
Fonctionnement du cycle d'apprentissage actif#
Le principe fondamental de l'apprentissage actif repose sur une boucle de rétroaction souvent appelée human-in-the-loop. Au lieu d'être entraîné une seule fois sur un jeu de données statique, le modèle évolue au fil de cycles de requête et de mise à jour.
-
Initialisation : le processus commence par un petit ensemble de données d'entraînement annotées, utilisé pour entraîner un modèle initial, tel que Ultralytics YOLO26.
-
Sélection des requêtes : le modèle évalue un vaste ensemble de données non annotées. À l'aide d'une stratégie de requête — le plus souvent l'échantillonnage par incertitude —, il sélectionne les images ou les textes pour lesquels ses prédictions sont les moins fiables.
-
Annotation : ces échantillons prioritaires sont envoyés à un expert humain, souvent appelé « oracle » dans la littérature sur l'apprentissage actif, pour l'étiquetage des données.
-
Réentraînement : les nouvelles données annotées sont ajoutées à l'ensemble d'entraînement, puis le modèle est réentraîné. Ce modèle mis à jour est alors mieux à même de sélectionner le prochain lot d'échantillons difficiles à classer.
Applications concrètes#
L'apprentissage actif est indispensable dans les secteurs où les données sont abondantes, mais où leur annotation nécessite des connaissances spécialisées ou engendre des coûts élevés.
- Analyse d'images médicales : dans des domaines comme la radiologie, l'annotation nécessite des experts certifiés dont le temps est extrêmement précieux. Plutôt que de demander à un médecin d'annoter des milliers d'examens sans ambiguïté, un système d'apprentissage actif peut filtrer les cas ambigus — comme les tumeurs à un stade précoce ou les anomalies rares — afin de permettre à l'expert de se concentrer uniquement sur les images qui améliorent réellement les capacités diagnostiques du modèle.
- Véhicules autonomes : les voitures autonomes génèrent des pétaoctets de données vidéo. Il est impossible d'annoter chaque image. L'apprentissage actif aide les ingénieurs à identifier les cas limites, comme les piétons portant des costumes ou les trajets effectués sous de fortes chutes de neige, que les modèles standard de détection d'objets pourraient manquer. En donnant la priorité à ces situations rares, les entreprises améliorent la sécurité sans gaspiller de ressources sur des séquences répétitives d'autoroute.
Exemple Python : filtrage des prédictions incertaines#
L'exemple suivant illustre une logique simple d'« échantillonnage par incertitude » utilisant Ultralytics YOLO26. Nous chargeons un modèle, effectuons l'inférence sur des images et signalons celles dont le score de confiance est inférieur à un certain seuil pour une vérification manuelle.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")Distinction entre concepts connexes#
Il est important de distinguer l'apprentissage actif des paradigmes d'entraînement similaires :
- Apprentissage semi-supervisé : bien que les deux méthodes utilisent des données non annotées, l'apprentissage semi-supervisé attribue automatiquement des pseudo-étiquettes aux données en fonction des prédictions du modèle présentant une forte confiance. À l'inverse, l'apprentissage actif sollicite explicitement l'intervention humaine pour les prédictions à faible confiance.
- Apprentissage par transfert : cette méthode consiste à prendre un modèle préentraîné (par exemple, entraîné sur ImageNet) et à l'adapter à une nouvelle tâche. L'apprentissage actif se concentre sur les données à annoter, tandis que l'apprentissage par transfert se concentre sur la réutilisation des caractéristiques apprises.
- Apprentissage par renforcement : ici, un agent apprend en interagissant avec un environnement et en recevant des récompenses. L'apprentissage actif est différent, car il recherche des annotations statiques de vérité terrain auprès d'un oracle, au lieu d'optimiser une séquence d'actions en fonction d'une récompense.
Intégration avec les MLOps#
La mise en œuvre efficace de l'apprentissage actif nécessite un pipeline robuste d'opérations de machine learning (MLOps). Tu as besoin d'une infrastructure pour gérer le versionnage des données, déclencher les tâches de réentraînement et mettre l'interface d'annotation à la disposition des utilisateurs. Les outils qui s'intègrent à l'écosystème Ultralytics permettent aux utilisateurs de passer facilement de l'inférence à la curation des données, puis à l'entraînement. Par exemple, l'utilisation de scripts d'entraînement personnalisés permet aux développeurs d'intégrer rapidement de nouveaux lots de données d'apprentissage actif à leurs modèles YOLO.
Pour approfondir les stratégies d'échantillonnage, les chercheurs consultent souvent des études de synthèse complètes dans la littérature sur l'apprentissage actif. Il est également essentiel de comprendre les métriques d'évaluation des modèles pour vérifier que la boucle d'apprentissage actif améliore effectivement les performances.









