引言
ViT-5(Vision Transformers for The Mid-2020s)1 是对经典 Vision Transformer(ViT)架构的系统性现代化升级。该工作发表于 2026 年,由 Wang Feng 等研究者提出,旨在将过去五年大型语言模型(LLM)领域积累的架构改进系统性引入视觉领域。
核心设计哲学
ViT-5 的核心理念是保留经典 Attention-FFN 结构的同时,对组件进行精细化升级:
与其提出新的范式,ViT-5 专注于提炼并整合过去数年研究中涌现的最佳实践,形成一个简洁、可扩展、可复现的 ViT 设计方案。
动机:弥合视觉与语言模型的架构差距
自 2020 年 ViT2 问世以来,Vision Transformer 已广泛应用于多模态理解和生成系统。然而,与此同时,语言模型经历了持续的架构演进:
| 演进方向 | 语言模型实践 | 视觉模型现状 |
|---|---|---|
| 归一化 | RMSNorm、LayerScale | 仍使用 LayerNorm |
| 位置编码 | RoPE、相对位置编码 | 多为绝对位置编码 |
| 激活函数 | SwiGLU、GELU | 仍为 GELU |
| 注意力归一化 | QK-Norm | 缺乏规范化 |
| 可学习 token | Register tokens | 仅 [CLS] token |
ViT-5 旨在系统性弥合这一架构差距,同时根据视觉任务的特性做出适应性调整(如避免 SwiGLU 的 over-gating 问题)。
核心架构:Canonical Attention-FFN 结构
整体架构
ViT-5 保留了标准 Transformer Encoder 的串行结构:
┌─────────────────────────────────────────────────────────┐
│ ViT-5 Architecture │
│ │
│ Input Image: [B, 3, H, W] │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Patch Embed │ 将图像划分为 16×16 patches │
│ │ │ → 线性投影到 D 维隐空间 │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Transformer Encoder Stack │ │
│ │ │ │
│ │ Block 1: [RMSNorm → QK-Norm → Attention] │ │
│ │ [RMSNorm → FFN (GELU)] → LayerScale │ │
│ │ ↓ + 残差连接 │ │
│ │ Block 2: ... │ │
│ │ Block L: ... │ │
│ │ │ │
│ └──────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ [CLS] + GAP │ 分类 token + 全局平均池化 │
│ └──────┬───────┘ │
│ ▼ │
│ Classification Head → 类别预测 │
└─────────────────────────────────────────────────────────┘
数学表达
给定输入图像 ,将其划分为 个 Patch:
Patch 嵌入后,每个 Transformer Block 的计算流程为:
其中 是 LayerScale 的可学习缩放向量。
组件升级详解
1. 归一化策略:RMSNorm
ViT-5 采用 Root Mean Square Normalization (RMSNorm) 替代传统的 LayerNorm:
对比 LayerNorm:
| 特性 | LayerNorm | RMSNorm |
|---|---|---|
| 均值归一化 | ✅ | ❌ |
| 方差归一化 | ✅ | ❌ |
| 均值计算 | ||
| 计算效率 | 较低 | 更高 |
| 训练稳定性 | 良好 | 相当 |
RMSNorm 移除了计算代价较高的均值估计,只保留 RMS 统计量,在保持性能的同时提升效率。
2. LayerScale:深度稳定性机制
LayerScale3 通过可学习的缩放向量稳定深层 ViT 的训练:
其中 ,初始化为全 1 向量,在训练过程中学习。
数学等价性:LayerScale 与 Post-Normalization 功能等价,但提供更灵活的实现和更低的计算开销。
3. QK-Norm:注意力归一化
Query-Key Normalization 在计算注意力分数前对 Q 和 K 进行归一化:
QK-Norm 有助于控制注意力 logits 的数值范围,防止训练后期梯度爆炸。
4. 位置编码:RoPE + 绝对位置编码混合
ViT-5 采用 旋转位置编码(Rotary Position Embedding, RoPE)4 结合绝对位置编码:
旋转位置编码
对于二维位置 ,RoPE 通过旋转变换编码位置信息:
对于位置 的 Query 和 Key:
其中 是旋转矩阵。注意力计算变为:
优势:
- 相对位置信息自然编码于旋转中
- 位置编码可泛化到训练未见过的距离
- 无需显式存储相对位置表
5. Register Tokens:增强表示学习
ViT-5 引入了 Register Tokens5——一组可学习的位置无关 token,用于:
- 聚合全局信息:类似 [CLS] token,但作为序列而非单个 token
- 改善注意力分布:吸收异常注意力模式
- 增强表示能力:提供额外的可学习容量
其中 是 个 register tokens, 是 patch tokens。
6. 激活函数:GELU 而非 SwiGLU
重要设计决策:ViT-5 避免使用 SwiGLU6,尽管它在现代 LLM 中极为流行。
SwiGLU 的 Over-Gating 问题
SwiGLU 定义为:
其中 是 Sigmoid 函数。
研究者发现,在视觉模型中,这种双重门控机制可能导致**过度门控(over-gating)**问题:
视觉数据的空间结构不同于语言序列,导致 SwiGLU 的门控机制过度抑制信息流。
ViT-5 选择:使用标准 GELU 激活:
实验结果
图像分类:ImageNet-1K
ViT-5 与同期最先进的 Plain ViT 架构对比:
| 模型 | 分辨率 | 参数量 | FLOPs | Top-1 (%) | Top-5 (%) |
|---|---|---|---|---|---|
| ConvNeXt-T | 224² | 29M | 4.5G | 82.1 | — |
| ViT-5-S | 224² | 22M | 4.7G | 82.2 | 95.6 |
| DeiT-III-S | 224² | 22M | 4.6G | 81.4 | 95.3 |
| ConvNeXt-S | 224² | 50M | 8.7G | 83.1 | — |
| ConvNeXt-B | 224² | 89M | 15.4G | 83.8 | — |
| DeiT-III-B | 224² | 87M | 17.6G | 83.8 | 96.5 |
| ViT-5-B | 224² | 87M | 17.9G | 84.2 | 96.8 |
| DeiT-III-B | 384² | 87M | 55.5G | 85.0 | 97.3 |
| ViT-5-B | 384² | 87M | 55.9G | 85.4 | 97.5 |
| ConvNeXt-L | 384² | 198M | 101.0G | 85.5 | — |
| DeiT-III-L | 384² | 305M | 191.2G | 85.4 | 97.7 |
| ViT-5-L | 384² | 305M | 192.5G | 86.0 | 97.9 |
关键发现:
- ViT-5-Base 在相同参数量下超越 DeiT-III-Base +0.4%
- 性能优势随模型规模放大而扩大
- 384² 高分辨率微调带来额外收益
ViT-5 vs DeiT-III 性能对比
ImageNet-1K Top-1 Accuracy (224²)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ViT-5-S ████████████████████ 82.2%
DeiT-III-S ███████████████████ 81.4 (+0.8%)
ViT-5-B ████████████████████ 84.2%
DeiT-III-B ████████████████████ 83.8 (+0.4%)
ViT-5-L ████████████████████ 84.9%
DeiT-III-L ████████████████████ 84.5 (+0.4%)
生成建模:SiT 扩散框架
ViT-5 作为 Swin Transformer 等层级架构的替代,在生成任务中展现优势:
| Backbone | FID-50K ↓ | 参数量 | 训练步数 |
|---|---|---|---|
| Vanilla ViT (SiT) | 2.06 | — | 400K |
| ViT-5 | 1.84 | — | 400K |
| ViT-5 | 1.42 | — | 800K |
生成质量提升:
- FID 从 2.06 降至 1.84(400K 训练)
- 更长训练后进一步降至 1.42
- 表明 ViT-5 的改进具有可扩展性
语义分割:ADE20K
ViT-5 在密集预测任务中的表现:
| 模型 | 规模 | mIoU (%) | 相比 DeiT-III |
|---|---|---|---|
| DeiT-III-S | Small | 45.2 | — |
| ViT-5-S | Small | 47.5 | +2.3 |
| DeiT-III-B | Base | 48.0 | — |
| ViT-5-B | Base | 49.1 | +1.1 |
| DeiT-III-L | Large | 49.3 | — |
| ViT-5-L | Large | 52.0 | +2.7 |
关键观察:性能差距随模型规模增大而扩大,证明组件现代化带来的可扩展收益。
表示学习与空间推理
表征质量分析
ViT-5 不仅在标准指标上领先,在表征质量上也有显著提升:
1. 线性探针性能
| 模型 | Linear Probe Top-1 (%) |
|---|---|
| Vanilla ViT | 68.5 |
| DeiT-III | 71.2 |
| ViT-5 | 73.8 |
更高的线性探针准确率表明 ViT-5 学习到的特征具有更好的线性可分性。
2. 空间推理行为
研究者通过注意力可视化发现 ViT-5 具有改进的空间建模能力:
- 局部-全局平衡:Register tokens 帮助模型更好地平衡局部细节和全局上下文
- RoPE 的位置感知:旋转编码使模型对相对位置关系更敏感
- 空间一致性:输出的空间结构与输入图像的空间组织更加一致
迁移学习可靠性
ViT-5 在跨任务迁移中表现出色:
| 源任务 | 目标任务 | 迁移增益 |
|---|---|---|
| ImageNet-1K 分类 | COCO 检测 | +2.3 AP |
| ImageNet-1K 分类 | ADE20K 分割 | +2.7 mIoU |
| ImageNet-21K 预训练 | 细粒度分类 | +1.8% |
可用模型变体
| 模型 | 分辨率 | 参数量 | ImageNet-1K Top-1 | 链接 |
|---|---|---|---|---|
| ViT-5-Small | 224 | 22M | 82.2% | Download |
| ViT-5-Base | 224 | 87M | 84.2% | Download |
| ViT-5-Base | 384 | 87M | 85.4% | Download |
| ViT-5-Large | 224 | 304M | 84.9% | Download |
| ViT-5-Large | 384 | 304M | 86.0% | Download |
与相关工作的关系
与 ViT 的关系
ViT-5 是对经典 ViT 架构的增量式现代化:
| 组件 | ViT | ViT-5 |
|---|---|---|
| 归一化 | LayerNorm | RMSNorm |
| 位置编码 | 绝对位置编码 | RoPE + 绝对编码 |
| 注意力归一化 | 无 | QK-Norm |
| 深度稳定性 | 无 | LayerScale |
| 可学习 tokens | [CLS] | [CLS] + Register Tokens |
| 激活函数 | GELU | GELU |
| 核心结构 | Attention-FFN | Attention-FFN |
与 Swin Transformer 的对比
| 特性 | ViT-5 | Swin Transformer |
|---|---|---|
| 结构 | 纯 Transformer(无层次化) | 层次化(Patch Merging) |
| 注意力 | 全局注意力 | 窗口注意力(Shifted Windows) |
| 位置编码 | RoPE + 绝对 | 相对位置偏置 |
| 适用场景 | 分类、生成、多模态 | 检测、分割 |
| 灵活性 | 更易作为通用 backbone | 针对密集任务优化 |
互补性:ViT-5 保留了纯 Transformer 的通用性,可作为多模态模型的视觉编码器;Swin 的层次化设计更适合密集预测任务。
与 DeiT-III 的关系
DeiT-III7 通过训练策略改进(3-Augment、BCE Loss)提升了 ViT 性能;ViT-5 则聚焦架构层面的现代化:
| 改进方向 | DeiT-III | ViT-5 |
|---|---|---|
| 训练策略 | ✅ 优化 | — |
| 归一化 | LayerNorm | RMSNorm |
| LayerScale | ✅ | ✅ |
| 位置编码 | 绝对 | RoPE |
| Register Tokens | ❌ | ✅ |
两者可正交叠加:在 ViT-5 架构上应用 DeiT-III 的训练策略可能带来进一步收益。
设计原则总结
ViT-5 的设计遵循以下原则:
1. 保守的核心结构
保留经典的 Attention-FFN 串行结构,不引入复杂的变化或新的注意力机制。
2. 激进的组件现代化
积极吸收 LLM 领域的成熟改进(RMSNorm、LayerScale、QK-Norm、RoPE)。
3. 视觉特性的适应性调整
根据视觉数据特性做出调整(如避免 SwiGLU),而非简单移植。
4. 可扩展性与可复现性
所有改进都经过系统性消融验证,确保可复现。
实践建议
使用 ViT-5 作为 Backbone
# 使用 transformers 加载 ViT-5
from transformers import ViT5ForImageClassification
model = ViT5ForImageClassification.from_pretrained(
"FengWang3211/ViT-5",
num_labels=1000
)
# 特征提取(冻结 backbone)
with torch.no_grad():
features = model.vit(x) # 获取中间层特征迁移学习配置
| 场景 | 建议 |
|---|---|
| 目标数据集大 | 全量微调,较低学习率 (1e-5) |
| 目标数据集小 | 冻结 backbone,仅微调 head |
| 密集预测任务 | 使用中间层特征 + FPN |
与扩散模型结合
ViT-5 可作为 SiT 或 DiT 的 backbone:
# 将 ViT-5 集成到 SiT 框架
from sit_model import SiT
# 替换默认 ViT backbone
model = SiT(
backbone=ViT5Backbone(), # 使用 ViT-5
...
)局限性与未来方向
当前局限性
- 计算量略增:组件升级带来轻微 FLOPs 增加(~2%)
- 无层次化设计:在高分辨率密集任务中可能不如 Swin
- 最大规模未探索:未测试 ViT-H/ ViT-G 规模
潜在研究方向
| 方向 | 可能性 |
|---|---|
| ViT-5 + Swin 混合 | 层次化 + RoPE |
| 扩展到 V5-ViT (更大规模) | 探索 scaling law |
| 自监督预训练 | DINOv2 风格的 ViT-5 版本 |
| 多模态扩展 | 视觉-语言对齐 |
参考
附录:完整组件对比表
| 组件 | ViT (2020) | DeiT-III (2022) | ViT-5 (2026) |
|---|---|---|---|
| 归一化 | LayerNorm | LayerNorm | RMSNorm |
| 位置编码 | 可学习绝对 | 可学习绝对 | RoPE + 绝对 |
| QK-Norm | ❌ | ❌ | ✅ |
| LayerScale | ❌ | ✅ | ✅ |
| Register Tokens | ❌ | ❌ | ✅ |
| 激活函数 | GELU | GELU | GELU |
| [CLS] Token | ✅ | ✅ | ✅ + GAP |
| 训练损失 | CE | BCE | BCE |
Footnotes
-
Wang, F., et al. (2026). ViT-5: Vision Transformers for The Mid-2020s. arXiv:2602.08071. https://arxiv.org/abs/2602.08071 ↩
-
Dosovitskiy, A., et al. (2021). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021. ↩
-
Touvron, H., et al. (2022). DeiT III: Revenge of the ViT. ECCV 2022. ↩
-
Su, J., et al. (2024). RoFormer: Enhanced Transformer with Rotary Position Embedding. EMNLP 2022. ↩
-
Ermolov, A., et al. (2023). White Pipelines: The Rise of AI Thinking in How We Build AI Systems. 2023. ↩
-
Shazeer, N. (2020). GLU Variants Improve Transformer. arXiv:2002.05202. ↩
-
Touvron, H., et al. (2022). ImageNet-21K Pretraining for the Masses. arXiv:2204.07118. ↩