Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Apprentissage contrastif

Découvrez la puissance de l'apprentissage contrastif, une technique auto-supervisée pour des représentations de données robustes avec un minimum de données étiquetées.

L'apprentissage contrastif est une technique technique d'apprentissage automatique qui permet aux modèles d'apprendre des représentations robustes des données sans nécessiter d'étiquettes manuelles. d'apprendre des représentations robustes des données sans nécessiter d'étiquettes manuelles. En apprenant à un réseau neuronal à distinguer les points de données points de données similaires et dissemblables, cette approche permet aux algorithmes de comprendre la structure sous-jacente d'un ensemble de données. Au lieu de Au lieu de prédire directement une catégorie spécifique, le modèle apprend en comparant des paires d'exemples, en tirant des représentations d'éléments apparentés, connues sous le nom de paires positives. d'exemples, en rapprochant les représentations d'éléments apparentés - connues sous le nom de paires positives - dans l'espace de dans l'espace d'intégration, tout en éloignant les éléments non liés négatifs - plus éloignés les uns des autres. Cette capacité en fait la pierre angulaire de l'apprentissage l 'apprentissage auto-supervisé moderne, permettant d'exploiter de grandes quantités de données non étiquetées.

Comment fonctionne l'apprentissage contrastif

Le mécanisme central de l'apprentissage contrastif s'articule autour du concept de discrimination des instances. Le processus de formation processus d'apprentissage implique généralement trois éléments clés : l'augmentation des données, un réseau d'encodage et une fonction de perte contrastive. contrastive.

  • Augmentation des données: Pour créer une paire positive, un système prend une image originale (l'"ancre") et applique des transformations aléatoires, telles que le recadrage, le retournement ou l'altération des couleurs. transformations aléatoires, telles que le recadrage, le retournement ou l'altération des couleurs. Ces vues augmentées représentent le même contenu sémantique sémantique, mais sont différentes en termes de pixels.
  • Réseau d'encodeurs: A réseau neuronal convolutif (CNN) ou un transformateur de vision (ViT) traite à la fois l'ancre et ses versions augmentées pour produire des vecteurs de caractéristiques. Des cadres tels que PyTorch sont couramment utilisés pour mettre en œuvre ces architectures.
  • Perte contrastive: Une fonction de perte, telle que la perte InfoNCE, optimise le modèle en minimisant la distance entre les deux modèles. InfoNCE, optimise le modèle en minimisant la distance entre les paires positives et en maximisant la distance entre les échantillons ancrés et négatifs (généralement d'autres images de la même région). paires positives et en maximisant la distance entre l'ancrage et les échantillons négatifs (généralement d'autres images dans la même taille de lot). même taille de lot). Des recherches de référence telles que SimCLR de Google Research a démontré l'efficacité de cette méthode pour l'apprentissage des représentations visuelles. pour l'apprentissage des représentations visuelles.

Applications concrètes

Les représentations acquises grâce aux méthodes contrastives sont hautement transférables à des tâches en aval.

  1. Recherche et recommandation visuelles: En L'IA dans le commerce de détail, l'apprentissage contrastif moteurs de recherche sémantique. En cartographiant les images produits dans un espace vectoriel où les articles visuellement similaires sont regroupés, les plateformes de commerce électronique peuvent recommander produits qui correspondent au style ou aux caractéristiques de l'image demandée par l'utilisateur, ce qui améliore l'expérience client.
  2. Pré-entraînement pour la détection d'objets: Les modèles peuvent être pré-entraînés sur des ensembles de données massifs et non étiquetés en utilisant des objectifs contrastifs avant d'être affinés pour des tâches spécifiques telles que la détection d'objets. objectifs contrastifs avant d'être affinés pour des tâches spécifiques telles que la détection d'objets. la détection d'objets. Cette stratégie, souvent employée avant d'entraîner des architectures avancées telles que YOLO11, améliore considérablement les performances et la vitesse de convergence, en particulier lorsque les données étiquetées sont rares (un scénario connu sous le nom d'apprentissage à quelques coups). d 'apprentissage).

Apprentissage contrastif et concepts connexes

Il est utile de comprendre la distinction entre l'apprentissage contrastif et les autres paradigmes pour choisir la bonne approche. approche.

  • Vs. Apprentissage supervisé: L'apprentissage supervisé traditionnel s'appuie sur de vastes ensembles de données où chaque image nécessite un étiquetage manuel des données. manuelle des données. L'apprentissage contrastif génère ses propres signaux de supervision à partir des données elles-mêmes, réduisant ainsi les coûts d'annotation. propres signaux de supervision à partir des données elles-mêmes, ce qui réduit les coûts d'annotation.
  • Vs. Autoencodeurs: Bien qu'ils soient tous deux non supervisés, les autoencodeurs visent généralement à reconstruire les données d'entrée pixel par pixel. L'apprentissage contrastif L'apprentissage contrastif se concentre sur l'apprentissage de caractéristiques discriminantes qui séparent les différentes instances, ce qui permet souvent d'obtenir des représentations plus significatives pour les tâches de classification. des représentations plus significatives pour les tâches de classification.
  • Vs. CLIP: Le CLIP (Contrastive Language-Image Pre-training) d'OpenAI est une application spécifique de l'apprentissage contrastif. Alors que l'apprentissage contrastif l'apprentissage contrastif standard compare des images à des images, CLIP compare des images à des descriptions textuelles, ce qui permet des capacités d'IA multimodales. des capacités d'IA multimodale.

Exemple : Utilisation des caractéristiques apprises

Bien que l'apprentissage d'une boucle contrastive complète nécessite des calculs importants, vous pouvez utiliser des modèles qui ont appris des caractéristiques robustes grâce à des techniques de pré-entraînement similaires. robustes grâce à des techniques de pré-entraînement similaires. L'exemple suivant montre le chargement d'un modèle de classification d'images pour traiter une image, qui utilise les capacités d'extraction de caractéristiques sous-jacentes. qui utilise les capacités d'extraction de caractéristiques sous-jacentes optimisées au cours de la formation.

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
# The backbone of this model has learned to extract powerful features
model = YOLO("yolo11n-cls.pt")

# Run inference on a sample image
# This process utilizes the learned feature embeddings to predict the class
results = model("https://ultralytics.com/images/bus.jpg")

# Display the top predicted class names
print(results[0].names[results[0].probs.top1])

Défis et orientations futures

Malgré son succès, l'apprentissage contrastif est confronté à des défis. Il nécessite une sélection minutieuse des paires négatives ; si les échantillons négatifs sont trop faciles à distinguer, le modèle cesse d'apprendre efficacement. Si les échantillons négatifs sont trop faciles à distinguer, le modèle cesse d'apprendre efficacement. Des méthodes comme MoCo (Momentum Contrast) ont introduit des banques de mémoire pour gérer efficacement un grand nombre d'échantillons négatifs. d'échantillons négatifs de manière efficace. En outre, l'apprentissage nécessite souvent des ressources informatiques importantes, telles que les GPU à haute performance. Au fur et à mesure Ultralytics continue d'explorer ces techniques en R&D pour les modèles à venir comme Ultralytics . YOLO26, dans le but de fournir des systèmes de détection plus rapides, plus petits et plus précis en affinant la façon dont les modèles apprennent. plus rapides, plus petits et plus précis en affinant la façon dont les modèles apprennent à partir de données diverses et non traitées.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant