Glossaire

Apprentissage contrastif

Découvre 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.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

L'apprentissage contrastif est une technique puissante de l'apprentissage machine (ML), particulièrement importante dans l'apprentissage auto-supervisé (SSL). Au lieu de s'appuyer fortement sur des données méticuleusement étiquetées, il apprend des représentations significatives en enseignant à un modèle à faire la distinction entre des points de données similaires et dissemblables. L'idée de base est simple : rapprocher les représentations des exemples "similaires" dans un espace d'intégration, tout en éloignant les représentations des exemples "dissemblables". Cette approche permet aux modèles d'apprendre de riches caractéristiques à partir de grandes quantités de données non étiquetées, qui peuvent ensuite être adaptées à diverses tâches en aval grâce à un réglage fin.

Comment fonctionne l'apprentissage contrastif

Le processus comprend généralement les étapes suivantes :

  1. Augmentation des données : Commence par un point de données non étiqueté (par exemple, une image). Crée deux ou plusieurs versions augmentées de ce point de données. Ces versions augmentées forment une "paire positive" car elles proviennent de la même source et doivent être considérées comme similaires. Les techniques courantes d'augmentation des données comprennent le recadrage aléatoire, l'altération des couleurs, la rotation ou l'ajout de bruit.
  2. Échantillonnage négatif : Sélectionne d'autres points de données de l'ensemble de données (ou du lot actuel) qui sont différents du point de données original. Ceux-ci forment des "paires négatives" avec les augmentations du point de données original.
  3. Encodage : Faire passer les échantillons positifs et négatifs par un réseau neuronal (RN) encodeur, souvent un réseau neuronal convolutif (CNN) pour les images ou un transformateur pour le texte ou les images(Vision Transformer (ViT)). Ce réseau transforme les données d'entrée en représentations de dimensions inférieures, appelées embeddings.
  4. Calcul de la perte : Applique une fonction de perte contrastive, telle que InfoNCE (Noise Contrastive Estimation) ou Triplet Loss. Cette fonction calcule un score basé sur les distances entre les embeddings. Elle encourage les embeddings des paires positives à être proches (faible distance/grande similarité) et les embeddings des paires négatives à être éloignés (forte distance/faible similarité).
  5. Optimisation : Utilise des algorithmes d'optimisation comme la descente stochastique de gradient (SGD) ou Adam pour mettre à jour les poids de l'encodeur en fonction de la perte calculée, en améliorant itérativement la qualité des représentations apprises par rétropropagation.

Apprentissage contrastif et termes connexes

L'apprentissage contrastif diffère des autres paradigmes de ML :

  • Apprentissage supervisé: Nécessite des étiquettes explicites pour chaque point de données (par exemple, "chat", "chien"). L'apprentissage contrastif utilise principalement des données non étiquetées, générant son propre signal de supervision par le biais de l'appariement positif/négatif.
  • Apprentissage non supervisé (regroupement): Les méthodes telles que K-Means regroupent les données sur la base de structures inhérentes. L'apprentissage contrastif forme explicitement un modèle pour créer un espace de représentation où la similarité est définie par les paires positives/négatives, en se concentrant sur l'apprentissage de caractéristiques discriminantes.
  • Modèles génératifs: Les modèles tels que les GAN ou les modèles de diffusion apprennent à générer de nouvelles données ressemblant aux données d'apprentissage. L'apprentissage contrastif se concentre sur l'apprentissage de représentations discriminantes plutôt que sur la génération de données.

Applications dans le monde réel

L'apprentissage contrastif excelle dans l'apprentissage de représentations qui se transfèrent bien à d'autres tâches :

  • Pré-entraînement à la vision par ordinateur : Les modèles tels que SimCLR et MoCo sont pré-entraînés sur de grands ensembles de données d'images non étiquetées (comme ImageNet). Les caractéristiques apprises augmentent considérablement les performances lorsque le modèle est affiné pour des tâches telles que la classification d'images, la détection d'objets à l'aide de modèles tels que Ultralytics YOLO11ou la segmentation sémantique. Par exemple, un modèle pré-entraîné avec l'apprentissage contrastif sur des images générales peut être affiné efficacement pour des tâches spécialisées comme l'analyse d'images médicales ou l'analyse d'images satellites avec moins de données étiquetées.
  • Traitement du langage naturel (NLP) : il est utilisé pour apprendre des enchâssements de phrases ou de documents de haute qualité. Par exemple, des modèles peuvent être formés pour reconnaître que deux phrases formulées différemment et décrivant le même concept (paire positive) doivent avoir des enchâssements similaires, alors que des phrases n'ayant aucun rapport entre elles (paire négative) doivent avoir des enchâssements dissemblables. Ceci est utile pour la recherche sémantique, la réponse aux questions et le regroupement de textes. Le modèle CLIP utilise notamment l'apprentissage contrastif pour faire le lien entre les représentations de textes et d'images.
  • Systèmes de recommandation: Apprentissage de l'intégration des utilisateurs et des articles sur la base des modèles d'interaction.
  • Détection des anomalies: Identifier les points de données inhabituels en apprenant les représentations où les données normales se regroupent étroitement, ce qui rend les valeurs aberrantes plus faciles à repérer.

Avantages et défis

Avantages :

  • Dépendance réduite à l'égard des étiquettes : Exploite de vastes quantités de données non étiquetées, ce qui diminue la nécessité d'un étiquetage des données coûteux et fastidieux.
  • Représentations robustes : Apprend souvent des caractéristiques qui sont plus invariantes aux variations de nuisance par rapport aux méthodes purement supervisées.
  • Pré-entraînement efficace : Fournit d'excellents points de départ pour affiner les tâches spécifiques en aval, ce qui permet souvent d'obtenir de meilleures performances, en particulier avec des données étiquetées limitées(apprentissage à quelques reprises).

Défis :

  • Sélection des échantillons négatifs : Les performances peuvent être sensibles au nombre et à la qualité des échantillons négatifs. Le choix d'échantillons négatifs informatifs est crucial mais difficile.
  • Stratégie d'augmentation : Le choix des techniques d'augmentation des données influence fortement les invariances que le modèle apprend.
  • Coût informatique : Nécessite souvent des lots de grande taille et des ressources informatiques importantes(GPU) pour une formation efficace, bien que des recherches soient en cours pour atténuer ce problème. Des plateformes comme Ultralytics HUB peuvent faciliter la gestion et la formation de ces modèles. Des cadres comme PyTorch(site officiel) et TensorFlow(site officiel) fournissent des outils pour mettre en œuvre des méthodes d'apprentissage contrastif.
Tout lire