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.
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.
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.
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.")
Il est important de différencier l'apprentissage actif d'autres paradigmes de formation similaires :
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.