Ch06 神经网络基础

对比学习 (Contrastive Learning)

概述

对比学习(Contrastive Learning)是一种自监督表示学习方法,核心思想是:拉近相似样本(正样本对)的表示,推远不相似样本(负样本对)的表示。通过构造正负样本对并在表示空间中施加对比约束,模型可以学习到高质量的特征表示,无需人工标注。对比学习是 CLIP、SimCLR、MoCo 等里程碑式工作的理论基础,也是 2026 年多模态表示学习的核心范式。

核心原理

对比学习的目标函数是 InfoNCE 损失(Noise Contrastive Estimation 的信息论版本):

其中:

  • :锚点 (anchor) 的表示
  • :正样本 (positive) 的表示
  • :负样本 (negative) 的表示
  • :相似度函数(通常为余弦相似度)
  • :温度参数 (temperature),控制分布的平滑程度

关键设计要素

1. 正负样本构造

这是对比学习最核心的设计问题。不同方法的主要区别在于如何定义正样本对:

方法正样本来源负样本来源提出年份
SimCLR同一样本的不同数据增强Batch 内其他样本2020
MoCo v1/v2同一样本的不同增强动量队列(Momentum Queue)2020
BYOL同一样本的不同增强无显式负样本(自举)2020
SimSiam同一样本的不同增强无显式负样本(stop-gradient)2021
CLIP图文对Batch 内其他图文对2021
SigLIP图文对Batch 内其他图文对(sigmoid 替代 softmax)2023

2. 温度参数

温度参数控制模型对负样本”惩罚”的力度:

  • 小:分布更尖锐,对困难负样本(hard negatives)更敏感,表示更具判别性
  • 大:分布更平滑,训练更稳定,但可能不够区分细节

3. 负样本数量与质量

  • 数量:更多负样本通常带来更好的表示(InfoNCE 的互信息下界更紧)
  • 质量:困难负样本(与正样本相似的负样本)对学习至关重要
  • 2026 年趋势:大 batch size + 动量队列 + 负样本挖掘

代表性工作对比

工作负样本机制是否需要大 Batch是否需要动量编码器特点
SimCLRBatch 内负样本是(4096+)否简单直接,强数据增强
MoCo v2动量队列否是解耦负样本数量与 batch size
BYOL无负样本否是自举式学习,避免模式坍塌
CLIPBatch 内跨模态负样本是(32768)否图文对齐,零样本迁移
DINO v2无负样本(自蒸馏)否是(教师-学生)自监督 ViT 特征学习

多模态对比学习:CLIP 范式

CLIP (Contrastive Language-Image Pre-training) 是对比学习在多模态领域的里程碑:

  1. 双编码器:图像编码器(ViT/ResNet)+ 文本编码器(Transformer)
  2. 对比目标:Batch 内所有图文对中,匹配的对为正样本,其余为负样本
  3. 零样本能力:通过文本 prompt 模板,无需微调即可进行图像分类

CLIP 的损失函数是双向的 InfoNCE(图像到文本 + 文本到图像)。

2026 年趋势

  1. 生成式对比学习:结合对比学习与生成式模型(如 DINO + 扩散模型)
  2. 多模态对齐:CLIP 范式扩展到视频、音频、3D、蛋白质结构等模态
  3. 对比学习 + LLM:用 LLM 生成高质量负样本描述,提升对比学习效果
  4. 数据为中心:研究如何自动挖掘和构造高质量正负样本对
  5. 对比学习驱动的 RAG:用对比学习训练检索器的查询-文档对齐

相关笔记

来源

关联8

知识图谱

局部图谱 · 点节点跳转