mobile wallpaper 1
1328 字
4 分钟
ViT
2026-05-21

ViT 论文链接

Keywords:弱视觉归纳偏置、Patch Embedding、全局自注意力、统一范式、大规模预训练、位置编码、Encoder-Only

1. Background#

长期以来,CNN 利用归纳偏置 (Inductive Bias,如局部相关性和平移不变性) 在 CV 领域占据核心地位。
Transformer 在 NLP 领域通过大模型和海量数据实现了统一,且具有极强的并行性和扩展性。
但是它在 CV 领域的应用十分有限,自注意力机制的计算复杂度为 O(n2)O(n^2),若将图像像素直接作为序列输入,序列长度过长 (如 224 ×\times 224 = 50176) 会导致内存和计算量爆炸。
目前的一些工作虽然设法解决这个问题 (如孤立自注意力和轴自注意力),虽然在理论上有足够的表达能力,但是硬件执行效率太差,难以训练出更大的模型。

2. Methods#

ViT 通过以下核心策略将标准 Transformer 成功引入视觉领域:

  • Patching:不直接处理像素,而是将图像切分为固定大小的 Patches (如 16 ×\times 16)。通过这种方式,输入序列长度从像素级的 HWHW 降低到 HW/P2HW/P^2 (如 196),降低了计算复杂度。
  • Scaling:Transformer 几乎不对图像空间结构做先验假设,这在小数据集上会导致性能不如 CNN。ViT 证明只要在超大规模数据集(如 JFT-300M)上进行预训练,可以从数据中自动学习视觉归纳偏置,而无需 CNN 显式的卷积先验。
  • Unified Paradigm:采用“预训练 + 微调”的范式,并尽可能遵循原始 Transformer 的结构,以便直接套用 NLP 领域成熟的优化器 (如 Adam) 和缩放经验。

3. Model Design#

ViT 几乎沿用了标准 Transformer 的 Encoder 结构。 Image1

3.1 Patch Embedding#

  • Patchify:将输入图像 H×W×CH \times W \times C 切分为固定大小的 Patch (如 16 ×\times 16)。
  • Linear Projection:将每个 Patch 展平并映射到一个维度为 DD (如 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-AttentionMLP (将 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 优化器 (β1\beta_1=0.9, β2\beta_2=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α\alpha=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 时代。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

ViT
https://kisaragi-irona.top/posts/paper-reading/vit/blog/
作者
Kisaragi
发布于
2026-05-21
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录