4.4 InfoNCE 损失与温度系数 本节深入 InfoNCE 损失的数学细节,特别是温度系数 $\tau$ 的物理意义与梯度行为,以及 SigLIP 如何用 sigmoid 形式替代 softmax 解决大 batch 难题。 一、InfoNCE 的完整形式回顾 回顾 4.1 节给出的 InfoNCE: $$ \mathcal{L}\text{InfoNCE} = -\log \frac{\exp(\text{sim}(x, x^+)/\tau)}{\exp(\text{sim}(x, x^+)/\tau) + \sum{k=1}^{K} \exp(\text{sim}(x, x^-k)/\tau)} $$ 把它写成更紧凑的形式。
本节深入 InfoNCE 损失的数学细节,特别是温度系数 \tau 的物理意义与梯度行为,以及 SigLIP 如何用 sigmoid 形式替代 softmax 解决大 batch 难题。
回顾 4.1 节给出的 InfoNCE:
把它写成更紧凑的形式。令 s^+ = \text{sim}(x, x^+),s^-_k = \text{sim}(x, x^-_k):
这就是 CLIP 训练时实际计算的损失。
温度系数 \tau 出现在指数的除法里 s/\tau,它调节相似度被「放大」的程度。
考虑 softmax 输出 \frac{e^{s/\tau}}{\sum e^{s_i/\tau}}:
从信息论角度看,温度系数相当于一个熵正则项。最小化 InfoNCE 等价于最大化:
可以证明,这与最大化互信息下界 - \tau \cdot H(p) 形式等价,其中 H(p) 是 softmax 分布的熵。也就是说:
相似度 s = I \cdot T 的数值范围依赖于隐藏维度 d。维度越大,点积可能越大。除以 \tau 相当于把相似度重新缩放到一个统一的尺度,使训练稳定。
实践中可学习 \tau 通常稳定在 0.01-0.05 之间,对应一个合理的尖锐程度。
温度系数对训练动态有微妙影响。看 InfoNCE 对正样本相似度 s^+ 的梯度:
其中 p^+ 是模型给正样本的概率。
类似地,对负样本相似度 s^-_k 的梯度:
这种「难样本自动加权」特性是 InfoNCE 比朴素对比损失更有效的关键。
InfoNCE 的一个核心特性:负样本越多,互信息下界越紧,模型学到越好。
数学上,可以证明:
其中 I(x; x^+) 是互信息,K 是负样本数。
这就是为什么 CLIP 把 batch size 推到 32768——负样本越多,模型对互信息的估计越准,学到的表示越好。
但这也带来一个工程瓶颈:
SigLIP 的 sigmoid 形式就是为解决这个瓶颈而生。
Google 在 2023 年提出的 SigLIP 把 InfoNCE 的 softmax 形式换成 sigmoid 二分类:
其中:
| 维度 | InfoNCE (softmax) | SigLIP (sigmoid) |
|---|---|---|
| 归一化 | 沿行/列 softmax | 无(每对独立) |
| 对 batch 依赖 | 强(分母含所有样本) | 弱(每对独立计算) |
| 负样本数 | batch 内其他样本 | batch 内其他样本(但不参与归一化) |
| batch size 敏感 | 高 | 低 |
sigmoid 形式带来三个工程优势:
InfoNCE 在小 batch(如 256)下负样本太少,性能下降明显。SigLIP 在同样 batch 下性能基本不变,因为每对样本独立计算,不依赖归一化。
SigLIP 可以维护一个独立的负样本队列(如 MoCo 风格),不受 batch size 限制。CLIP 这种 softmax 形式做不到(因为分母要包含所有候选)。
softmax 容易因某个相似度爆炸导致整个分布塌缩。sigmoid 每对独立,鲁棒性更强。
在相同算力下,SigLIP 在 ImageNet 零样本分类、跨模态检索等任务上显著优于 CLIP。它已成为 LLaVA-NeXT、PaliGemma、Idefics2 等新一代多模态大模型的首选视觉编码器。
SigLIP 仍然保留温度系数 \tau,作用与 InfoNCE 类似——控制 sigmoid 输入的尺度:
SigLIP 还多了一个可学习偏置 b,让模型可以平移决策边界。这是因为 sigmoid 不像 softmax 自动归一化,需要偏置来补偿相似度的整体偏移。
除了 InfoNCE 与 SigLIP,对比学习家族还有几个变体:
最古典的对比损失:
要求正样本相似度比负样本高出至少 margin m。缺点:每次只用一个负样本,信号弱。
Triplet Loss 的扩展,用多个负样本:
不用对比,而是约束向量空间的统计性质(如协方差对角化),避免了大 batch 依赖。
这些变体在纯视觉自监督里更常见,多模态对齐仍以 InfoNCE/SigLIP 为主。
| 场景 | 推荐损失 |
|---|---|
| 大算力、大 batch | InfoNCE(CLIP 路线) |
| 中小算力、希望训练稳定 | SigLIP |
| 需要细粒度区域对齐 | InfoNCE + ITM 联合(ALBEF 风格) |
| 自监督纯视觉 | DINO/iBOT(非对比类) |
如果你在训练自己的对比模型,关于 \tau 的几个经验:
InfoNCE 的温度系数 \tau 控制相似度分布的尖锐度,对应一个熵正则项;它在 InfoNCE 中还起到「难样本自动加权」的作用。softmax 形式对 batch size 极敏感,SigLIP 用 sigmoid 解决了这一瓶颈,在中小 batch 下也能稳定训练。理解 InfoNCE 与 SigLIP 的差异,能帮你为自己的多模态任务选合适的对比损失。
下一节(4.5)速览 SigLIP、EVA-CLIP、OpenCLIP 等当代对比学习模型 SOTA。