Active Learning
Découvre comment l'apprentissage actif (Active Learning) optimise l'entraînement en IA. Apprends à utiliser Ultralytics YOLO26 pour identifier des données informatives, réduire les coûts d'étiquetage et booster la précision.
L'apprentissage actif est une approche stratégique en machine learning (ML) où l'algorithme sélectionne de manière proactive les points de données les plus informatifs pour l'étiquetage, plutôt que d'accepter passivement un jeu de données pré-étiqueté. Dans l'apprentissage supervisé traditionnel, les modèles nécessitent souvent des quantités massives de données annotées, ce qui peut s'avérer coûteux et long à produire. L'apprentissage actif optimise ce processus en identifiant des exemples « incertains » ou « difficiles » — ceux proches de la frontière de décision ou là où le modèle manque de confiance — et en demandant à des annotateurs humains d'étiqueter uniquement ces cas spécifiques. Cette boucle itérative permet aux modèles d'atteindre une précision élevée avec beaucoup moins d'échantillons étiquetés, ce qui le rend extrêmement efficace pour les projets disposant d'un budget ou de contraintes de temps limités.
Comment fonctionne le cycle d'apprentissage actif#
Le cœur de l'apprentissage actif est une boucle de rétroaction souvent appelée human-in-the-loop. Au lieu de s'entraîner une seule fois sur un jeu de données statique, le modèle évolue à travers des cycles de requête et de mise à jour.
-
Initialisation : Le processus commence par un petit ensemble de données d'entraînement étiquetées utilisé pour entraîner un modèle initial, tel que Ultralytics YOLO26.
-
Sélection de requête : Le modèle évalue un grand pool de données non étiquetées. En utilisant une stratégie de requête — le plus souvent l'échantillonnage par incertitude — il sélectionne les images ou le texte pour lesquels ses prédictions sont les moins fiables.
-
Annotation : Ces échantillons hautement 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 étiquetées sont ajoutées au jeu d'entraînement et le modèle est ré-entraîné. Ce modèle mis à jour est alors mieux équipé pour sélectionner le lot suivant d'échantillons complexes.
Applications concrètes#
L'apprentissage actif est indispensable dans les secteurs où les données sont abondantes, mais où l'étiquetage nécessite des connaissances spécialisées ou des coûts élevés.
- Analyse d'images médicales : Dans des domaines comme la radiologie, l'étiquetage nécessite des experts agréés dont le temps est extrêmement précieux. Plutôt que de demander à un médecin d'annoter des milliers de scans évidents, un système d'apprentissage actif peut filtrer les cas ambigus — tels que les tumeurs à un stade précoce ou les anomalies rares — permettant à l'expert de se concentrer uniquement sur les images qui améliorent réellement la capacité diagnostique du modèle.
- Véhicules autonomes : Les voitures autonomes génèrent des pétaoctets de données vidéo. Étiqueter chaque image est impossible. L'apprentissage actif aide les ingénieurs à identifier les cas limites, tels que des piétons portant des costumes ou conduisant dans de fortes chutes de neige, que les modèles de détection d'objets standard pourraient manquer. En priorisant ces scénarios rares, les entreprises améliorent la sécurité sans gaspiller de ressources sur des séquences d'autoroute répétitives.
Exemple en Python : Filtrer les prédictions incertaines#
The following example demonstrates a simple "uncertainty sampling" logic using Ultralytics YOLO26. We load a model, run inference on images, and flag those where the confidence score is below a certain threshold for manual review.
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.")Distinguer les concepts apparentés#
Il est important de différencier l'apprentissage actif des paradigmes d'entraînement similaires :
- Apprentissage semi-supervisé : Bien que les deux méthodes utilisent des données non étiquetées, l'apprentissage semi-supervisé attribue automatiquement des pseudo-étiquettes aux données sur la base des prédictions à haute confiance du modèle. En revanche, l'apprentissage actif demande explicitement une intervention humaine sur les prédictions à faible confiance.
- Apprentissage par transfert : Cela implique de prendre un modèle pré-entraîné (comme un modèle entraîné sur ImageNet) et de l'adapter à une nouvelle tâche. L'apprentissage actif se concentre sur quelles données étiqueter, 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 étiquettes de vérité terrain statiques auprès d'un oracle, plutôt d'optimiser une séquence d'actions pour obtenir une récompense.
Intégration avec MLOps#
Mettre en œuvre l'apprentissage actif efficacement nécessite un pipeline Machine Learning Operations (MLOps) robuste. Tu as besoin d'une infrastructure pour gérer le versionnage des données, déclencher des tâches de réentraînement et présenter l'interface d'annotation aux humains. 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 et à l'entraînement. Par exemple, l'utilisation de scripts d'entraînement personnalisés permet aux développeurs d'incorporer rapidement de nouveaux lots de données d'apprentissage actif dans leurs modèles YOLO.
Pour aller plus loin sur les stratégies d'échantillonnage, les chercheurs se réfèrent souvent à des synthèses complètes dans la littérature sur l'apprentissage actif. De plus, comprendre les métriques d'évaluation des modèles est crucial pour vérifier que la boucle d'apprentissage actif améliore réellement les performances.






