Contrastive Learning
L’apprentissage contrastif, ou Contrastive Learning en anglais, est une technique d’apprentissage automatique, principalement utilisée dans le cadre de l’apprentissage auto-supervisé, qui vise à apprendre des représentations de données en enseignant à un modèle à distinguer les exemples similaires (paires positives) des exemples dissimilaires (paires négatives). L’objectif fondamental est de cartographier les entrées de données dans un espace de représentation (espace latent) où les instances sémantiquement similaires sont proches les unes des autres, tandis que les instances sémantiquement différentes sont éloignées.
Les concepts fondamentaux de l’apprentissage contrastif reposent sur plusieurs piliers. Au cœur se trouve l’apprentissage de représentations, où le but est d’extraire des caractéristiques significatives et compactes des données brutes. Pour ce faire, des paires d’exemples sont construites : une paire positive est généralement constituée d’une donnée d’ancrage et d’une version augmentée de celle-ci (par exemple, une image recadrée, retournée ou colorisée différemment), ou d’une autre instance sémantiquement liée. Les paires négatives sont formées en associant l’ancre à d’autres instances de l’ensemble de données, supposées être sémantiquement distinctes. Un réseau de neurones, appelé encodeur, transforme ces entrées en vecteurs de représentation dans un espace latent. La fonction de perte contrastive, telle que InfoNCE (Noise Contrastive Estimation), NT-Xent (Normalized Temperature-scaled Cross Entropy) ou la perte triplet, est ensuite utilisée pour minimiser la distance entre les représentations des paires positives et maximiser la distance entre les représentations des paires positives et négatives. L’augmentation de données joue un rôle crucial en générant des vues positives qui aident le modèle à apprendre l’invariance aux transformations non essentielles. L’échantillonnage des négatifs, c’est-à-dire la sélection des exemples négatifs, est également une composante clé, influençant l’efficacité de l’apprentissage.
L’importance de l’apprentissage contrastif réside principalement dans sa capacité à réduire la dépendance aux grandes quantités de données étiquetées manuellement, qui sont coûteuses et chronophages à obtenir. Il est devenu une méthode phare de l’apprentissage auto-supervisé, permettant aux modèles d’apprendre des caractéristiques utiles à partir de vastes corpus de données non étiquetées. Les représentations ainsi pré-entraînées peuvent ensuite être affinées (fine-tuning) pour diverses tâches en aval, telles que la classification, la détection d’objets ou la segmentation, souvent avec une quantité limitée de données étiquetées, et parfois en surpassant les performances des modèles entraînés de manière purement supervisée sur des ensembles de données plus petits. Son impact s’étend à de nombreux domaines, notamment la vision par ordinateur, le traitement du langage naturel, la reconnaissance vocale, la bio-informatique et les systèmes de recommandation. La scalabilité de ces méthodes permet leur application sur des téraoctets de données.
Les applications pratiques de l’apprentissage contrastif sont nombreuses et variées. En vision par ordinateur, des modèles comme SimCLR, MoCo (Momentum Contrast), BYOL (Bootstrap Your Own Latent) et SwAV ont démontré des performances impressionnantes sur des tâches de reconnaissance d’images, souvent en pré-entraînant sur des ensembles de données massifs comme ImageNet sans utiliser les étiquettes. Ces représentations sont ensuite transférées pour améliorer la détection d’objets ou la segmentation sémantique. Dans le traitement du langage naturel, l’apprentissage contrastif est utilisé pour apprendre des représentations de phrases et de documents, comme avec Sentence-BERT ou SimCSE, qui améliorent la recherche sémantique, la réponse aux questions et le regroupement de textes. En reconnaissance vocale, des approches comme wav2vec 2.0 utilisent des principes contrastifs pour apprendre des représentations audio à partir de parole non transcrite, conduisant à des systèmes de reconnaissance vocale plus performants, en particulier pour les langues sous-dotées. Dans les systèmes de recommandation, il aide à modéliser les préférences des utilisateurs et les caractéristiques des articles en apprenant à distinguer les paires utilisateur-article pertinentes des non pertinentes. En bio-informatique, il est appliqué à l’analyse de séquences génomiques ou à la prédiction des propriétés des molécules.
Il existe plusieurs nuances et variations de l’apprentissage contrastif. L’apprentissage contrastif supervisé (Supervised Contrastive Learning) intègre les informations d’étiquettes disponibles, considérant toutes les instances d’une même classe comme des positives les unes pour les autres et les instances de classes différentes comme des négatives. L’apprentissage contrastif multimodal, illustré par des modèles comme CLIP (Contrastive Language-Image Pre-training), apprend des représentations conjointes en alignant des données de différentes modalités, par exemple des images et leurs descriptions textuelles. Des approches comme MoCo introduisent un encodeur à momentum pour maintenir une file d’attente de négatifs cohérente et de grande taille, améliorant la stabilité et l’efficacité. Plus récemment, des méthodes non-contrastives (ou sans négatifs explicites) comme BYOL et SimSiam ont émergé, qui évitent l’échantillonnage de négatifs en utilisant des architectures asymétriques et des prédicteurs pour éviter l’effondrement des représentations, tout en partageant l’esprit de maximisation de l’accord entre différentes vues d’une même instance. La taille du lot d’entraînement (batch size) et le nombre d’échantillons négatifs sont des hyperparamètres importants qui influencent significativement les performances des méthodes contrastives traditionnelles.
Plusieurs concepts sont étroitement liés à l’apprentissage contrastif. Il est une composante majeure de l’apprentissage auto-supervisé, qui est lui-même une forme d’apprentissage de représentations. L’apprentissage métrique (Metric Learning) partage des objectifs similaires, cherchant à apprendre des fonctions de distance qui respectent la similarité sémantique des données. Le clustering peut être utilisé en conjonction avec l’apprentissage contrastif, par exemple en utilisant les représentations apprises pour regrouper les données, ou en utilisant les assignations de clusters comme signaux pseudo-supervisés. Les représentations apprises par des méthodes contrastives sont fréquemment utilisées dans le cadre du Transfer Learning. Bien qu’il n’y ait pas de synonymes parfaits, des termes comme « apprentissage par discrimination d’instance » (Instance Discrimination) capturent une partie de son essence. En termes d’antonymes conceptuels, l’apprentissage supervisé traditionnel, qui repose entièrement sur des étiquettes explicites, s’oppose à l’aspect auto-supervisé de nombreuses méthodes contrastives. L’apprentissage génératif, qui vise à modéliser la distribution de probabilité des données pour générer de nouveaux échantillons, représente une approche différente de l’apprentissage non supervisé, bien que des ponts entre approches contrastives et génératives soient explorés.
L’origine de l’apprentissage contrastif remonte à des idées plus anciennes en apprentissage métrique et en apprentissage par similarité. Les réseaux siamois (Siamese Networks), proposés dès les années 1990, utilisaient déjà des paires d’entrées pour apprendre des fonctions de similarité. Cependant, l’essor récent de l’apprentissage contrastif a été marqué par des travaux clés à la fin des années 2010. L’article sur le Contrastive Predictive Coding (CPC) par van den Oord et al. en 2018 a été un jalon important, proposant un cadre général pour l’apprentissage auto-supervisé de représentations en prédisant le futur ou le contexte dans un espace latent à l’aide d’une perte contrastive. Par la suite, une vague de modèles basés sur des principes contrastifs, tels que SimCLR et MoCo, a déferlé sur le domaine de la vision par ordinateur vers la fin de 2019 et le début de 2020, démontrant des performances rivalisant avec l’apprentissage supervisé sur des benchmarks majeurs. Depuis, ces techniques ont été adaptées et étendues avec succès au traitement du langage naturel, à la reconnaissance vocale et à d’autres domaines, avec une évolution continue vers des méthodes plus robustes, plus efficaces en termes de calcul et moins dépendantes de grands lots d’entraînement ou d’un grand nombre de négatifs.
L’apprentissage contrastif présente de nombreux avantages. Son principal atout est la capacité à exploiter d’énormes quantités de données non étiquetées, réduisant ainsi le fardeau de l’annotation manuelle. Il permet d’apprendre des représentations denses, sémantiquement riches et généralisables, qui se transfèrent bien à une variété de tâches en aval. Dans certains scénarios, notamment avec un pré-entraînement sur des données massives, il peut atteindre des performances comparables, voire supérieures, à celles des approches supervisées traditionnelles. La flexibilité dans la définition des paires positives (via les augmentations) et négatives permet une adaptation à divers types de données et de tâches.
Cependant, l’apprentissage contrastif a aussi ses inconvénients et défis. La performance est souvent très sensible au choix des augmentations de données ; des augmentations mal choisies peuvent nuire à l’apprentissage ou ne pas capturer les invariances souhaitées. De nombreuses méthodes contrastives nécessitent des tailles de batch importantes et/ou un grand nombre d’échantillons négatifs pour fonctionner efficacement, ce qui peut être gourmand en ressources de calcul (mémoire et temps). L’échantillonnage de négatifs « durs » (hard negatives), c’est-à-dire des négatifs qui sont difficiles à distinguer des positifs, peut être crucial mais complexe à mettre en œuvre. Un défi majeur est d’éviter l’effondrement des représentations (representation collapse), où le modèle apprend une solution triviale en mappant toutes les entrées vers une même représentation ou un espace de dimension très faible. La compréhension théorique des raisons exactes de son succès et des mécanismes sous-jacents est encore un domaine de recherche actif. Le choix optimal de la fonction de perte et de ses hyperparamètres, comme la température dans la perte NT-Xent, reste empirique. Enfin, l’évaluation intrinsèque de la qualité des représentations apprises, indépendamment des tâches en aval, demeure un sujet complexe. Malgré ces limitations, l’apprentissage contrastif a transformé le paysage de l’apprentissage de représentations et continue d’être un domaine de recherche et d’application extrêmement dynamique.