Keywords:弱视觉归纳偏置、Patch Embedding、全局自注意力、统一范式、大规模预训练、位置编码、Encoder-Only
1. Background
长期以来,CNN 利用归纳偏置 (Inductive Bias,如局部相关性和平移不变性) 在 CV 领域占据核心地位。
Transformer 在 NLP 领域通过大模型和海量数据实现了统一,且具有极强的并行性和扩展性。
但是它在 CV 领域的应用十分有限,自注意力机制的计算复杂度为 ,若将图像像素直接作为序列输入,序列长度过长 (如 224 224 = 50176) 会导致内存和计算量爆炸。
目前的一些工作虽然设法解决这个问题 (如孤立自注意力和轴自注意力),虽然在理论上有足够的表达能力,但是硬件执行效率太差,难以训练出更大的模型。
2. Methods
ViT 通过以下核心策略将标准 Transformer 成功引入视觉领域:
- Patching:不直接处理像素,而是将图像切分为固定大小的 Patches (如 16 16)。通过这种方式,输入序列长度从像素级的 降低到 (如 196),降低了计算复杂度。
- Scaling:Transformer 几乎不对图像空间结构做先验假设,这在小数据集上会导致性能不如 CNN。ViT 证明只要在超大规模数据集(如 JFT-300M)上进行预训练,可以从数据中自动学习视觉归纳偏置,而无需 CNN 显式的卷积先验。
- Unified Paradigm:采用“预训练 + 微调”的范式,并尽可能遵循原始 Transformer 的结构,以便直接套用 NLP 领域成熟的优化器 (如 Adam) 和缩放经验。
3. Model Design
ViT 几乎沿用了标准 Transformer 的 Encoder 结构。

3.1 Patch Embedding
- Patchify:将输入图像 切分为固定大小的 Patch (如 16 16)。
- Linear Projection:将每个 Patch 展平并映射到一个维度为 (如 768) 的潜向量空间,和 NLP 中依靠 lookup 的 Embedding 有区别。
- Token 转化:这些 Patch Embedding 相当于 NLP 中的 Token。
3.2 Special Token & Positional Embedding
- [CLS] Token:借鉴 BERT,在序列起始位置添加一个可学习的特殊 Token,用于最终的图像分类预测。
- Position Embedding:由于 Transformer 本身不具备对二维空间结构的感知能力,ViT 会为每个 Patch Token 添加 1D 可学习的位置编码,以保留图像的空间信息。
3.3 Transformer Encoder
由多层堆叠而成,每层包含 Multi-Head Self-Attention 和 MLP (将 token 从 768 维投影至 3072 维再投回 768 维)。
- Pre-LN:不同于原始 Transformer 的 Post-Norm,ViT 在每个子层之前使用 Layer Norm,提升深层 Transformer 的训练稳定性。
- 残差连接:每个子层后均使用残差连接。
3.4 Higher Resolution
微调时通常使用比预训练更高的分辨率 (如 384、512)。由于分辨率改变导致 Patch 数量增加,预训练的位置编码不再匹配。ViT 通过对预训练的编码进行 2D 插值 (2D Interpolation) 来调整位置信息。
4. Training
4.1 Pre-training
- Optimizer:Adam 优化器 (=0.9, =0.999)。
- Batch Size:4096
- Weight Decay:0.1
- Learning Rate Schedule:采用 Linear Warmup 与 Linear Decay 相结合的学习率调度策略
- Resolution:224
4.2 Fine-tuning
- Optimizer:切换为带动量的 SGD (Momentum=0.9)
- Batch Size:减小至 512
- Learning Rate Schedule:Cosine Decay
- Resolution:增大至 518
- Polyak Averaging:=0.9999
4.3 Database
- JFT-300M:谷歌内部数据集,包含 3.03 亿张高分辨率图像,是 ViT 性能超越 CNN 的关键。
- ImageNet-21k:包含 1400 万张图像,属于中等规模预训练。
- ImageNet-1k:标准数据集,ViT 在此规模下若无强正则化,表现逊于 ResNet。
5. Results
模型在 JFT-300M 预训练后,ViT-H/14 在 ImageNet 上达到 88.55% 的准确率,超越同等规模的 ResNet。
且具备迁移能力,在 CIFAR-10 、Oxford-IIIT Pets 等多个下游任务中刷新纪录。
同时算力性价比高,在达到相同性能的前提下,ViT 所需的预训练计算资源显著少于当时最先进的 CNN。
6. Reflection
ViT 首次证明了弱归纳偏置的 Transformer,同样可以依靠大规模数据与预训练学习出优秀的视觉表示,这也意味着 CV 开始逐渐转向 NLP 式的统一大模型范式。
ViT 也改变了人们对模型效率的理解,理论复杂度并不是决定模型成败的第一性原理,真正重要的是能否高效适配现代硬件基础设施。
后续工作也沿着不同方向继续发展,例如围绕自监督学习的 MAE、围绕层次化视觉结构的 Swin Transformer,以及围绕对比学习与多模态学习的 CLIP。
ViT 不仅改变了视觉模型的架构设计,也推动 CV 正式进入 Foundation Model 时代。
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






