Vision Transformer 简介
Vision Transformer(ViT)由 Google Research 于 2020 年提出,直接使用标准 Transformer 处理图像,将 CNN 从视觉模型中完全剔除,是计算机视觉领域的范式转折点。
核心方法
ViT 将图像分割成固定大小的 patch(如 16x16),将每个 patch 展平并线性投影为 embedding,加上位置编码后送入标准 Transformer Encoder。额外添加一个 [CLS] token,其对应的输出经过 MLP 完成分类。
关键发现
ViT 的一个重要结论是:Transformer 需要在大规模数据上预训练才能超越 CNN。在 ImageNet-21k 或 JFT-300M 上预训练后,ViT 可在多个下游任务上超越 ResNet,且计算效率更高。
影响与变体
ViT 开启了"Transformer in Vision"的浪潮,涌现了大量变体:DeiT、Swin Transformer(分层窗口注意力)、DINO(自监督 ViT)、PVT 等。ViT 也被广泛应用于视觉-语言模型(CLIP 的视觉编码器)、视频理解等任务中。