La codificación contrastiva se refiere a un método de aprendizaje de representaciones en el que una función de incrustación \( f_\theta \) se entrena para que los pares positivos de puntos de datos \( (x_i, x_j^+) \) estén más cerca en el espacio latente que los pares negativos \( (x_i, x_k^-) \).
Formalmente, se utiliza frecuentemente la pérdida InfoNCE:
\[ \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)} \]
donde \( \mathrm{sim} \) es una función de similitud, por ejemplo, similitud coseno, y \( \tau \) es una variable de temperatura.
El objetivo es estructurar las representaciones de modo que las instancias semánticamente similares se agrupen y las disímiles se separen, lo que conduce a una mejor generalización.
Definición:
«La codificación contrastiva es un método de aprendizaje auto-supervisado que genera representaciones robustas y significativas mediante la maximización de la similitud de pares positivos y la minimización de la similitud de pares negativos.»
Fuente:
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).