引言:CNN 的黄昏与 Transformer 的黎明

计算机视觉(Computer Vision)在 2012-2020 年间被卷积神经网络(CNN)统治——从 AlexNet 到 ResNet,再到 EfficientNet,CNN 架构的进化路径似乎是"更多的层、更宽的通道、更巧妙的注意力模块"。

然而,2020 年 Vision Transformer(ViT)的出现彻底改变了这一格局。ViT 的核心洞察惊人地简单:图像也可以是一系列 Token,就像自然语言可以分割为 Word Token 一样。

CNN 的遗产与局限

CNN 的核心归纳偏置

CNN 的成功源于两个关键的归纳偏置(Inductive Bias):

  1. 平移等变性(Translation Equariance):卷积核在图像任何位置都能检测相同模式
  2. 局部性(Locality):相邻像素比远距离像素更可能相关
  3. 这些偏置使 CNN 在数据量较少时就能高效学习——不需要太多训练样本即可掌握"边缘检测""纹理"等基础视觉模式。

    CNN 的局限

    • 感受野受限:卷积只能捕获局部信息,难以建立长距离依赖
    • 计算冗余:使用相同的卷积核处理图像所有位置,忽略内容差异
    • 多尺度困难:需要特征金字塔(FPN)、空洞卷积等机制弥补
    • 分辨率固定:输入尺寸通常固定,难以适应不同分辨率

    Vision Transformer:用最简架构重塑视觉

    核心架构

    ViT 的架构设计极简——几乎直接将 NLP Transformer 的视觉版本:

    
    图像 → Patch Embedding(16×16 patch)→ 位置编码 → Transformer Encoder → MLP Head
    

    关键技术步骤:

    1. Patch 切分:将 224×224 图像切分为 14×14=196 个 16×16 patch
    2. 线性映射:每个 Patch 通过线性层映射到 D 维向量
    3. 位置编码:添加可学习或固定的位置编码
    4. Class Token:在序列前添加一个可学习的全局 Token,用于分类
    5. 标准 Transformer:多头自注意力 FFN LayerNorm
    6. 大数据集上的惊人表现

      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)
      

      关键创新:

      • 蒸馏 Token:在 ViT 中额外添加一个 Token,专门学习模仿教师模型的输出
      • 强数据增强:RandAugment、Mixup、CutMix、Random Erasing
      • 知识蒸馏损失:L = α · CE(hard_label, student) (1-α) · KL(teacher_soft, student_soft)

      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% 的掩码率对视觉任务仍然可行——因为图像的空间冗余远高于文本。

      非对称架构:

      • Encoder:只处理可见 Patch(约 25%),大幅减少计算
      • Decoder:轻量设计,Encoder 计算量约 1/10
      • 训练策略:训练完成后丢弃 Decoder,仅用 Encoder 做下游任务

      自监督 → 监督的微调流程

      
      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 编码器支持多种提示类型:

      • 点 Prompt:前景点 背景点
      • 框 Prompt:包围目标的边界框
      • 文本 Prompt(通过 CLIP 编码的文本描述)
      • Mask Prompt:粗糙的 mask 作为起点

      架构设计

      
      图像 → 图像编码器(MAE预训练ViT)→ 图像嵌入(64×64 feature map)
                                          ↓
      Prompt → Prompt编码器 → Prompt嵌入
                              ↓
                  轻量级 Mask 解码器
                              ↓
                    Masks(1/2/3个)  置信度
      

      关键设计:

      • 图像编码器:使用 MAE 预训练的 ViT-H(632M 参数)
      • 实时解码:Mask 解码器仅 2 层 Transformer,单次推理仅 ~50ms
      • 模糊处理:每个 Prompt 输出 3 个 mask,表示可能的歧义

      训练:Segment Anything 10 亿 Mask 数据集

      SA-1B 数据集包含 1100 万张图像的 10 亿个授权 mask——这是史上最大的分割数据集。

      训练策略:

      • 交互式标注:标注者点击 SAM 输出的 mask 边缘,SAM 实时更新
      • 模型辅助标注:先用已有 SAM 模型初始化标注,标注者修正困难样本
      • 迭代训练:每轮扩大训练数据和模型能力

      DINOv2:视觉特征的通用表示

      自蒸馏 多源数据

      Facebook AI 的 DINOv2(2023)的目标是学习通用的视觉特征——不需要任何标签,也不针对特定任务优化:

      
      两视图对比学习(DINO)  
      iBOT掩码patch损失   
      SwAV多作物策略  
      LARC优化器
      

      数据引擎

      DINOv2 构建了 LVD-142M(Large and Diverse 142 Million)数据集:

      • 从互联网、专业数据集收集和去重 1.42 亿张图像
      • 用自监督方式聚类去重
      • 平衡类别长尾分布

      特征质量

      DNNN2 的特征质量令人惊叹:

      • KNN 分类:无需训练分类头,直接 KNN 在 ImageNet 上达到 78.8%
      • 线性探针:线性分类器达到 84.5% Top-1
      • 迁移性:在深度估计、语义分割、视频分类等任务上均表现优异

      关键发现

      DINOv2 的重要工程洞察:

      1. 小 Patch(14×14)最适合密集预测任务(分割、深度估计)
      2. 多源数据 > 大数据量:142M 多源图像比 1B 单源数据效果好
      3. 训练稳定:LARC 余弦退火 KD 协同保持训练稳定
      4. 无需 BN:ViT 不使用 BatchNorm 更优
      5. 多模态基础模型

        CLIP 的意义

        OpenAI 的 CLIP 建立了"图像 → 文本"的对齐空间:

        
        图像编码器(图像特征)  文本编码器(文本特征)
        对比学习使匹配图文对在特征空间接近
        

        CLIP 的革命性:零样本分类——只需提供类别名称作为文本描述,模型就能分类图像。

        BLIP-2、LLaVA、GPT-4V

        多模态大模型进一步融合视觉与语言:

        • BLIP-2:Q-Former 桥接视觉编码器与 LLM
        • LLaVA:Vicuna CLIP 视觉编码器,GPT-4 辅助训练
        • GPT-4V:支持图像/视频输入的通用多模态模型

        自监督的视觉未来

        统一的预训练框架

        自监督学习正在成为视觉预训练的事实标准:

        方法 策略 核心创新
        MAE 掩码重建 75%掩码率训练
        DINO/DINOv2 自蒸馏 no-label对比学习
        iBOT patch级对比 patch image 双重目标
        I-JEPA 特征空间预测 预测 masked region 的特征而非像素
        Data2Vec 模态无关 统一多种模态的自监督框架

        总结

        计算机视觉正在经历从"任务驱动"到"基础模型驱动"的范式变迁:

        1. ViT 证明了 Transformer 可以直接处理视觉信号
        2. MAE/DINOv2 证明了自监督学习可以获得超越有监督的通用视觉特征
        3. SAM 证明了分割可以成为可 Prompt 的基础模型
        4. 多模态 LLM 正在建立视觉 文本的统一表征空间
        5. 未来的视觉系统或许不再需要为每个任务(检测、分割、分类)分别训练模型——一个预训练的视觉基础模型 适当的 Prompt 可能就能完成大多数任务。这一变革正如 GPT 在 NLP 中所引发的范式迁移。


          *本文由 YBB 自动化流水线发布*

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部