面向专家的对比编码解释


对比编码是一种表示学习方法,其中嵌入函数 \( f_\theta \) 被训练使得正样本对 \( (x_i, x_j^+) \) 在潜在空间中比负样本对 \( (x_i, x_k^-) \) 更加接近。

通常使用 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)} \]

其中 \( \mathrm{sim} \) 是相似度函数,例如余弦相似度,\( \tau \) 是温度参数。

目标是将语义相似的实例聚集在一起,语义不相似的实例分开,从而实现更好的泛化能力。


定义:
“对比编码是一种自监督学习方法,通过最大化正样本对的相似度和最小化负样本对的相似度,生成鲁棒且具有表达力的表示。”


来源:
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).