Vision Transformer (ViT) 是将Transformer架构应用于计算机视觉领域的里程碑式工作。
论文概述
ViT(Vision Transformer)由Google Brain团队于2020年提出,首次将NLP领域的Transformer成功应用于图像分类任务,打破了CNN在视觉领域的统治地位。
核心思想
1. 图像分块
将输入图像分割成固定大小的patch:
1 | 原始图像: H × W × C |
2. Patch Embedding
通过线性投影将每个patch映射为embedding:
1 | class PatchEmbedding(nn.Module): |
3. 位置编码与CLS token
添加可学习的位置编码和分类token:
1 | def forward(self, x): |
实验结果
| Model | ImageNet Top-1 | Params |
|---|---|---|
| ViT-B/16 | 77.9% | 86M |
| ViT-L/16 | 76.5% | 307M |
| DeiT-B | 81.8% | 86M |
总结
ViT证明了Transformer在视觉任务上的强大潜力,开启了视觉Transformer时代的大门。