Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Apprentissage Actif

Découvrez l'apprentissage actif, une méthode d'apprentissage automatique rentable qui améliore la précision avec moins d'étiquettes. Découvrez comment il transforme la formation en IA !

Active Learning is a strategic approach in machine learning (ML) where the algorithm proactively selects the most informative data points for labeling, rather than passively accepting a pre-labeled dataset. In traditional supervised learning, models often require massive amounts of annotated data, which can be expensive and time-consuming to create. Active learning optimizes this process by identifying "uncertain" or "hard" examples—those near the decision boundary or where the model lacks confidence—and requesting human annotators to label only those specific instances. This iterative loop allows models to achieve high accuracy with significantly fewer labeled samples, making it highly efficient for projects with limited budgets or time constraints.

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 d' être entraîné une seule fois sur un ensemble de données statique, le modèle évolue à travers des cycles de requêtes et de mises à jour.

  1. Initialisation: le processus commence par un petit ensemble de données d'apprentissage étiquetées utilisées pour entraîner un modèle initial, tel que Ultralytics .
  2. Sélection des requêtes: le modèle évalue un vaste ensemble de données non étiquetées. À l'aide d'une stratégie de requête(le plus souvent l'échantillonnage d'incertitude), il sélectionne les images ou les textes pour lesquels ses prédictions sont les moins fiables.
  3. Annotation: ces échantillons hautement prioritaires sont envoyés à un expert humain, souvent appelé « oracle » dans la littérature sur l'apprentissage actif, pour le libellé des données.
  4. Réentraînement: les données nouvellement étiquetées sont ajoutées à l'ensemble d'entraînement, et le modèle est réentraîné. Ce modèle mis à jour est alors mieux équipé pour sélectionner le prochain lot d'échantillons prêtant à confusion.

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 engendre des coûts élevés.

  • Analyse d'images médicales: Dans des domaines tels que 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 clairs, un système d'apprentissage actif peut filtrer les cas ambigus , tels que les tumeurs à un stade précoce ou les anomalies rares, permettant ainsi à 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. Il est impossible d'étiqueter chaque image. L'apprentissage actif aide les ingénieurs à identifier les cas limites, tels que les piétons portant des costumes ou la conduite dans des conditions de forte neige, que les modèles standard de détection d'objets pourraient ne pas détecter. En donnant la priorité à ces scénarios rares, les entreprises améliorent la sécurité sans gaspiller de ressources sur des séquences répétitives filmées sur autoroute.

Python : filtrage des prédictions incertaines

L'exemple suivant illustre une logique simple d'« échantillonnage d'incertitude » à l'aide d' Ultralytics . Nous chargeons un modèle, effectuons une inférence sur des images et signalons celles dont le score de confiance est inférieur à un certain seuil pour un examen manuel.

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 d'autres paradigmes de formation 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 en fonction des prédictions à haut niveau de confiance du modèle . En revanche, l'apprentissage actif demande explicitement une intervention humaine pour les prédictions à faible niveau de confiance.
  • Apprentissage par transfert: Il s'agit d'utiliser 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 les 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 statiques de vérité fondamentale à partir d'un oracle, plutôt que d'optimiser une séquence d'actions pour obtenir une récompense.

Intégration avec MLOps

La mise en œuvre efficace de l'apprentissage actif nécessite un pipeline robuste de Machine Learning Operations (MLOps) . Vous avez besoin d'une infrastructure pour gérer le versionnage des données, déclencher des tâches de réentraînement et fournir l'interface d'annotation aux utilisateurs. Les outils qui s'intègrent à Ultralytics permettent aux utilisateurs de passer de manière transparente 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'intégrer rapidement de nouveaux lots de données d'apprentissage actif dans leurs YOLO .

Pour en savoir plus sur les stratégies d'échantillonnage, les chercheurs se réfèrent souvent à des enquêtes exhaustives dans la littérature sur l'apprentissage actif. De plus, il est essentiel de comprendre les mesures d'évaluation des modèles pour vérifier que la boucle d'apprentissage actif améliore réellement les performances.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant