
摘要
本文提出了一种名为卷积视觉Transformer(Convolutional Vision Transformer, CvT)的新架构,通过在视觉Transformer(Vision Transformer, ViT)中引入卷积操作,有效提升了模型在性能与效率方面的表现,实现了两种设计的优势融合。这一改进主要通过两项关键设计实现:其一,构建了包含新型卷积令牌嵌入(convolutional token embedding)的分层Transformer结构;其二,提出了一种基于卷积投影的卷积Transformer模块(convolutional Transformer block)。这些改进将卷积神经网络(CNN)所具备的优良特性(如平移、缩放与形变不变性)引入ViT架构,同时保留了Transformer的核心优势(如动态注意力机制、全局上下文建模能力以及更强的泛化性能)。我们通过大量实验验证了CvT的有效性,结果表明,相较于其他Vision Transformer及ResNet系列模型,CvT在ImageNet-1k数据集上达到了当前最优的性能表现,同时参数量更少、浮点运算量(FLOPs)更低。此外,在更大规模数据集(如ImageNet-22k)上预训练后,模型在下游任务上的微调性能依然保持显著优势。具体而言,基于ImageNet-22k预训练的CvT-W24在ImageNet-1k验证集上取得了87.7%的Top-1准确率。最后,我们的研究发现,在CvT模型中,现有Vision Transformer中至关重要的位置编码(positional encoding)可以被安全移除,从而简化模型结构,尤其有利于高分辨率视觉任务的设计。相关代码将开源发布于:https://github.com/leoxiaobin/CvT。
代码仓库
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-cifar-10 | CvT-W24 | Percentage correct: 99.39 |
| image-classification-on-cifar-100 | CvT-W24 | Percentage correct: 94.09 |
| image-classification-on-flowers-102 | CvT-W24 | Accuracy: 99.72 |
| image-classification-on-imagenet | CvT-13 (384 res) | GFLOPs: 16.3 Number of params: 20M Top 1 Accuracy: 83% |
| image-classification-on-imagenet | CvT-21 (384 res, ImageNet-22k pretrain) | GFLOPs: 25 Number of params: 32M Top 1 Accuracy: 84.9% |
| image-classification-on-imagenet | CvT-13 | GFLOPs: 4.5 Top 1 Accuracy: 81.6% |
| image-classification-on-imagenet | CvT-13-NAS | GFLOPs: 4.1 Number of params: 18M Top 1 Accuracy: 82.2% |
| image-classification-on-imagenet | CvT-W24 (384 res, ImageNet-22k pretrain) | Top 1 Accuracy: 87.7% |
| image-classification-on-imagenet | CvT-21 (384 res) | GFLOPs: 24.9 Top 1 Accuracy: 83.3% |
| image-classification-on-imagenet | CvT-21 | GFLOPs: 7.1 Top 1 Accuracy: 82.5% |
| image-classification-on-imagenet-real | CvT-W24 (384 res, ImageNet-22k pretrain) | Accuracy: 90.6% Number of params: 277M Top 1 Accuracy: 87.7% |
| image-classification-on-oxford-iiit-pets-1 | CvT-W24 | Accuracy: 94.73 |