自监督视觉与多模态对比学习
不需要标注:让模型自己从「哪些是同一张」中学会看世界
定义
自监督视觉是不依赖人工标注、而从数据自身的结构构造监督信号来预训练表征的方法;对比学习通过拉近同一图的不同增强视图、推远不同图来学习特征。多模态对比学习(CLIP)进一步把成对的图像与文本对齐到同一嵌入空间,使模型能用自然语言做零样本分类。
直观理解
传统监督学习要人一张张标「这是猫」。自监督换了个思路:把同一张图裁剪、翻转、变色两次,告诉模型「这两个是同一张」,再拿一堆别的图告诉它「那些不是」。 模型为了答对,被迫忽略颜色、角度等无关变化,抓住物体本身的特征——整个过程不需要一个标签。CLIP 则把这套玩法搬到图文对上,让「一张狗的图」与“a photo of a dog”在空间里靠近。
对比学习的训练闭环:同一张图生成两个增强视图,编码后由对比损失拉近正样本、推远负样本,全程不需要人工标签
自监督与监督预训练的线性探测 / 零样本准确率(ResNet-50 主干;CLIP 为 ViT-L/14 零样本)
工作原理
- 01
从数据里「造」出监督信号
用同一图像的两个随机增强视图作为正样本对,同批次内的其他图作为负样本。标签完全来自数据本身,因此可以无限扩增,不受人工标注速度的限制。
- 02
对比损失 InfoNCE
让正样本对的相似度上升、与负样本的相似度下降,温度系数控制分布的锐度。SimCLR 证明了这一点:大 batch、强增强、投影头三者缺一不可。
- 03
MoCo:用队列与动量编码器扩充负样本
不必依赖超大 batch,MoCo 维护一个负样本队列,并用动量更新的编码器保证队列里特征的一致性,让负样本数量可以远大于 batch size。
- 04
对齐视觉与语言:CLIP
在 4 亿对图文上做双向对比学习,把图像编码器与文本编码器对齐。分类时把类别名写成提示模板(如 “a photo of a {}”),比较图文相似度即可,无需任何微调——即零样本分类。
CLIP 的双塔结构:图像与文本各由独立编码器映射到同一嵌入空间,靠余弦相似度对齐
CLIP 的零样本能力随模型规模上升:不同主干在 ImageNet 上的零样本 top-1 准确率
- 零样本 ImageNet
应用场景
- 标签稀缺的领域:医学、工业、遥感先自监督预训练,再小样本微调
- 图文检索与以图搜图:CLIP 式的共享嵌入空间
- 零样本与开放词表分类:用自然语言定义新类别
- 生成模型的条件对齐:扩散模型用 CLIP 文本编码器理解提示
常见误区
- 「无需标签」不等于「无需数据」。CLIP 用了 4 亿图文对,SimCLR 需要大批次与长训练——成本只是从人工标注转移到了算力。
- 自监督特征未必全面优于监督特征。在若干稠密预测任务(检测、分割)上,监督预训练仍可能更强或更高效。
- 对比学习高度依赖增强策略。增强过弱学不到不变性,过强则可能破坏语义,超参数敏感。
- 零样本能力受提示措辞影响,且对训练分布之外的类别与细粒度区分能力有限。
关键术语
- 对比学习
- 靠拉近正样本、推远负样本来学习表征
- InfoNCE
- 对比学习的标准损失,本质是多分类交叉熵
- 投影头
- 对比损失所加的 MLP,训练完通常丢弃
- 零样本分类
- 不微调、直接用文本提示分类