系列博客目录
InfoNCE 损失(Information Noise Contrastive Estimation)是一种对比学习的损失函数,用于最大化正样本(匹配样本)之间的互信息,同时将负样本(不匹配样本)拉开距离。它最早由 Oord 等人在 2018 年提出,用于无监督学习的自监督表示学习。InfoNCE 损失通过以下方式运作:
1. 基本原理
InfoNCE 损失的目标是通过最大化互信息来区分匹配和不匹配的样本对。假设我们有一个输入样本(如图像)以及其对应的正样本(如文本描述),InfoNCE 会拉近匹配的图像-文本对的嵌入距离,并将不匹配对的嵌入拉远。为了实现这一点,InfoNCE 损失函数对一对正样本(即匹配对)和多个负样本进行对比,通过多分类交叉熵的形式来估计它们之间的相似度。
2. 数学定义
假设我们有一个图像 ( I ) 和其对应的文本 ( T ),InfoNCE 损失的公式为:
L InfoNCE = − log exp ( sim ( I , T ) / τ ) ∑ k = 1 K exp ( sim ( I , T ~ k ) / τ ) \mathcal{L}_{\text{InfoNCE}} = - \log \frac{\exp(\text{sim}(I, T)/\tau)}{\sum_{k=1}^{K} \exp(\text{sim}(I, \tilde{T}_k)/\tau)} LInfoNCE=−log