
摘要
在自然语言处理领域取得初步成功之后,Transformer架构迅速在计算机视觉领域获得广泛应用,为图像分类、目标检测、图像分割以及视频分析等任务带来了当前最优的性能表现。本文基于简单且易于实现的视觉Transformer变体,提出三点重要见解:(1)视觉Transformer中的残差层通常按顺序处理,但可在一定程度上实现并行处理,而不会明显影响模型精度;(2)仅需微调注意力层的权重,即可有效将视觉Transformer适配至更高分辨率输入及其他分类任务,该方法显著降低计算开销,减少微调阶段的峰值内存占用,并支持在不同任务间共享大部分模型参数;(3)在Patch预处理阶段引入基于MLP的模块,可提升基于Patch掩码的类似BERT的自监督训练效果。我们利用ImageNet-1k数据集评估了上述设计选择的影响,并在ImageNet-v2测试集上验证了结论的可靠性。此外,通过在六个较小的数据集上进行迁移性能测试,进一步确认了所提方法的有效性。
代码仓库
rwightman/pytorch-image-models
pytorch
GitHub 中提及
conceptofmind/Parallel-ViT-flax
jax
GitHub 中提及
lucidrains/vit-pytorch
pytorch
GitHub 中提及
facebookresearch/deit
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| fine-grained-image-classification-on-stanford | ViT-L (attn finetune) | Accuracy: 93.8% |
| image-classification-on-cifar-10 | ViT-B (attn fine-tune) | Percentage correct: 99.3 |
| image-classification-on-cifar-100 | ViT-L (attn fine-tune) | Percentage correct: 93.0 |
| image-classification-on-flowers-102 | ViT-B (attn finetune) | Accuracy: 98.5 |
| image-classification-on-imagenet | ViT-B (hMLP + BeiT) | Top 1 Accuracy: 83.4% |
| image-classification-on-imagenet | ViT-L@384 (attn finetune) | Top 1 Accuracy: 85.5% |
| image-classification-on-imagenet | ViT-B-18x2 | Top 1 Accuracy: 84.1% |
| image-classification-on-imagenet | ViT-B-36x1 | Top 1 Accuracy: 84.1% |
| image-classification-on-imagenet | ViT-S-24x2 | Top 1 Accuracy: 82.6% |
| image-classification-on-imagenet | ViT-B@384 (attn finetune) | Top 1 Accuracy: 84.3% |
| image-classification-on-imagenet | ViT-S-48x1 | Top 1 Accuracy: 82.3% |
| image-classification-on-imagenet-v2 | ViT-B-36x1 | Top 1 Accuracy: 73.9 |
| image-classification-on-inaturalist-2018 | ViT-L (attn finetune) | Top-1 Accuracy: 75.3% |