20 ViT 总结篇:从图像分类到视觉基础模型,Vision Transformer 的发展主线是什么?

20 ViT 总结篇:从图像分类到视觉基础模型,Vision Transformer 的发展主线是什么? 从 ViT 到 SAM发展主线总表阶段代表方法核心问题主要贡献图像 Transformer 起点ViT图像能否像文本一样处理将图像切成 patch token用 Transformer 编码数据高效训练DeiTViT 能否在中等规模数据上训练蒸馏和训练策略降低 ViT 训练门槛密集任务适配PVT / PVTv2Transformer 如何适配检测和分割金字塔结构、多尺度特征、线性注意力通用视觉骨干Swin Transformer如何降低高分辨率 attention 成本层级结构、窗口注意力、移动窗口机制像素重建自监督MAEViT 能否通过重建图像学习表示高 mask ratio 非对称 encoder-decoder视觉 token 预测BEiT图像能否像 BERT 一样预测 token使用 visual tokenizer 构造离散预测目标视觉词表VQ-VAE / VQGAN / BEiT v2图像 token 从哪里来将连续图像转换成离散 visual token自蒸馏学习DINO无标签下 ViT 能否学到语义结构teacher-student 自蒸馏注意力图涌现目标区域图文多模态CLIP图像如何与语言对齐图文对比学习zero-shot 分类分割基础模型SAMViT 能否成为通用分割编码器promptable segmentation SA-1B ViT image encoder从这张表可以看出ViT 的发展并不是简单地“模型越来越大”而是围绕几个核心问题逐步展开。ViT 发展的第一条主线从局部建模到全局建模CNN 的核心是局部卷积。ViT 的核心是全局 self-attention。这种变化使视觉模型从“局部模式堆叠”转向“全局关系建模”。在 CNN 中如果两个区域距离很远它们的信息交互需要经过多层卷积逐步传递。而在 ViT 中任意两个 patch token 都可以通过 self-attention 直接交互。这对很多任务都很重要。例如图像分类需要全局语义目标检测需要区域关系语义分割需要前景背景关系图文对齐需要全局图像概念SAM 分割需要理解 prompt 和目标区域的关系所以 ViT 的第一条主线是从局部卷积建模走向全局 token 关系建模。ViT 发展的第二条主线从监督学习到自监督预训练最初的 ViT 主要依赖监督训练。后来 MAE、BEiT、DINO 等方法证明ViT 非常适合自监督预训练。原因在于ViT 的 patch token 结构天然适合构造自监督任务。可以遮住 patch然后预测像素MAE可以遮住 patch然后预测 visual tokenBEiT可以构造不同增强视图然后做自蒸馏DINO这些方法虽然形式不同但本质上都在利用图像自身构造监督信号。自监督预训练的意义是不依赖人工标签也可以训练出强大的视觉表示。这对大规模视觉模型非常重要因为人工标注永远昂贵且有限。ViT 发展的第三条主线从固定类别到开放语义传统分类模型通常有固定类别空间。例如 ImageNet 分类器只能输出固定类别。而 CLIP 改变了这一点。CLIP 通过自然语言监督让图像表示和文本表示对齐。这样类别不再是固定分类头中的一个索引而是可以由自然语言 prompt 动态定义。例如a photo of a dog a satellite image of a city a medical image of a tumor a diagram of a neural network这些文本都可以作为类别或检索条件。这说明 ViT 的能力从 fixed-label classification 扩展到了 open-vocabulary recognition。这条主线可以概括为从封闭类别识别走向开放语义理解。ViT 发展的第四条主线从图像级理解到像素级理解ViT 最初主要用于图像分类。分类任务只需要输出一个图像级标签。但是视觉任务不只有分类还有检测、分割、跟踪、交互式编辑等。这些任务要求模型理解空间结构。PVT 和 Swin 解决了多尺度特征和密集预测适配问题。DINO 展示了 ViT 注意力图中会涌现目标区域。SAM 则进一步把 ViT 用作 dense image encoder根据 prompt 输出像素级 mask。这说明 ViT 的角色发生了变化图像分类 backbone ↓ 通用视觉表征学习器 ↓ 多模态视觉编码器 ↓ 分割基础模型编码器因此ViT 的发展不是停留在图像级分类而是逐渐进入像素级空间理解。ViT 发展的第五条主线从结构创新到数据和任务定义创新早期研究更关注模型结构。例如如何切 patch 如何设计位置编码 如何降低 attention 计算量 如何构建层级结构后来研究逐渐发现模型结构固然重要但数据和任务定义同样重要。MAE 的成功不仅来自 ViT还来自高比例 mask 的任务设计。BEiT 的成功依赖 visual tokenizer 构造预测目标。DINO 的成功依赖 teacher-student 自蒸馏和多视图一致性。CLIP 的成功依赖大规模图文对和对比学习任务。SAM 的成功依赖 promptable segmentation 任务和 SA-1B 数据引擎。所以 ViT 的发展告诉我们基础模型的能力不只来自网络结构还来自预训练任务、数据规模和任务定义。这也是现代视觉模型发展的重要趋势。为什么 ViT 适合成为视觉基础模型骨架ViT 之所以适合成为视觉基础模型骨架主要有几个原因。1. 统一的 token 化建模方式ViT 把图像转换成 patch token。文本模型把文本转换成 word token 或 subword token。视频可以转换成时空 token。音频可以转换成频谱 token。这说明 Transformer 具有很强的模态统一能力。2. 强大的可扩展性Transformer 在参数规模、数据规模和计算规模增大时通常具有较好的扩展潜力。这也是它能够成为大模型主干的重要原因。3. 全局关系建模能力Self-attention 能直接建模长距离依赖。这对图像理解、图文对齐、视频理解、分割任务都很重要。4. 容易结合不同预训练目标ViT 可以结合多种训练方式监督分类知识蒸馏masked image modelingself-distillationcontrastive learningpromptable segmentation这种灵活性使它非常适合作为基础模型骨架。5. 容易扩展到多模态CLIP 证明ViT 可以和文本 Transformer 对齐。后续很多多模态模型都可以把 ViT 作为视觉编码器再接语言模型或跨模态模块。