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 de grandes quantités de données annotées, ce qui peut être coûteux et long à créer. L'apprentissage actif optimise ce processus en identifiant des exemples « incertains » ou « difficiles » — ceux situés près 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 instances 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 très efficace pour les projets ayant des budgets ou des contraintes de temps limités.
Link to this sectionComment 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 avec un petit ensemble de données d'entraînement étiquetées utilisé pour entraîner un modèle initial, tel qu'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.
Link to this sectionApplications 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 certifié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 — comme des tumeurs au stade précoce ou des anomalies rares — permettant à l'expert de se concentrer uniquement sur les images qui améliorent réellement la capacité de diagnostic 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 des cas limites, tels que des piétons portant des costumes ou la conduite sous une forte 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.
Link to this sectionExemple en Python : Filtrer les prédictions incertaines#
L'exemple suivant démontre une logique simple d'« échantillonnage par incertitude » utilisant Ultralytics YOLO26. Nous chargeons un modèle, exécutons l'inférence sur des images et marquons celles où le score de confiance est inférieur à un certain seuil pour une révision 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.")Link to this sectionDistinguer 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 basées sur les 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 celui 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 cherche des étiquettes de vérité terrain statiques auprès d'un oracle, plutôt que d'optimiser une séquence d'actions pour une récompense.
Link to this sectionIntégration avec MLOps#
La mise en œuvre efficace de l'apprentissage actif nécessite un pipeline Machine Learning Operations (MLOps) robuste. Tu as besoin d'une infrastructure pour gérer le versioning des données, déclencher des tâches de ré-entraînement et servir 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, puis à 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 approfondir les stratégies d'échantillonnage, les chercheurs se réfèrent souvent à des enquêtes complètes dans la littérature sur l'apprentissage actif. De plus, comprendre les métriques d'évaluation de modèle est crucial pour vérifier que la boucle d'apprentissage actif améliore réellement les performances.






