El aprendizaje contrastivo es un paradigma del aprendizaje de representaciones que tiene como objetivo aprender una función de incrustación f: X → ℝ^d, de modo que ejemplos similares (par positivo) estén cerca en el espacio de características y ejemplos diferentes (par negativo) estén lejos.
Formalmente, se utiliza frecuentemente la pérdida InfoNCE, que para un par positivo (x, x^+) y un conjunto de ejemplos negativos {x^-_k} se define como:
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)}
Aquí, \mathrm{sim}(\cdot, \cdot) es una función de similitud, por ejemplo el producto escalar, y \tau > 0 es un parámetro de temperatura para la escala.
Minimizando esta pérdida, el modelo se induce a agrupar pares positivos y separar pares negativos, generando representaciones significativas.
El aprendizaje contrastivo es la base de muchos métodos modernos de autoaprendizaje supervisado como SimCLR (Chen et al., 2020) y MoCo (He et al., 2020), que logran resultados de vanguardia en el procesamiento de imágenes.
Definición:
«El aprendizaje contrastivo es un procedimiento de aprendizaje en el que se entrena una incrustación para que puntos de datos similares estén más cerca en el espacio de características que los no similares, utilizando explícitamente pares positivos y negativos.»
Fuente:
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. En Proceedings of the 37th International Conference on Machine Learning (ICML).