Un guide approfondi du Contrastive Learning (apprentissage contrastif) en IA

Un guide approfondi du Contrastive Learning (apprentissage contrastif) en IA

Un guide détaillé sur l'apprentissage contrastif en IA

Lorsqu'un enfant apprend à reconnaître les animaux, il peut avoir du mal au début à faire la différence entre les différents animaux. Cependant, en comparant des animaux similaires et différents, ils apprennent progressivement à identifier les caractéristiques communes au sein d’une espèce à travers les espèces.

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

Illustration du concept d’apprentissage contrasté

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 à distinguer des échantillons similaires et différents. En comparant différents échantillons, les modèles peuvent apprendre à identifier des 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 des représentations. Cela le rend hautement évolutif et utile pour les modèles de pré-formation dans des scénarios où les données étiquetées sont limitées ou indisponibles.

Cela permet aux modèles d'apprendre des fonctionnalités de haut niveau sur les données avant d'effectuer des tâches de vision par ordinateur spécifiques 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 dans l'apprentissage contrastif

Pour comprendre l’apprentissage contrastif, il est important de se familiariser avec certains termes clés. L’apprentissage contrastif vise à apprendrereprésentations de données en basse dimensionen maximisant la similarité entreéchantillons similaireset en le minimisant entreéchantillons différents. Cela se fait généralement en utilisant leDistance euclidienne comme mesure de dissemblance dans l’espace de représentation.

L’objectif est de rapprocher les échantillons similaires dans l’espace de représentation, les rendant plus faciles à distinguer, 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 les généraliser à des échantillons invisibles.

Apprentissage contrastif en pratique

En 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. Le but est de rapprocher l’échantillon positif de l’ancre tout en repoussant les échantillons négatifs plus loin. En vision par ordinateur, cela est généralement réalisé en apprenant un encodeur, qui mappe les images en intégrations dans un espace de faible dimension.

Illustration du fonctionnement de l’apprentissage contrasté dans la pratique

(Source de l'image : Schroff et coll. 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. Dans le cas où telle est la méthodologie choisie, Picsellia propose des traitements d'augmentation de données prêts à l'emploi et personnalisables qui simplifient ce processus de préparation de données à ancrage positif.

Les échantillons négatifs sont généralement sélectionnés au hasard dans une classe différente ou dans un ensemble d’images sans rapport. 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 capacité 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 manière dont les données sont définies, sans s'appuyer sur un étiquetage explicite. Ceci est différent de l’apprentissage supervisé, où le modèle est formé sur la base d’un ensemble connu de paires entrée-sortie. D’un autre côté, 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 au hasard dans le mini-lot d'entraînement. Cela le rend hautement évolutif et utile pour la pré-formation, 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, entraînant une dégradation de la qualité des représentations apprises. Relever ces défis et améliorer la qualité des négatifs est un domaine de recherche actif en apprentissage contrastif.

Apprentissage contrastif supervisé

Bien que l’apprentissage contrastif auto-supervisé soit efficace pour apprendre à partir de données non étiquetées, l’application de l’apprentissage contrastif dans un environnement 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 même classe, offrant plus de variabilité dans le pré-entraînement que de simples augmentations de l'ancre.

Une approche récente appelée « apprentissage contrastif supervisé » comble le fossé entre l'apprentissage auto-supervisé et l'apprentissage entièrement supervisé. Il introduit une nouvelle fonction de perte, appelée SupCon, qui encourage le rapprochement des intégrations normalisées de la même classe, tandis que les intégrations de différentes classes sont écartées. Cette approche permet d'appliquer l'apprentissage contrastif dans un environnement 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 dans l’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 grande permet d'obtenir des échantillons négatifs plus diversifiés et plus difficiles, qui sont cruciaux pour l'apprentissage de bonnes représentations.
  • La qualité des échantillons négatifs: le modèle doit être entraîné sur des 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 celui qui est le plus optimal est un domaine de recherche en cours en apprentissage contrastif.
  • Le choix des augmentations utilisés dans l’apprentissage auto-supervisé jouent un rôle crucial dans la qualité des représentations apprises.
  • Réglage des hyperparamètres, tels que le taux d'apprentissage, la température et l'architecture de l'encodeur, sont nécessaires pour améliorer la qualité de la représentation et obtenir de meilleures performances en apprentissage contrastif.

Applications concrètes de l'apprentissage contrastif

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

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

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

Limites de l'apprentissage non supervisé

Une limitation 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 nécessitent 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 difficiles à interpréter et à comprendre. Cela peut rendre difficile l'obtention d'informations sur les fonctionnalités apprises et la compréhension du raisonnement derrière les prédictions du modèle.

De plus, même s’il peut apprendre des caractéristiques et des modèles de bas niveau, l’apprentissage non supervisé peut avoir du mal à capturer des relations plus complexes et des significations sémantiques de haut niveau présentes dans les données.

Conclusion

L'apprentissage contrastif est une technique puissante en vision par ordinateur 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 contrastant des échantillons similaires et différents, 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 Picsellia peut être un atout précieux pour cette technique, car elle implique de nombreuses itérations avec des configurations variables pour obtenir des performances améliorées. La plate-forme offre la possibilité de mener un large éventail d'expériences, telles que l'utilisation de différentes versions d'ensembles de données, d'ensembles d'hyperparamètres et de techniques d'évaluation. De plus, il comprend une fonctionnalité de suivi des expériences qui conserve une trace 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.

Gérez vos données d'IA de la bonne manière

Obtenir un essai

Recommandé pour vous:

english language
EN
french language
FR