【2025收藏级教程】小白也能彻底看懂的多模态表示学习:CLIP 与 MoCo 全景详解
这篇文章把目前最火的两大视觉-语言预训练范式讲透:
- MoCo(自监督单模态表示学习之王)
- CLIP(多模态零样本神器,彻底改变业界格局)
读完这篇,你将彻底明白:为什么现在所有大模型都在抄 CLIP?
一、先搞清楚:什么叫“多模态表示学习”?
简单说:让机器同时理解图片和文字,并且让同一张图片和它的描述在同一个向量空间里靠得特别近。
目标:在同一个高维空间里:
图片向量 ≈ 文字向量(描述这张图片)
图片向量 ≫ 其他随机文字向量
做到这一点后,神奇的事情就发生了:
- 零样本图像分类(没见过猫,也能认猫)
- 跨模态检索(用文字搜图、用图搜文字)
- 强大的视觉特征提取器(比 ImageNet 监督还强)
二、MoCo(2019-2021):单模态自监督的巅峰
MoCo = Momentum Contrast,来自何恺明团队,是对比学习(Contrastive Learning)的开山之作。
核心思想:把“同一张图的不同增强”当作正样本,其他图当作负样本,拉近正样本、推远负样本。
MoCo v3(2021)经典架构图解(小白版)
原始图片 → 两种增强(随机裁剪+颜色抖动+模糊)
↓ ↓
Student Encoder Momentum Encoder(动量更新)
↓ ↓
Projection Head Projection Head
↓ ↓
向量 q 向量 k(动量队列)
↓ ↓
队列(Queue):存最近 65536 个 k(负样本字典)
↓
InfoNCE Loss:q 和自己的 k 拉近,和队列里其他 k 推远
关键创新点(必须记住):
| 技术点 | 作用 | 经典参数 |
|---|---|---|
| 动量更新 | 让 key encoder 变化更慢,避免崩溃 | momentum = 0.999 |
| 队列(Queue) | 提供大量负样本,不占显存 | 65536 |
| Projection Head | 防止信息丢失,学到更好的表示 | MLP 三层 |
| 强数据增强 | 制造“伪标签”,让模型学到语义不变性 | RandAug + ColorJitter |
结果:MoCo v3 在 ImageNet 线性探针下达到 76.7%(仅次于监督),奠定了单模态自监督霸主地位。
三、CLIP(2021):OpenAI 直接改变了游戏规则
论文全名:Learning Transferable Visual Models From Natural Language Supervision
一句话总结:用 4 亿张(图+文字对)做对比学习,直接干翻 ImageNet 监督预训练!
CLIP 核心思想(极简版)
不要 ImageNet 的 1000 类标签了!
我们有 4 亿张真实互联网图片,每张图都配一段自然语言描述(比如 alt text、caption)
我们不预测类别,而是预测:“这张图和哪句话是一对的?”
Batch = N 张图 + N 段文字(乱序)
计算 N×N = 262144 个相似度
只让 N 个正确对的相似度高,其他全推远
→ InfoNCE Loss(和 MoCo 一模一样!)
CLIP 架构超简单(画出来就懂)
图像 → ViT 或 ResNet → Image Encoder → 768维向量
文字 → Transformer(小模型)→ Text Encoder → 768维向量
↓ ↓
L2 归一化 L2 归一化
↓ ↓
点积计算相似度 → 温度系数 τ 缩放
↓
对角线为正样本 → InfoNCE Loss
关键超参数:
- 温度系数 τ = 0.07(控制分布 sharpness)
- Batch Size 越大越好(OpenAI 用 32,768!)
- 数据规模:4亿图文对(wit400m 数据集)
CLIP 为什么这么强?(3个致命优势)
| 优势 | 解释 | 结果 |
|---|---|---|
| 数据规模碾压 | 4亿 > ImageNet 128万 | 泛化能力爆表 |
| 自然语言监督 | 文字天然包含丰富语义、属性、场景 | 零样本也能理解“猫戴眼镜” |
| 对齐模态空间 | 图文在同一空间,迁移性极强 | 下游任务随便微调都强 |
零样本结果(不训练直接测):
- ImageNet:76.2%(超越很多监督模型)
- 能认 3 万多种概念(包括 meme、艺术风格)
四、CLIP vs MoCo:一图看清区别
| 维度 | MoCo v3 | CLIP |
|---|---|---|
| 模态 | 单模态(只看图) | 多模态(图+文) |
| 正样本定义 | 同一张图的两种增强 | 来自互联网的真实图文对 |
| 负样本 | 队列里的其他图 | Batch 内其他所有图文对 |
| 监督信号 | 自监督(伪标签) | 弱监督(自然语言) |
| 零样本能力 | 没有 | 超强 |
| 数据量 | 128万(ImageNet 无标签) | 4亿(互联网图文对) |
| 迁移性能 | 很强 | 更强(尤其跨领域) |
| 代表模型 | DINO、BYOL、SimCLR、MoCo | CLIP、ALIGN、LiT、Flamingo |
结论:MoCo 是单模态的巅峰,CLIP 是多模态的开端。
五、2024-2025 年演进路线(你必须知道)
| 年份 | 代表模型 | 核心创新 |
|---|---|---|
| 2021 | CLIP | 4亿图文对比学习 |
| 2022 | BLIP / BLIP-2 | 图文生成 + 对比学习混合训练 |
| 2023 | Kosmos-1 / Qwen-VL | 多模态大语言模型(支持对话) |
| 2024 | LLaVA / InternVL | 视觉指令微调,接近人类理解水平 |
| 2025 | Emu3 / Chameleon | 多模态统一生成(图文混排生成) |
现在所有顶级多模态模型底层都是 CLIP-style 预训练!
六、总结:一句话记住
- MoCo:教会了我们“自监督也能打败监督”
- CLIP:教会了我们“自然语言才是最好的监督信号”
CLIP 是过去 5 年视觉领域最重要的一篇论文,没有之一。
七、福利(直接白嫖)
想要我立刻打包送你(全部带详细注释源码):
- CLIP 官方 + 中文注释版完整代码(ViT + Transformer)
- MoCo v3 PyTorch 实现(带动量队列)
- CLIP 手绘原理图 + 思维导图(打印贴墙版)
- 《从 MoCo 到 CLIP 到 LLaVA》技术演进报告(50页PDF)
- OpenCLIP 中文数据集训练脚本(已跑通)
直接回复:“CLIP资料”
我立刻打包发你!冲就完了!这波不收藏你会后悔一辈子!