Découvrez comment l'apprentissage actif optimise la formation en IA. Apprenez à utiliser Ultralytics pour identifier les données informatives, réduire les coûts d'étiquetage 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 pour l'étiquetage, plutôt que d'accepter passivement un ensemble de données pré-étiquetées. Dans l'apprentissage supervisé traditionnel, les modèles nécessitent souvent des quantités massives de données annotées, dont la création peut être coûteuse et prendre beaucoup de temps. L'apprentissage actif optimise ce processus en identifiant les exemples « incertains » ou « difficiles » (ceux qui se trouvent près de la limite de décision ou pour lesquels le modèle manque de confiance) et en demandant aux annotateurs humains de n'étiqueter que ces instances spécifiques . Cette boucle itérative permet aux modèles d'atteindre une grande précision avec beaucoup moins d'échantillons étiquetés, ce qui la rend très efficace pour les projets dont le budget ou le temps sont limités.
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.