对比表示学习是一种自监督学习方法,旨在学习一个嵌入函数 \( f: \mathcal{X} \to \mathbb{R}^d \),使得相似的输入 \( x_i, x_j \) 在特征空间中彼此靠近,而不相似的输入则相距较远。
形式上通常使用 InfoNCE 损失,定义为:
\[ L_i = -\log \frac{\exp(\mathrm{sim}(f(x_i), f(x_j^+)) / \tau)}{\sum_{k=1}^{N} \exp(\mathrm{sim}(f(x_i), f(x_k)) / \tau)} \]
其中 \( x_j^+ \) 表示 \( x_i \) 的一个正样本,\( x_k \) 为负样本,\( \mathrm{sim} \) 是相似度函数(例如余弦相似度),\( \tau \) 是温度参数。
学习过程优化函数 \( f \),使得正样本对更接近,负样本对更远离。
对比学习是许多现代自监督学习方法的基础,如 SimCLR、MoCo 或 BYOL,它们能够在没有大量标注的情况下获得强大的表示。
定义:
“对比表示学习是一种自监督学习方法,通过最大化正样本对之间的相似度并最小化负样本对之间的相似度,生成有意义的嵌入表示。”
来源:
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).