
摘要
视觉变换器(Vision Transformer, ViT)已成为计算机视觉领域的重要骨干模型。为了提高ViT的效率,近期的研究通过剪枝或融合冗余标记来减少自注意力层的二次成本。然而,这些方法因信息损失而面临速度与精度之间的权衡问题。本文认为,标记融合需要考虑标记之间的多样关系以最小化信息损失。为此,我们提出了一种多标准标记融合(Multi-criteria Token Fusion, MCTF)方法,该方法基于多个标准(例如相似性、信息量和融合标记的大小)逐步融合标记。此外,我们采用了前向一步注意力机制(one-step-ahead attention),这是一种改进的方法,用于捕捉标记的信息量。通过使用标记减少一致性训练配备MCTF的模型,我们在图像分类任务(ImageNet1K)中实现了最佳的速度与精度权衡。实验结果表明,无论是否进行训练,MCTF均能持续超越之前的减少方法。具体而言,DeiT-T和DeiT-S在引入MCTF后减少了约44%的浮点运算次数(FLOPs),同时分别提高了0.5%和0.3%的性能。我们还展示了MCTF在多种视觉变换器(如T2T-ViT、LV-ViT)中的适用性,在不降低性能的情况下至少实现了31%的速度提升。代码可在https://github.com/mlvlab/MCTF 获取。
代码仓库
mlvlab/mctf
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| efficient-vits-on-imagenet-1k-with-deit-s | MCTF ($r=18$) | GFLOPs: 2.4 Top 1 Accuracy: 79.9 |
| efficient-vits-on-imagenet-1k-with-deit-s | MCTF ($r=20$) | GFLOPs: 2.2 Top 1 Accuracy: 79.5 |
| efficient-vits-on-imagenet-1k-with-deit-s | MCTF ($r=16$) | GFLOPs: 2.6 Top 1 Accuracy: 80.1 |
| efficient-vits-on-imagenet-1k-with-deit-t | MCTF ($r=20$) | GFLOPs: 0.6 Top 1 Accuracy: 71.4 |
| efficient-vits-on-imagenet-1k-with-deit-t | MCTF ($r=8$) | GFLOPs: 1.0 Top 1 Accuracy: 72.9 |
| efficient-vits-on-imagenet-1k-with-deit-t | MCTF ($r=16$) | GFLOPs: 0.7 Top 1 Accuracy: 72.7 |
| efficient-vits-on-imagenet-1k-with-lv-vit-s | MCTF ($r=16$) | GFLOPs: 3.6 Top 1 Accuracy: 82.3 |
| efficient-vits-on-imagenet-1k-with-lv-vit-s | MCTF ($r=8$) | GFLOPs: 4.9 Top 1 Accuracy: 83.5 |
| efficient-vits-on-imagenet-1k-with-lv-vit-s | MCTF ($r=12$) | GFLOPs: 4.2 Top 1 Accuracy: 83.4 |