对比学习是一种表示学习范式,旨在学习一个嵌入函数 f: X → ℝ^d,使得相似样本(正样本对)在特征空间中彼此靠近,而不同样本(负样本对)则相距较远。
形式上通常使用 InfoNCE 损失,其对于一个正样本对 (x, x^+) 和一组负样本 {x^-_k} 定义为:
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)}
其中 \mathrm{sim}(\cdot, \cdot) 是相似度函数,例如内积,\tau > 0 是用于缩放的温度参数。
通过最小化该损失,模型被引导将正样本对聚类,而将负样本对分离,从而产生有意义的表示。
对比学习构成了许多现代自监督方法的基础,如 SimCLR(Chen 等,2020)和 MoCo(He 等,2020),它们在图像处理领域取得了最先进的成果。
定义:
“对比学习是一种学习方法,通过有针对性地利用正负样本对,训练嵌入使得相似数据点在特征空间中比不相似的数据点更接近。”
来源:
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. 载于第37届国际机器学习大会(ICML)论文集。