L'apprentissage contrastif est un paradigme de l'apprentissage des représentations qui vise à apprendre une fonction d'encodage f : X → ℝ^d, de sorte que des exemples similaires (paire positive) soient proches dans l'espace des caractéristiques et des exemples différents (paire négative) soient éloignés.
Formellement, on utilise souvent la perte InfoNCE, définie pour une paire positive (x, x^+) et un ensemble d'exemples négatifs {x^-_k} comme :
L = - \log \frac{\exp(\mathrm{sim}(f(x), f(x^+)) / \tau)}{\exp(\mathrm{sim}(f(x), f(x^+)) / \tau) + \sum_k \exp(\mathrm{sim}(f(x), f(x^-_k)) / \tau)}
où \mathrm{sim}(\cdot, \cdot) est une fonction de similarité, par exemple le produit scalaire, et \tau > 0 un paramètre de température pour la mise à l'échelle.
En minimisant cette perte, le modèle est encouragé à regrouper les paires positives et à séparer les négatives, ce qui génère des représentations significatives.
L'apprentissage contrastif constitue la base de nombreuses méthodes modernes d'auto-supervision telles que SimCLR (Chen et al., 2020) et MoCo (He et al., 2020), qui obtiennent des résultats à la pointe de l'état de l'art en traitement d'images.
Définition :
« L'apprentissage contrastif est une méthode d'apprentissage dans laquelle un encodage est entraîné de manière à ce que des points de données similaires soient plus proches dans l'espace des caractéristiques que des points dissemblables, en exploitant spécifiquement des paires positives et négatives. »
Source :
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. In Proceedings of the 37th International Conference on Machine Learning (ICML).