一句话定义
Vision Transformer(ViT)把图像切成 16×16 像素的 patch 当作词元序列,用自注意力建模全局关系,在大规模数据上超越卷积骨干;其「大数据 + 大模型 + 可迁移」的范式进一步长出 SAM、DINOv2 等视觉基础模型。
为什么重要
ViT 打破了卷积在视觉的垄断,使 NLP 的规模化方法论(预训练 + 微调/零样本)整体平移到视觉;基础模型正在改变工程形态——从「为每个任务训练模型」转向「拿通用模型 + 提示 + 轻量适配」,这是当前视觉工程最大的范式迁移。
直观类比
卷积像逐行扫读、每次只看周围几行(局部视野逐层扩大);自注意力像考试时把全文所有句子摆在桌面上任意两句对照读(每层即全局);代价是「没有语法直觉」,必须读足够多的书(数据)才能归纳出图像的局部规律。
前置知识
kp-015(骨干网络与预训练概念);库外的注意力机制由深度学习站覆盖,此处给出视觉侧所需的最小公式。
核心概念
- Patch Embedding:图像划分不重叠 patch,线性投影为词元,加位置编码。
- [CLS] 词元:可学习全局词元,其输出特征用于分类。
- 多头自注意力(MHSA):Q、K、V 三组投影,注意力权重按点积相似度归一化。
- 归纳偏置差异:CNN 内置局部性/平移等变,ViT 靠数据学出等价规律。
- 数据效率技术:强增强、蒸馏(DeiT)、MAE 式掩码自监督弥补数据饥渴。
- 视觉基础模型:SAM(可提示分割)、DINOv2(自监督通用特征)、CLIP(图文对齐)。
- 混合架构与滑窗:Swin 的窗口注意力、ConvNeXt 的「卷积化 Transformer」反映设计趋同。
原理与机制
ViT 前向:图像 H×W 划成 N=(H/16)(W/16) 个 patch,展平线性映射 + 位置编码成序列;每层由 MHSA(全局交互)与 MLP(逐词元非线性)组成;分类取 [CLS] 特征过线性头。自注意力的计算量随 N 平方增长,是 ViT 高分辨率密集任务的算力瓶颈,由此衍生窗口注意力(Swin)与线性注意力等变体。数据依赖的机理:卷积先验在小数据上是免费午餐,大数据下先验反而限制上限,ViT 因此呈现「小数据不如 CNN、大数据反超」的交叉曲线;MAE 用「遮 75% 像素重建」的自监督任务让 ViT 在无标注数据上学出通用表征,是 DINOv2 类基础模型的直接源头。
公式与模型
Attention(Q, K, V) = softmax( Q Kᵀ / √d_k ) · V
复杂度: O(N² · d) (N 为词元数 = patch 数 + 1)图示
实例与案例
基础模型工程范式:SAM 在自有数据上做「框/点提示 → 掩码」零样本分割,工程团队直接用它做预标注(kp-025)而无需训练;DINOv2 特征对细粒度检索、深度估计等任务做线性探测即得可用基线。算力换挡:ViT-L 级模型在分类精度上与 ConvNeXt 相当,但部署侧仍在演进(蒸馏到小卷积网、量化),实时端侧主流仍是 CNN。图文对齐(CLIP 范式)让「文本提示分类」成为零样本能力,改变了内容审核等长尾类目的冷启动方式。
常见误区
- 认为 Transformer 无所不能:小数据、低算力、高分辨率密集任务上 CNN 仍是更优解,选型看预算不看潮流。
- 忽略分辨率-算力矛盾:输入翻倍 patch 数约四倍,注意力开销平方级增长;高分辨率任务必须用窗口化变体。
- 把基础模型当万能:SAM 出的掩码无语义类别,DINOv2 特征不保证领域判别性,仍需任务头与域内数据。
- 混淆「生成式图像模型」与本站范围:扩散模型合成图像属于生成站点;本站基础模型只覆盖感知(判别/分割/对齐)。
与其他知识点的关系
KP-015 的骨干接口约定在 ViT 上同样成立(输出多级特征即可接 FPN);SAM 改写 kp-025 的标注工作流;CLIP 类图文模型是 kp-031 伦理议题(偏见继承)的典型案例。
自测题
- ViT 为何需要大规模数据?
答案要点:缺少卷积的局部性与平移等变先验,图像空间规律必须从数据中学;小数据下先验缺失是净劣势。
- 自注意力的复杂度瓶颈在哪里?常见解法是什么?
答案要点:词元数平方级 O(N²d);窗口/条带注意力、下采样 token、线性注意力近似。
- SAM 与传统分割模型的使用差异是什么?
答案要点:SAM 是「提示 → 掩码」的零样本基础模型,不输出类别语义;传统模型按训练类别直接预测,需训练但输出语义完整。
延伸阅读
- Dosovitskiy 2020《An Image is Worth 16x16 Words》
- Kirillov 2023《Segment Anything》