引言:CNN 的黄昏与 Transformer 的黎明
计算机视觉(Computer Vision)在 2012-2020 年间被卷积神经网络(CNN)统治——从 AlexNet 到 ResNet,再到 EfficientNet,CNN 架构的进化路径似乎是"更多的层、更宽的通道、更巧妙的注意力模块"。
然而,2020 年 Vision Transformer(ViT)的出现彻底改变了这一格局。ViT 的核心洞察惊人地简单:图像也可以是一系列 Token,就像自然语言可以分割为 Word Token 一样。
CNN 的遗产与局限
CNN 的核心归纳偏置
CNN 的成功源于两个关键的归纳偏置(Inductive Bias):
- 平移等变性(Translation Equariance):卷积核在图像任何位置都能检测相同模式
- 局部性(Locality):相邻像素比远距离像素更可能相关
- 感受野受限:卷积只能捕获局部信息,难以建立长距离依赖
- 计算冗余:使用相同的卷积核处理图像所有位置,忽略内容差异
- 多尺度困难:需要特征金字塔(FPN)、空洞卷积等机制弥补
- 分辨率固定:输入尺寸通常固定,难以适应不同分辨率
- Patch 切分:将 224×224 图像切分为 14×14=196 个 16×16 patch
- 线性映射:每个 Patch 通过线性层映射到 D 维向量
- 位置编码:添加可学习或固定的位置编码
- Class Token:在序列前添加一个可学习的全局 Token,用于分类
- 标准 Transformer:多头自注意力 FFN LayerNorm
- 没有平移等变性(需要从数据中学习)
- 没有局部性(需要从数据中学习)
- 有位置编码和全局注意力作为替代
- 蒸馏 Token:在 ViT 中额外添加一个 Token,专门学习模仿教师模型的输出
- 强数据增强:RandAugment、Mixup、CutMix、Random Erasing
- 知识蒸馏损失:L = α · CE(hard_label, student) (1-α) · KL(teacher_soft, student_soft)
- Encoder:只处理可见 Patch(约 25%),大幅减少计算
- Decoder:轻量设计,Encoder 计算量约 1/10
- 训练策略:训练完成后丢弃 Decoder,仅用 Encoder 做下游任务
- 点 Prompt:前景点 背景点
- 框 Prompt:包围目标的边界框
- 文本 Prompt(通过 CLIP 编码的文本描述)
- Mask Prompt:粗糙的 mask 作为起点
- 图像编码器:使用 MAE 预训练的 ViT-H(632M 参数)
- 实时解码:Mask 解码器仅 2 层 Transformer,单次推理仅 ~50ms
- 模糊处理:每个 Prompt 输出 3 个 mask,表示可能的歧义
- 交互式标注:标注者点击 SAM 输出的 mask 边缘,SAM 实时更新
- 模型辅助标注:先用已有 SAM 模型初始化标注,标注者修正困难样本
- 迭代训练:每轮扩大训练数据和模型能力
- 从互联网、专业数据集收集和去重 1.42 亿张图像
- 用自监督方式聚类去重
- 平衡类别长尾分布
- KNN 分类:无需训练分类头,直接 KNN 在 ImageNet 上达到 78.8%
- 线性探针:线性分类器达到 84.5% Top-1
- 迁移性:在深度估计、语义分割、视频分类等任务上均表现优异
- 小 Patch(14×14)最适合密集预测任务(分割、深度估计)
- 多源数据 > 大数据量:142M 多源图像比 1B 单源数据效果好
- 训练稳定:LARC 余弦退火 KD 协同保持训练稳定
- 无需 BN:ViT 不使用 BatchNorm 更优
- BLIP-2:Q-Former 桥接视觉编码器与 LLM
- LLaVA:Vicuna CLIP 视觉编码器,GPT-4 辅助训练
- GPT-4V:支持图像/视频输入的通用多模态模型
- ViT 证明了 Transformer 可以直接处理视觉信号
- MAE/DINOv2 证明了自监督学习可以获得超越有监督的通用视觉特征
- SAM 证明了分割可以成为可 Prompt 的基础模型
- 多模态 LLM 正在建立视觉 文本的统一表征空间
这些偏置使 CNN 在数据量较少时就能高效学习——不需要太多训练样本即可掌握"边缘检测""纹理"等基础视觉模式。
CNN 的局限
Vision Transformer:用最简架构重塑视觉
核心架构
ViT 的架构设计极简——几乎直接将 NLP Transformer 的视觉版本:
图像 → Patch Embedding(16×16 patch)→ 位置编码 → Transformer Encoder → MLP Head
关键技术步骤:
大数据集上的惊人表现
ViT 的训练需要大量数据——在 ImageNet-1K(128 万张图)上,ViT 不如 ResNet;但在 ImageNet-21K(1400 万张图)或 JFT-300M(3 亿张图)上,ViT 展现出压倒性优势。
| 模型 | 数据集 | ImageNet Top-1 |
|---|---|---|
| ResNet-152 | ImageNet-1K | 78.3% |
| ViT-B/16 | ImageNet-1K | 77.9% |
| ViT-B/16 | ImageNet-21K | 84.0% |
| ViT-L/16 | ImageNet-21K | 85.3% |
| ViT-H/14 | JFT-300M | 88.5% |
ViT 的归纳偏置有何不同?
相比 CNN,ViT 几乎没有归纳偏置:
这导致 ViT 的"数据饥渴"特性——但在大数据集上,缺乏先验偏置反而成为优势:模型可以学到 CNN 学不到的长距离依赖。
DeiT:ViT 的小数据训练
Facebook AI 的 Data-efficient Image Transformer(DeiT)通过蒸馏(Distillation)策略让 ViT 在 ImageNet-1K 上也能高效训练:
Teacher (CNN: RegNet) → 软标签 → Student (ViT)
关键创新:
DeiT-Small 在 ImageNet-1K 上达到 79.8% Top-1,无需大数据集预训练——这一发现让 ViT 走向更广泛的使用场景。
MAE:掩码自编码器的视觉复兴
BERT 视觉版
BERT 在 NLP 中的成功启发了 Masked Autoencoders(MAE)——Facebook AI 的何恺明团队在 2021 年提出了将 BERT 的掩码策略适配到视觉:
图像 → Patch 序列 → 随机掩码 75% Patch →
_encoder_ → 可见 Patch 特征 →
轻量 Decoder → 重构被掩码 Patch → 像素重建损失
MAE 的关键设计
高的掩码率(~75%):这是 MAE 最反直觉也最关键的设计。BERT 只掩码 15% Token,但 MAE 发现 75% 的掩码率对视觉任务仍然可行——因为图像的空间冗余远高于文本。
非对称架构:
自监督 → 监督的微调流程
Step 1: 自监督预训练(无标签)
MAE Encoder 在 ImageNet-1K 上预训练(无标签)
Step 2: 监督微调(有标签)
在预训练 Encoder 上添加分类头,用标签微调
Step 3: 迁移学习
冻结 Encoder 特征,训练下游任务头
这种方式证明:自监督预训练 有监督微调 > 纯有监督训练。
SAM:Segment Anything——视觉分割的基础模型
任务定义
Meta AI 的 SAM(Segment Anything Model, 2023)将分割(Segmentation)提升为基础模型任务:
给出任何形式的提示(点、框、文本、mask),SAM 输出对应的二值分割 masks。
Prompt 编码
SAM 的 Prompt 编码器支持多种提示类型:
架构设计
图像 → 图像编码器(MAE预训练ViT)→ 图像嵌入(64×64 feature map)
↓
Prompt → Prompt编码器 → Prompt嵌入
↓
轻量级 Mask 解码器
↓
Masks(1/2/3个) 置信度
关键设计:
训练:Segment Anything 10 亿 Mask 数据集
SA-1B 数据集包含 1100 万张图像的 10 亿个授权 mask——这是史上最大的分割数据集。
训练策略:
DINOv2:视觉特征的通用表示
自蒸馏 多源数据
Facebook AI 的 DINOv2(2023)的目标是学习通用的视觉特征——不需要任何标签,也不针对特定任务优化:
两视图对比学习(DINO)
iBOT掩码patch损失
SwAV多作物策略
LARC优化器
数据引擎
DINOv2 构建了 LVD-142M(Large and Diverse 142 Million)数据集:
特征质量
DNNN2 的特征质量令人惊叹:
关键发现
DINOv2 的重要工程洞察:
多模态基础模型
CLIP 的意义
OpenAI 的 CLIP 建立了"图像 → 文本"的对齐空间:
图像编码器(图像特征) 文本编码器(文本特征)
对比学习使匹配图文对在特征空间接近
CLIP 的革命性:零样本分类——只需提供类别名称作为文本描述,模型就能分类图像。
BLIP-2、LLaVA、GPT-4V
多模态大模型进一步融合视觉与语言:
自监督的视觉未来
统一的预训练框架
自监督学习正在成为视觉预训练的事实标准:
| 方法 | 策略 | 核心创新 |
|---|---|---|
| MAE | 掩码重建 | 75%掩码率训练 |
| DINO/DINOv2 | 自蒸馏 | no-label对比学习 |
| iBOT | patch级对比 | patch image 双重目标 |
| I-JEPA | 特征空间预测 | 预测 masked region 的特征而非像素 |
| Data2Vec | 模态无关 | 统一多种模态的自监督框架 |
总结
计算机视觉正在经历从"任务驱动"到"基础模型驱动"的范式变迁:
未来的视觉系统或许不再需要为每个任务(检测、分割、分类)分别训练模型——一个预训练的视觉基础模型 适当的 Prompt 可能就能完成大多数任务。这一变革正如 GPT 在 NLP 中所引发的范式迁移。
*本文由 YBB 自动化流水线发布*

发表评论 取消回复