Contrastive Learning(对比学习)
就是让模型学会:相似的东西要靠近、不相似的东西要分开,不需要打标签就能学表示
亦作、亦称:对比学习 · SimCLR · MoCo · contrastive self-supervised learning · Contrastive Objective · 对比式自监督学习
对比学习通过区分「相似」与「不相似」样本对,让模型无需人工标注即可习得强大的特征表示。它是 SimCLR、MoCo、CLIP 等里程碑工作的核心学习范式。
概述
对比学习是当前最主流的自监督表示学习方法之一,目标是在无标注数据上训练出能区分语义差异的特征编码器。
- 核心假设:语义相近的样本(正对)在嵌入空间中应相互靠近,语义不同的样本(负对)应相互远离
- 优势:无需人工标注,可充分利用海量无标签数据
- 代表框架:SimCLR、MoCo、BYOL(无负样本)、CLIP(多模态)
- 应用规模:已被用于图像、文本、语音、图结构等多种模态的大规模预训练
工作原理
对比学习的训练流程以「正负样本构造 + 对比目标优化」为核心。
- 数据增强:对同一原始样本施加两次随机增强(裁剪、颜色抖动、高斯模糊等),得到正对 (x_i, x_j)
- 编码器前向:将正负样本分别送入共享或动量编码器,输出归一化嵌入向量
- 对比损失:以 InfoNCE loss(NT-Xent)为主;拉近正对余弦相似度,推远同批次其他样本(负对)
- 温度参数 τ:控制分布尖锐程度,较小 τ 使模型更关注困难负例
- 下游迁移:预训练完成后冻结或微调编码器,用少量标注数据做线性探测或全量微调
主要变体与方法
根据负样本来源与架构设计,对比学习形成了若干重要变体。
- SimCLR(2020, Google):使用大 batch(4096)内所有其他样本为负例,结构简单但显存需求高
- MoCo(2020, FAIR):引入动量编码器与队列(memory queue),解耦 batch size 与负样本数量,显存友好
- BYOL(2020, DeepMind):完全去掉负样本,依靠在线-目标网络的不对称结构防止表示坍塌
- SimSiam(2021):进一步简化 BYOL,仅用停止梯度(stop-gradient)避免坍塌
- CLIP(2021, OpenAI):将对比学习扩展到图文对,用 4 亿图文对训练,实现零样本图像分类
应用场景
对比学习已在多个领域取得显著成果,是预训练基础模型的核心技术之一。
- 计算机视觉:ImageNet 无监督预训练,得到媲美有监督方法的特征表示
- 多模态对齐:CLIP 系列模型用于图文检索、图像分类、文生图基础表示
- NLP:SimCSE 将对比学习引入句向量训练,提升语义相似度任务性能
- 医学影像:利用同一患者不同模态扫描构成正对,实现小样本医学分类
- 推荐系统:用户行为序列的对比预训练,提升冷启动效果
局限与常见误区
对比学习并非万能,在实践中存在若干已知局限与认知误区。
- 假负例问题:同批次中可能存在语义相同的样本被错误当作负对,损害表示质量
- 对数据增强敏感:增强策略选择对性能影响很大,不同模态需针对性设计
- 计算开销:大 batch(SimCLR)或维护队列(MoCo)都带来额外显存/计算压力
- 误区——「去掉负样本就不是对比学习」:BYOL 等方法无需显式负样本,但仍属广义对比学习范畴
- 误区——「对比学习只适合视觉」:SimCSE(NLP)、音频对比学习等均已证明其跨模态通用性
发展脉络
对比学习经历了从经典损失函数到大规模预训练范式的演进。
- 2006:Hadsell、Chopra、LeCun 提出对比损失(Contrastive Loss),用于降维与人脸验证
- 2018:van den Oord 等提出 CPC + InfoNCE loss,从信息论角度统一对比目标
- 2020 Q1:何恺明等发布 MoCo(CVPR 2020),用动量队列解耦负样本数量
- 2020 Q2:Chen 等发布 SimCLR(ICML 2020),刷新 ImageNet 无监督 SOTA
- 2020 Q3:Grill 等发布 BYOL,证明无负样本亦可学到高质量表示
- 2021:Radford 等发布 CLIP,将对比学习带入图文多模态大规模预训练
- 2022 至今:对比学习与生成目标结合(如 BLIP),成为多模态基础模型标配预训练策略
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「就是让模型学会:相似的东西要靠近、不相似的东西要分开,不需要打标签就能学表示」
- 「正对就是同一张图片的两种裁剪方式,负对就是其他图片——模型要把它们在特征空间里拉开或推近」
- 「对比学习最难的地方是负样本采多少、怎么采,采太少模型学不好,采太多又很耗显存」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
- 1
自监督视觉学习:MAE, DINO, MoCo
无需标注数据的视觉预训练,掌握自监督学习的最新进展
- 2
多模态技术范式演进:从视觉对齐到视觉原语的完整路线
多模态 AI 技术在过去五年经历了从视觉对齐到视觉原语的范式跃迁。本文系统梳理 CLIP→BLIP→Flamingo→LLaVA→视觉原语的完整技术演进路线,深入讲解每个阶段的核心突破、架构变迁、性能对比和未来趋势,包含实战代码实现和跨模态表征的底层原理分析。
- 3
多模态表示学习:文本、图像与语音的统一嵌入基础
系统讲解多模态表示学习的核心原理:如何将文本、图像、语音等异构数据映射到统一的嵌入空间,从 CLIP 对比学习到多模态 Transformer,从特征融合策略到跨模态检索实战。