Découvrez comment l'apprentissage semi-supervisé combine des données étiquetées et non étiquetées pour améliorer la précision des modèles. Apprenez à mettre en œuvre des workflows SSL à l'aide Ultralytics .
L'apprentissage semi-supervisé (SSL) est un paradigme stratégique dans l' apprentissage automatique (ML) qui sert de pont entre deux méthodes d'entraînement traditionnelles. Alors que l' apprentissage supervisé repose entièrement sur des ensembles de données entièrement annotés et que l' apprentissage non supervisé tente de trouver des modèles dans des données sans aucune balise, le SSL fonctionne en combinant une petite quantité de données étiquetées avec un ensemble beaucoup plus important de données non étiquetées. Cette approche est particulièrement précieuse dans les scénarios réels de vision par ordinateur (CV) où la collecte d' images brutes, telles que les séquences vidéo provenant de caméras de sécurité ou de satellites, est relativement peu coûteuse, mais où le processus d' étiquetage des données par des experts humains est coûteux, lent et demande beaucoup de main-d'œuvre. En utilisant efficacement la structure cachée dans les exemples non étiquetés, SSL peut améliorer considérablement la précision et la généralisation du modèle sans nécessiter un budget d'annotation exhaustif.
L'objectif principal du SSL est de propager les informations contenues dans le petit ensemble d'exemples étiquetés vers l'ensemble plus large non étiqueté. Cela permet au réseau neuronal d' apprendre les limites de décision qui traversent les régions à faible densité des données, ce qui se traduit par une classification ou une détection plus robuste.
Deux techniques populaires sont à l'origine de la plupart des flux de travail semi-supervisés :
Python suivant illustre un workflow simple de pseudo-étiquetage à l'aide de l'outil ultralytics . Ici, nous entraînons un modèle YOLO26 sur un petit ensemble de données, puis l'utilisons pour générer des étiquettes pour un répertoire d'images non étiquetées.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train initially on a small available labeled dataset
model.train(data="coco8.yaml", epochs=10)
# Run inference on unlabeled data to generate pseudo-labels
# Setting save_txt=True saves the detections as text files for future training
results = model.predict(source="./unlabeled_images", save_txt=True, conf=0.85)
L'apprentissage semi-supervisé transforme les secteurs où les données sont abondantes mais l'expertise rare.
Pour déployer efficacement des solutions d'IA, il est essentiel de comprendre en quoi le SSL diffère des stratégies similaires :
À mesure que les modèles d'apprentissage profond (DL) gagnent en taille, l' efficacité de l'utilisation des données devient primordiale. Les frameworks modernes tels que PyTorch et TensorFlow fournissent l'infrastructure informatique nécessaire à ces boucles d'apprentissage avancées . De plus, des outils tels que la Ultralytics simplifient le cycle de vie de la gestion des ensembles de données. En utilisant des fonctionnalités telles que l' annotation automatique, les équipes peuvent mettre en œuvre plus facilement des workflows semi-supervisés, transformant rapidement les données brutes en pondérations de modèles prêts à être utilisés. Cette évolution des MLOps garantit que les obstacles à la création de systèmes de vision haute précision continuent de s'amenuiser.
Commencez votre parcours avec l'avenir de l'apprentissage automatique