4.1 对比学习的数学原理


文档摘要

4.1 对比学习的数学原理 对比学习(Contrastive Learning)是多模态对齐的核心方法论。它不依赖显式标签,而是通过「拉近正样本、推远负样本」的几何约束,让模型自己学出有语义的表示空间。本节从直觉出发,一步步推出对比学习的核心数学形式 InfoNCE。 一、为什么是对比学习:监督学习的局限 传统的分类学习依赖封闭类别标签——「这是猫(类别 0)」「那是狗(类别 1)」。这种范式有三个根本局限: 局限一:类别集合封闭 猫、狗、汽车、椅子……ImageNet 有 1000 类,但真实世界有无限种物体。模型见过的类别之外,它就识别不了。 局限二:标签成本高 每张图都要人工标注,扩展到互联网级数据(数十亿张图)成本爆炸。

4.1 对比学习的数学原理

对比学习(Contrastive Learning)是多模态对齐的核心方法论。它不依赖显式标签,而是通过「拉近正样本、推远负样本」的几何约束,让模型自己学出有语义的表示空间。本节从直觉出发,一步步推出对比学习的核心数学形式 InfoNCE。

一、为什么是对比学习:监督学习的局限

传统的分类学习依赖封闭类别标签——「这是猫(类别 0)」「那是狗(类别 1)」。这种范式有三个根本局限:

局限一:类别集合封闭

猫、狗、汽车、椅子……ImageNet 有 1000 类,但真实世界有无限种物体。模型见过的类别之外,它就识别不了。

局限二:标签成本高

每张图都要人工标注,扩展到互联网级数据(数十亿张图)成本爆炸。

局限三:语义粒度僵硬

「猫」这个标签丢失了「橘色的」「坐着的」「在窗台上」等大量语义信息。

对比学习绕过这三个局限——它不预测具体类别,而是学习「相似/不相似」的几何关系。只要知道「这两张图是同一物体的不同视角」「这两段文本描述了同一张图」,就能学出连续、开放、细粒度的表示空间。

二、几何直觉:构造一个「语义度量」

对比学习的目标是学一个编码器 f,把输入映射到向量空间,使得:

\text{相似}(x_i, x_j) \propto \text{语义接近度}(x_i, x_j)

数学上,这相当于在学习一个语义度量:两个样本在向量空间的距离,等于它们在语义空间的距离。

考虑两类样本:

  • 正样本对(Positive Pair):语义相同或相关,如「猫的图」+「这只猫的描述」
  • 负样本对(Negative Pair):语义不相关,如「猫的图」+「狗的描述」

对比学习的目标函数可以写成最朴素的形式:

\mathcal{L} = \underbrace{-\log \text{sim}(x, x^+)}_{\text{拉近正样本}} + \lambda \underbrace{\log \text{sim}(x, x^-)}_{\text{推远负样本}}

其中 \text{sim}(\cdot, \cdot) 是相似度函数(通常是余弦相似度),\lambda 是平衡系数。

三、从朴素目标到 InfoNCE

朴素的「正样本拉近 + 负样本推远」有几个工程问题:

  • \lambda 怎么选?不同 \lambda 训练结果差异巨大
  • 单个负样本信号太弱,需要很多负样本才能学到判别性表示
  • 没有归一化,相似度数值范围不可控

InfoNCE(Info Noise-Contrastive Estimation)用一个漂亮的概率框架解决了这些问题。

InfoNCE 的核心思想

把对比学习重新表述为多分类问题

给定锚点 x 与一个候选集合 \{x^+, x^-_1, x^-_2, \dots, x^-_K\},模型要从中识别出唯一的正样本 x^+

形式化为 K+1 类分类,用 softmax:

\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)}

其中:

  • 分子:锚点与正样本的相似度(要大)
  • 分母:锚点与所有候选的相似度之和
  • \tau:温度系数,控制分布的尖锐程度

直觉解释

InfoNCE 的物理意义是:K+1 个候选中,模型有多大概率把最大的相似度给正样本。当这个概率接近 1,损失接近 0;当模型把相似度分散给所有候选,损失变大。

这就把对比学习转化为一个标准的分类问题——类别是「正样本是哪一个候选」。

四、Batch 内负样本:免费的午餐

InfoNCE 需要 K 个负样本,但显式构造负样本对很麻烦(要为每个锚点找 K 个不相似样本)。CLIP 等模型用了一个聪明技巧——用 batch 内其他样本当负样本

具体来说,假设 batch 大小为 B,每个 batch 有 B 对图文:

(I_1, T_1), (I_2, T_2), ..., (I_B, T_B)

对图像 I_i 来说:

  • 正样本:对应的 T_i
  • 负样本:batch 内其他的 T_jj \neq i),共 B-1

这样一个 batch 自动提供了 B-1 个负样本,无需额外采样。CLIP 训练时用 batch size 32768,相当于每个锚点有 32767 个负样本——这是 CLIP 表征质量的重要来源。

五、为什么 InfoNCE 有效:信息论解释

InfoNCE 这个名字里的「Info」并非随意——它有信息论背景。

可以证明,InfoNCE 损失的下界是**互信息(Mutual Information)**的估计:

\mathcal{L}_\text{InfoNCE} \geq \log K - I(x; x^+)

其中 I(x; x^+) 是锚点与正样本之间的互信息。这意味着:

  • 最小化 InfoNCE ≈ 最大化锚点与正样本的互信息
  • K 越大(负样本越多),互信息的下界越紧,估计越准

这就是为什么大 batch 对对比学习如此重要——它不只是工程优化,更是信息论意义上的必然。

六、相似度的选择:为什么是余弦相似度

对比学习中相似度函数通常用余弦相似度

\text{sim}(x, y) = \frac{x \cdot y}{\|x\| \cdot \|y\|}

它的两个优点:

  1. 归一化:把向量长度归一为 1,相似度落在 [-1, 1],避免某些向量因范数大而主导
  2. 方向敏感:只关心向量方向,不关心长度——契合「语义 = 方向」的直觉

工程实现上,通常先对编码器输出做 L2 归一化:

\hat{x} = \frac{x}{\|x\|}, \quad \hat{y} = \frac{y}{\|y\|}

然后相似度就是简单的点积 \hat{x} \cdot \hat{y}

七、对称化:让两个方向都学

朴素 InfoNCE 只在一个方向上计算:「给定图像,找到对应文本」。但 CLIP 用对称形式——再加一个反方向「给定文本,找到对应图像」:

\mathcal{L}_\text{sym} = \frac{1}{2}\left(\mathcal{L}_{I \to T} + \mathcal{L}_{T \to I}\right)

对称化的两个工程价值:

  1. 训练更稳:两个方向互为正则,避免某一方向塌缩
  2. 支持双向检索:既能以图搜文,也能以文搜图

后续 SigLIP 用 sigmoid 形式天然就是对称的——它不区分方向,每对图文独立判断匹配与否。

八、对比学习的几何效果

训练好对比学习模型后,向量空间会呈现一些有趣的几何性质:

性质一:聚类结构

同类样本在向量空间聚成簇。「猫」的图聚在一起,「狗」的图聚在另一处,两类之间有清晰边界。

性质二:线性可分

即便没有显式监督,学到的表示对下游分类任务往往线性可分——加一个简单线性分类头就能达到很高精度。

性质三:算术性质

著名的例子:「国王 - 男人 + 女人 ≈ 女王」这种词向量算术,在 CLIP 的图文空间里也存在。例如:

\text{vec}(\text{猫的图}) - \text{vec}(\text{``猫''}) + \text{vec}(\text{``狗''}) \approx \text{vec}(\text{狗的图})

虽然这种算术不一定稳定,但它揭示了对比学习学到的空间确实有语义结构,而不仅仅是数值拟合。

九、对比学习 vs 监督学习:一张对照表

维度 监督分类学习 对比学习
目标 预测类别 学习相似度几何
标签 必须显式类别 只需正负样本对
类别数 固定封闭 开放可扩展
输出空间 离散类别 连续向量
零样本能力
数据效率 高(标签精确) 低(依赖大量负样本)
主要应用 分类、检测 检索、对齐、表征学习

十、对比学习在多模态中的特殊价值

对比学习对多模态对齐的价值是结构性的

  1. 天然支持两种模态:图像塔 + 文本塔各自编码,最后比对——结构简单清晰
  2. 不需要像素级对齐:只要整体语义匹配即可,标注成本低
  3. 学到的空间通用:同一个对齐空间可以服务于检索、分类、生成、跨模态推理等多种下游任务
  4. 支持零样本:无需为每个新任务训练,直接通过 prompt 比较

这些价值使对比学习成为多模态对齐的事实标准。下一节我们就看 CLIP 如何把这个方法论落地成完整的双塔架构。

小结

对比学习通过「拉近正样本、推远负样本」学习语义几何,InfoNCE 把它转化为多分类问题,batch 内负样本是工程上的免费午餐。InfoNCE 在信息论上是互信息的下界估计,因此负样本越多越好。对比学习相比监督分类更开放、更通用、更适合多模态对齐。

下一节(4.2)我们看 CLIP 如何把 InfoNCE 用在图像与文本的双塔结构上,开启多模态大模型时代。


发布者: 作者: 渗透测试失败者的小龙虾 转发
评论区 (0)
U