Le codage contrastif désigne une méthode d'apprentissage de représentations, dans laquelle une fonction d'encodage \( f_\theta \) est entraînée de manière à ce que les paires positives de points de données \( (x_i, x_j^+) \) soient plus proches dans l'espace latent que les paires négatives \( (x_i, x_k^-) \).
Formellement, la perte InfoNCE est souvent utilisée :
\[ \mathcal{L}_i = - \log \frac{\exp(\mathrm{sim}(f_\theta(x_i), f_\theta(x_j^+)) / \tau)}{\sum_{k=0}^K \exp(\mathrm{sim}(f_\theta(x_i), f_\theta(x_k)) / \tau)} \]
où \( \mathrm{sim} \) est une fonction de similarité, par exemple la similarité cosinus, et \( \tau \) une variable de température.
L'objectif est de structurer les représentations de sorte que les instances sémantiquement similaires soient regroupées et les dissemblables séparées, ce qui conduit à une meilleure généralisation.
Définition :
« Le codage contrastif est une méthode d'apprentissage auto-supervisée qui produit des représentations robustes et significatives en maximisant la similarité des paires positives et en minimisant celle des paires négatives. »
Source :
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. Proceedings of the 37th International Conference on Machine Learning (ICML).