Un guide approfondi de l'apprentissage contrastif en IA

Un guide approfondi de l'apprentissage contrastif en IA

Un guide approfondi de l'apprentissage contrastif en IA

Lorsqu'un enfant apprend à reconnaître les animaux, il peut avoir du mal, au début, à les différencier les uns des autres. Cependant, en comparant des animaux semblables et différents, il apprend progressivement à identifier les caractéristiques communes d'une espèce à l'autre. 

Il illustre parfaitement le concept de l'apprentissage contrastif, qui vise à apprendre les caractéristiques générales d'un ensemble de données en enseignant au modèle quels sont les points de données similaires ou différents.

Illustration du concept d'apprentissage contrastif
https://towardsdatascience.com/understanding-contrastive-learning-d5b19fd96607

Introduction à l'apprentissage contrastif

L'apprentissage contrastif est une technique d'apprentissage automatique qui apprend aux modèles à faire la distinction entre des échantillons similaires et dissemblables. En contrastant différents échantillons, les modèles peuvent apprendre à identifier les attributs communs et à distinguer les classes. 

Dans l'apprentissage supervisé, les modèles sont formés sur des données étiquetées, mais l'apprentissage contrastif n'a pas besoin de données étiquetées, car il exploite les similitudes et les différences entre les points de données pour apprendre les représentations. Cela le rend très évolutif et utile pour le pré-entraînement des modèles dans des scénarios où les données étiquetées sont limitées ou indisponibles. 

Cela permet aux modèles d'apprendre des caractéristiques de haut niveau sur les données avant d'effectuer des tâches spécifiques de vision par ordinateur telles que la classification d'images, la détection d'objets et la segmentation d'images. Pour en savoir plus sur ces tâches, lisez cet article : Segmentation vs détection vs classification en vision par ordinateur : Une analyse comparative

Terminologie de l'apprentissage contrastif

Pour comprendre l'apprentissage contrastif, il est important de se familiariser avec certains termes clés. L'apprentissage contrastif vise à apprendre des représentations de données à faible dimension en maximisant la similarité entre des échantillons similaires et en la minimisant entre des échantillons dissemblables. Pour ce faire, on utilise généralement la distance euclidienne comme mesure de la dissimilarité dans l'espace de représentation.

L'objectif est de rapprocher les échantillons similaires dans l'espace de représentation, ce qui permet de les distinguer plus facilement, tout en éloignant les échantillons dissemblables. En apprenant de telles représentations, les modèles peuvent capturer efficacement la structure sous-jacente des données et bien généraliser aux échantillons non vus.


L'apprentissage contrastif en pratique

Dans la pratique, l'apprentissage contrastif implique la sélection de.. :

  • un échantillon d'ancre
  • un échantillon positif
  • plusieurs échantillons négatifs. 

L'échantillon d'ancrage sert de point de référence. L'objectif est de rapprocher l'échantillon positif du point d'ancrage tout en éloignant les échantillons négatifs. Dans le domaine de la vision par ordinateur, cet objectif est généralement atteint par l'apprentissage d'un encodeur, qui associe les images à des enregistrements dans un espace à faible dimension.

Illustration du fonctionnement de l'apprentissage contrastif dans la pratique
(Source de l'image :
Schroff et al. 2015)

L'échantillon positif peut être une image de la même classe que l'ancre ou une version augmentée de l'image de l'ancre. Si c'est la méthodologie choisie, Picsellia fournit des traitements d'augmentation des données prêts à l'emploi et personnalisables qui simplifient le processus de préparation des données positives de l'ancre.

Les échantillons négatifs sont généralement choisis au hasard dans une classe différente ou dans un ensemble d'images non apparentées. En optimisant le modèle pour minimiser la distance entre les paires positives et maximiser la distance entre les paires négatives, l'apprentissage contrastif permet au modèle d'apprendre des représentations discriminantes.

Apprentissage contrastif auto-supervisé

La possibilité d'apprendre à partir de données non étiquetées, appelée apprentissage auto-supervisé, est l'un des principaux avantages de l'apprentissage contrastif.

L'apprentissage contrastif est un type d'apprentissage auto-supervisé, qui est lui-même un type d'apprentissage non supervisé, qui repose sur la façon dont les données sont définies, sans s'appuyer sur un étiquetage explicite. Cela diffère de l'apprentissage supervisé, où le modèle est formé sur la base d'un ensemble connu de paires entrée-sortie. D'autre part, l'apprentissage non supervisé implique la formation du modèle sans aucune étiquette.

Dans l'apprentissage contrastif auto-supervisé, l'échantillon positif est généré en augmentant l'image d'ancrage, tandis que les échantillons négatifs sont sélectionnés de manière aléatoire à partir du mini-lot de formation. Cela le rend très évolutif et utile pour le pré-entraînement, permettant aux modèles d'apprendre à partir de grandes quantités de données non étiquetées.

Cependant, l'apprentissage contrastif auto-supervisé présente des défis en termes de faux négatifs et de dégradation de la qualité de la représentation. Les faux négatifs font référence aux négatifs générés à partir d'échantillons de la même classe que l'ancre, ce qui entraîne une dégradation de la qualité des représentations apprises. La résolution de ces problèmes et l'amélioration de la qualité des négatifs constituent un domaine de recherche actif dans le domaine de l'apprentissage contrastif.

Apprentissage contrastif supervisé

Alors que l'apprentissage contrastif auto-supervisé est efficace pour l'apprentissage à partir de données non étiquetées, l'application de l'apprentissage contrastif dans le cadre entièrement supervisé est relativement inexplorée. Dans l'apprentissage contrastif supervisé, les données étiquetées génèrent des échantillons positifs à partir d'exemples existants de la même classe, ce qui offre une plus grande variabilité dans le préapprentissage que de simples augmentations de l'ancrage.

Une approche récente appelée "Apprentissage contrastif supervisé" comble le fossé entre l'apprentissage auto-supervisé et l'apprentissage entièrement supervisé. Elle introduit une nouvelle fonction de perte, appelée SupCon, qui encourage le rapprochement des encastrements normalisés de la même classe, tandis que les encastrements de classes différentes sont écartés. Cette approche permet d'appliquer l'apprentissage contrastif dans le cadre supervisé, améliorant ainsi l'apprentissage de la représentation pour des tâches telles que la classification d'images.

Défis et considérations en matière d'apprentissage contrastif

La mise en œuvre de l'apprentissage contrastif s'accompagne de plusieurs défis et considérations, tels que 

  • La taille du lot: une taille de lot plus importante permet d'obtenir des échantillons négatifs plus diversifiés et plus difficiles, ce qui est crucial pour l'apprentissage de bonnes représentations.
  • La qualité des échantillons négatifs: le modèle doit être entraîné sur des échantillons négatifs durs qui améliorent la qualité de la représentation sans inclure de faux négatifs.
  • Les méthodes choisies pour générer des échantillons positifs: déterminer la méthode la plus optimale est un domaine de recherche en cours dans l'apprentissage contrastif. 
  • Le choix des augmentations utilisées dans l'apprentissage auto-supervisé joue un rôle crucial dans la qualité des représentations apprises.
  • Le réglage des hyperparamètres, tels que le taux d'apprentissage, la température et l'architecture de l'encodeur, est nécessaire pour améliorer la qualité de la représentation et obtenir de meilleures performances dans l'apprentissage contrastif.

Applications concrètes de l'apprentissage contrastif

L'apprentissage contrastif a un large éventail d'applications dans les tâches de vision par ordinateur:

  • Classification des images: les modèles apprennent des caractéristiques discriminantes qui permettent de classer avec précision les images dans différentes classes.
  • Détection d'objets: améliorer la représentation des objets.
  • Segmentation d'images : apprentissage de représentations de segments plus robustes et plus précises. 

L'apprentissage contrastif a également été appliqué à des tâches d'analyse vidéo telles que la reconnaissance d'actions, où les modèles apprennent à détecter et à classer les actions dans les séquences vidéo.

Limites de l'apprentissage non supervisé

L'une des limites est la nécessité de disposer d'une grande quantité de données non étiquetées. Les algorithmes d'apprentissage non supervisé et l'apprentissage contrastif s'appuient sur des modèles et des structures au sein des données pour apprendre des représentations significatives. Cependant, sans données étiquetées pour guider le processus d'apprentissage, les algorithmes ont besoin d'une quantité substantielle de données non étiquetées pour capturer efficacement les modèles sous-jacents. 

Une autre limite est le manque d'interprétabilité. Les modèles d'apprentissage non supervisé produisent souvent des représentations complexes qui sont difficiles à interpréter et à comprendre. Il peut donc s'avérer difficile d'obtenir des informations sur les caractéristiques apprises et de comprendre le raisonnement qui sous-tend les prédictions du modèle. 

En outre, bien qu'il puisse apprendre des caractéristiques et des modèles de bas niveau, l'apprentissage non supervisé peut avoir du mal à saisir les relations plus complexes et les significations sémantiques de haut niveau présentes dans les données. 

Conclusion

L'apprentissage contrastif est une technique puissante en vision artificielle qui permet aux modèles d'apprendre les caractéristiques générales d'un ensemble de données sans avoir besoin de données étiquetées. En opposant des échantillons similaires et dissemblables, l'apprentissage contrastif permet aux modèles d'apprendre des représentations discriminantes et de capturer la structure sous-jacente des données. 

La plateforme de Picsellia peut être un atout précieux pour cette technique, car elle implique de nombreuses itérations avec des configurations variées afin d'améliorer les performances. La plateforme offre la possibilité de mener une large gamme d'expériences, telles que l'utilisation de différentes versions de jeux de données, d'ensembles d'hyperparamètres et de techniques d'évaluation. En outre, elle comprend une fonctionnalité de suivi des expériences qui conserve un enregistrement de toutes les expériences, guidant les utilisateurs vers la recherche de la version optimale de leurs modèles tout en gardant une trace des ensembles de données utilisés.

Commencez à gérer vos données d'IA de la bonne façon.

Demander un essai gratuit

Recommandé pour vous :