4.1 对比学习的数学原理 对比学习(Contrastive Learning)是多模态对齐的核心方法论。它不依赖显式标签,而是通过「拉近正样本、推远负样本」的几何约束,让模型自己学出有语义的表示空间。本节从直觉出发,一步步推出对比学习的核心数学形式 InfoNCE。 一、为什么是对比学习:监督学习的局限 传统的分类学习依赖封闭类别标签——「这是猫(类别 0)」「那是狗(类别 1)」。这种范式有三个根本局限: 局限一:类别集合封闭 猫、狗、汽车、椅子……ImageNet 有 1000 类,但真实世界有无限种物体。模型见过的类别之外,它就识别不了。 局限二:标签成本高 每张图都要人工标注,扩展到互联网级数据(数十亿张图)成本爆炸。
对比学习(Contrastive Learning)是多模态对齐的核心方法论。它不依赖显式标签,而是通过「拉近正样本、推远负样本」的几何约束,让模型自己学出有语义的表示空间。本节从直觉出发,一步步推出对比学习的核心数学形式 InfoNCE。
传统的分类学习依赖封闭类别标签——「这是猫(类别 0)」「那是狗(类别 1)」。这种范式有三个根本局限:
猫、狗、汽车、椅子……ImageNet 有 1000 类,但真实世界有无限种物体。模型见过的类别之外,它就识别不了。
每张图都要人工标注,扩展到互联网级数据(数十亿张图)成本爆炸。
「猫」这个标签丢失了「橘色的」「坐着的」「在窗台上」等大量语义信息。
对比学习绕过这三个局限——它不预测具体类别,而是学习「相似/不相似」的几何关系。只要知道「这两张图是同一物体的不同视角」「这两段文本描述了同一张图」,就能学出连续、开放、细粒度的表示空间。
对比学习的目标是学一个编码器 f,把输入映射到向量空间,使得:
数学上,这相当于在学习一个语义度量:两个样本在向量空间的距离,等于它们在语义空间的距离。
考虑两类样本:
对比学习的目标函数可以写成最朴素的形式:
其中 \text{sim}(\cdot, \cdot) 是相似度函数(通常是余弦相似度),\lambda 是平衡系数。
朴素的「正样本拉近 + 负样本推远」有几个工程问题:
InfoNCE(Info Noise-Contrastive Estimation)用一个漂亮的概率框架解决了这些问题。
把对比学习重新表述为多分类问题:
给定锚点 x 与一个候选集合 \{x^+, x^-_1, x^-_2, \dots, x^-_K\},模型要从中识别出唯一的正样本 x^+。
形式化为 K+1 类分类,用 softmax:
其中:
InfoNCE 的物理意义是:在 K+1 个候选中,模型有多大概率把最大的相似度给正样本。当这个概率接近 1,损失接近 0;当模型把相似度分散给所有候选,损失变大。
这就把对比学习转化为一个标准的分类问题——类别是「正样本是哪一个候选」。
InfoNCE 需要 K 个负样本,但显式构造负样本对很麻烦(要为每个锚点找 K 个不相似样本)。CLIP 等模型用了一个聪明技巧——用 batch 内其他样本当负样本。
具体来说,假设 batch 大小为 B,每个 batch 有 B 对图文:
(I_1, T_1), (I_2, T_2), ..., (I_B, T_B)
对图像 I_i 来说:
这样一个 batch 自动提供了 B-1 个负样本,无需额外采样。CLIP 训练时用 batch size 32768,相当于每个锚点有 32767 个负样本——这是 CLIP 表征质量的重要来源。
InfoNCE 这个名字里的「Info」并非随意——它有信息论背景。
可以证明,InfoNCE 损失的下界是**互信息(Mutual Information)**的估计:
其中 I(x; x^+) 是锚点与正样本之间的互信息。这意味着:
这就是为什么大 batch 对对比学习如此重要——它不只是工程优化,更是信息论意义上的必然。
对比学习中相似度函数通常用余弦相似度:
它的两个优点:
工程实现上,通常先对编码器输出做 L2 归一化:
然后相似度就是简单的点积 \hat{x} \cdot \hat{y}。
朴素 InfoNCE 只在一个方向上计算:「给定图像,找到对应文本」。但 CLIP 用对称形式——再加一个反方向「给定文本,找到对应图像」:
对称化的两个工程价值:
后续 SigLIP 用 sigmoid 形式天然就是对称的——它不区分方向,每对图文独立判断匹配与否。
训练好对比学习模型后,向量空间会呈现一些有趣的几何性质:
同类样本在向量空间聚成簇。「猫」的图聚在一起,「狗」的图聚在另一处,两类之间有清晰边界。
即便没有显式监督,学到的表示对下游分类任务往往线性可分——加一个简单线性分类头就能达到很高精度。
著名的例子:「国王 - 男人 + 女人 ≈ 女王」这种词向量算术,在 CLIP 的图文空间里也存在。例如:
虽然这种算术不一定稳定,但它揭示了对比学习学到的空间确实有语义结构,而不仅仅是数值拟合。
| 维度 | 监督分类学习 | 对比学习 |
|---|---|---|
| 目标 | 预测类别 | 学习相似度几何 |
| 标签 | 必须显式类别 | 只需正负样本对 |
| 类别数 | 固定封闭 | 开放可扩展 |
| 输出空间 | 离散类别 | 连续向量 |
| 零样本能力 | 无 | 强 |
| 数据效率 | 高(标签精确) | 低(依赖大量负样本) |
| 主要应用 | 分类、检测 | 检索、对齐、表征学习 |
对比学习对多模态对齐的价值是结构性的:
这些价值使对比学习成为多模态对齐的事实标准。下一节我们就看 CLIP 如何把这个方法论落地成完整的双塔架构。
对比学习通过「拉近正样本、推远负样本」学习语义几何,InfoNCE 把它转化为多分类问题,batch 内负样本是工程上的免费午餐。InfoNCE 在信息论上是互信息的下界估计,因此负样本越多越好。对比学习相比监督分类更开放、更通用、更适合多模态对齐。
下一节(4.2)我们看 CLIP 如何把 InfoNCE 用在图像与文本的双塔结构上,开启多模态大模型时代。