返回 多模态 思维导图
中文·English
👁️ 多模态ID: contrastive-loss

InfoNCE 对比损失

InfoNCE Contrastive Loss
🎯核心定义
InfoNCE (Info Noise-Contrastive Estimation) 是对比学习 (CLIP/SimCLR/MoCo) 的核心损失——拉近正对、推远 batch 内所有负对: L=logexp(sim(xi,yi)/τ)jexp(sim(xi,yj)/τ)\mathcal{L} = -\log \frac{\exp(\text{sim}(x_i, y_i) / \tau)}{\sum_{j} \exp(\text{sim}(x_i, y_j) / \tau)}, 其中 sim(,)\text{sim}(\cdot, \cdot) 为余弦相似度, yiy_i 是与 xix_i 匹配的正样本, 分母遍历 batch 内全部候选 (1 个正对 + N1N-1 个负对), τ\tau 是温度超参——把相似度除以 τ\tau 再进 softmax。
💡使用场景
图文对齐 (CLIP)、自监督表征 (SimCLR/MoCo)、跨模态检索; 面试必考「温度 τ\tau 的作用」与「为什么 batch size 越大越好」。
解决的核心痛点
三元组损失只对比单个负样本, 梯度稀疏且依赖难例挖掘; InfoNCE 把全部 batch 内负样本放进 softmax 分母, 负样本利用率与梯度信号都更强, 与多分类交叉熵同构 (正类 logit = sim(xi,yi)/τ\text{sim}(x_i,y_i)/\tau)。温度 τ\tau 控制判别锐利度: τ\tau 小 → logits 被放大, 正对必须「碾压式」胜出; τ\tau 大 → 分布变平滑, 正负差异被稀释、梯度消失。数值例: 正对 sim=0.9\text{sim}=0.9、负对 sim=0.2\text{sim}=0.2; 当 τ=0.07\tau=0.07 (CLIP 默认) 时 logits 为 0.9/0.0712.860.9/0.07 \approx 12.860.2/0.072.860.2/0.07 \approx 2.86, softmax 后正对概率 99.99%\approx 99.99\%, 损失趋近 0; 若 τ=1\tau=1, logits 只剩 0.9 对 0.2, 正对概率约 66.7%66.7\%, 模型几乎失去判别能力。
🎯5 个高频面试考点 (Exam Points)
1
写出 InfoNCE 损失公式并解释每个符号?它与交叉熵是什么关系?
2
温度 τ 怎么选?τ 过小/过大会怎样 (给出数值例)?
3
为什么 batch size 越大效果越好?负样本从哪里来?
4
InfoNCE 与三元组损失、原始 NCE 的区别?
5
CLIP 对称损失中温度如何影响梯度?遇到 hard negatives 怎么办?
更新于 2026-08-12
🎯
检验攻克程度:针对「InfoNCE 对比损失」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点CLIP 双塔架构下一个知识点CLIP 应用

🔗 更多 多模态 知识点卡片

语音识别 ASR音频表示Classifier-Free Guidance (CFG)ColPali Late-Interaction 视觉检索