核心发现
方法论
论文提出Patch Slimming:从最后一层向前执行top-down剪枝。先保留分类所需的class token,再依据所有后续层的注意力传播估计当前patch对最终输出的影响,用显著性分数排序并逐步保留patch;每轮选择后微调当前Transformer block,并以重构误差约束性能损失。动态版本DPS-ViT使用轻量模块G为每张输入预测patch分数。
关键结果
- 在ImageNet上,DeiT-Ti基线Top-1为72.2%、1.3G FLOPs;PS-ViT达到72.0%、0.7G FLOPs,FLOPs下降46.2%;DPS-ViT达到72.1%、0.6G FLOPs,下降53.8%,吞吐量由2536升至3639 image/s。
- DeiT-S中,DPS-ViT将FLOPs从4.6G降至2.4G,下降47.8%,Top-1仅由79.8%降至79.5%;DeiT-B从17.6G降至9.4G,下降46.6%,Top-1为81.6%。
- 同等2.6G FLOPs下,学习式PS-ViT在DeiT-S上取得79.4% Top-1,显著优于均匀剪枝的77.2%,说明按输入表征和跨层影响选择patch优于固定比例删除。
研究意义
该研究把Transformer压缩从通道、注意力头或MLP维度推进到空间patch维度,直接利用视觉Transformer的token冗余。它缓解了ViT高计算量阻碍移动端、物联网和实时视觉部署的问题,并表明结构化token删除可以在无需专用硬件的情况下获得真实吞吐收益。其核心价值不仅是降低FLOPs,更是建立了“最终任务相关性—跨层信息传播—逐层保真剪枝”的统一视角。
技术贡献
论文给出patch影响估计公式:s_{t,i}=Σ_h||A_t^h[:,i]U_t^h[i,:]||²_F,其中A表示从当前层到输出层的累计注意力传播,U=P_t^h|Z_{t−1}|。算法从输出层反向搜索,每层继承深层保留位置,并通过容忍误差ε控制稀疏度。该设计同时处理了shortcut的一一空间对应关系与MSA的全局聚合,区别于直接迁移CNN通道剪枝或NLP词元删除方法。
新颖性
新颖性在于首次系统地将视觉Transformer的冗余定义为跨层patch信息流冗余,而非仅压缩通道、head或嵌入维度。top-down inverse pruning利用最终class token反向指导早期层,既符合深层patch相似度更高的观察,也避免独立剪枝破坏空间信息传递。
局限性
- 显著性分数依赖训练样本统计和注意力传播近似;对分布外图像、细粒度目标或需要所有局部区域的任务,静态mask可能误删关键patch。
- 剪枝搜索包含逐步选择、局部微调和误差计算,离线成本不低;动态DPS-ViT还需增加预测模块,实际收益依赖硬件是否高效支持变长token。
未来方向
未来可研究面向检测、分割和视频的任务特定误差约束,联合patch、head、MLP维度剪枝,并设计硬件友好的规则化token布局。还应比较注意力分数与梯度、扰动或蒸馏信号,提升分布外鲁棒性,并探索端到端训练动态路由器以减少搜索和微调成本。
AI 总览摘要
视觉Transformer以patch为基本计算单元,在图像分类中表现出色,却把每个patch在每一层都送入自注意力和MLP,造成高昂的二次复杂度。传统CNN通道剪枝、BERT词元删除或均匀池化无法充分利用视觉patch的一一空间对应和跨层信息流,甚至会带来明显精度损失。
Patch Slimming提出一种反向、逐层的结构化压缩方案。研究者先在最后一层保留分类需要的class token,再利用后续层累计注意力估计早期patch对最终输出的影响,按显著性分数保留patch,并以重构误差ε作为停止标准。静态PS-ViT在每层固定保留模式,动态DPS-ViT则用轻量模块G针对每张图像预测有效patch。
ImageNet结果显示,DeiT-Ti的PS-ViT把FLOPs从1.3G降至0.7G,Top-1仅从72.2%降至72.0%;DPS-ViT进一步降至0.6G、53.8% FLOPs削减,Top-1为72.1%。DeiT-S的DPS-ViT在2.4G FLOPs下保持79.5%准确率。该工作说明,视觉Transformer的效率提升不必只依赖更小的通道或模型,也可以通过理解并删除跨层冗余patch实现。其局限是搜索和微调成本、动态变长计算的硬件适配,以及对密集预测任务和分布外输入的适用性仍需验证。
深度分析
研究背景
ViT、DeiT、T2T-ViT和LV-ViT证明Transformer能在视觉任务中取得强性能,但其MSA和MLP计算量很大。已有压缩方法包括SCOP等CNN通道剪枝、PoWER等BERT词元删除、VTP嵌入维度剪枝以及HVT池化式架构设计。它们主要压缩通道、head或空间分辨率,尚未充分利用视觉Transformer中patch逐层聚合后产生的高度相似性。
核心问题
给定N个patch和d维嵌入,MSA成本为2N²d+4Nd²,MLP成本为2Ndd′。随着层数增加,patch平均余弦相似度在ViT-Base深层可超过0.8,意味着大量计算重复。但不同层patch存在空间一一对应,独立删除可能切断shortcut和注意力传播,因此需要既能衡量最终任务影响、又能保证跨层信息流的剪枝准则。
核心创新
- �� Top-down pruning:从最后层向第一层反向处理,深层保留位置强制在浅层保留。
- �� Impact estimation:用累计注意力A和当前value传播U计算s_{t,i}=Σ_h||A[:,i]U[i,:]||²_F,估计patch对最终有效输出的影响。
- �� Error-controlled search:按分数逐步增加patch,每步微调当前block,直到下一层重构误差低于ε。
- �� Dynamic extension:DPS-ViT用模块G预测每个输入实例的显著性,实现样本自适应删除。
方法详解
- �� 输入:预训练ViT、训练集子样本、容忍误差ε、搜索粒度r′。
- �� 初始化:最后层仅保留class token,即m_{L,1}=1,其余为0。
- �� 评分:计算各head的P_t^h=softmax(QK^T/√d),构造A_t^h=∏_{l=t+1}^Ldiag(m_l)P_l^h和U_t^h=P_t^h|Z_{t−1}|,得到s_t。
- �� 选择:继承m_{l+1},再按s_t最大的位置每次加入r′个patch。
- �� 校准:每次选择后微调当前block,并测量E_{l+1}=||diag(m_{l+1})(Ẑ−Z)||²_F;误差满足ε后固定mask。
- �� 部署:只计算有效query、attention和MLP,输出用shortcut或零填充对齐;最后整体微调。动态版本由G输出近似分数。
实验设计
实验使用ImageNet ILSVRC2012,含120万训练图像、5000张验证图像和1000类。模型包括DeiT-Ti/S/B、T2T-ViT-14及LV-ViT;比较SCOP、PoWER、HVT和VTP。误差ε取0.01或0.02,搜索粒度为10,每次选择后微调3个epoch,在NVIDIA V100上用PyTorch和MindSpore评估Top-1、Top-5、FLOPs与吞吐量。另比较学习式剪枝和uniform pruning。
结果分析
PS-ViT在DeiT-Ti上以0.7G FLOPs获得72.0% Top-1,而SCOP和PoWER分别为68.9%和69.4%;DPS-ViT在0.6G达到72.1%。DeiT-B的DPS-ViT为9.4G、81.6%,相对17.6G基线削减46.6%。T2T-ViT-14的DPS版本为3.1G、81.3%,较5.2G基线下降45.4%。均匀剪枝在DeiT-S同为2.6G时仅77.2%,PS-ViT为79.4%。
应用场景
该方法适合图像分类服务器、移动端相机、边缘视觉和IoT设备,前提是推理框架支持token索引、稀疏或变长序列。静态PS-ViT更易部署,可用于固定硬件;DPS-ViT适合图像内容差异大的场景,例如简单背景少算patch、复杂场景保留更多patch。对检测和分割的直接迁移仍需重新定义任务误差。
局限与展望
论文主要验证ImageNet分类,class token单一输出使误差定义较容易;检测、分割、姿态估计和视频需要保留多个空间位置,当前准则未被充分验证。注意力乘积和逐层搜索会产生离线开销,动态G也增加运行时成本。理论分数是Lipschitz上界下的近似,并不保证全局最优;变长矩阵计算若缺少编译器和硬件支持,FLOPs下降可能无法完全转化为延迟下降。
通俗解读 非专业人士也能看懂
把一张图片想成一座大型仓库,patch就是仓库里的许多货架,Transformer像一支检查队伍:每一轮都让所有货架互相交换信息,再决定整座仓库最重要的东西。问题是,有些货架装着相同或几乎没用的货物,却仍然被每轮检查,浪费时间。
Patch Slimming先看最后的出货单:分类真正需要哪些信息?在普通分类中,最后主要看一个“总标签货架”,也就是class token。研究者从最后一轮倒着检查,观察某个早期货架的信息经过后面几轮传递后,是否仍会影响总标签。如果影响很小,就把它删掉;如果它所在的位置在后面仍有用,就必须保留,保证信息通道不断。
每删一批货架,系统都会短暂重新训练,让剩下的货架学会协作。像固定仓库布局的PS-ViT会对所有图片使用相同删法;DPS-ViT则像聪明的仓库主管,根据每张图片临时决定检查哪些货架。ImageNet上,DeiT-Ti最多可减少53.8%计算量,准确率几乎不变。
简单解释 像给14岁少年讲一样
想象你在玩一款看图猜物品的游戏。屏幕被切成很多小方格,每个方格都像一个同学,大家一轮轮讨论:“我看到的东西和谁有关?”最后班长把重要信息交给老师,老师再猜答案。
麻烦是,有些同学看到的是重复内容:天空、墙壁、草地可能一大片都差不多。如果每轮都让所有人发言,游戏会很慢。Patch Slimming做的事,就是从最后答案倒着看:哪些同学真的帮助班长?没帮助的同学可以少参加几轮,但如果某个位置在后面的讨论中还有用,就必须保留,不能把传话路线剪断。
它还不是简单地“每次删一半”。算法先给每个方格打分,分数表示它对最终答案有多大影响;删一些后,再检查答案相关的信息有没有变化。如果变化太大,就加回重要方格。DPS-ViT更像实时队长:每张图片都不同,所以它会针对当前画面选择不同方格。
结果很酷:在ImageNet上,DeiT-Ti的计算量最多减少53.8%,Top-1准确率仍有72.1%,只比原模型72.2%低0.1个百分点。也就是说,模型可以少做很多重复工作,却基本保持原来的判断能力!
术语表
Vision Transformer(视觉Transformer)
把图像切成patch序列并用自注意力建模关系的神经网络。它弱化卷积先验,但通常计算量较高。
论文的基础模型,包括DeiT、T2T-ViT和LV-ViT。
Patch(图像块)
图像被切分后的局部区域及其嵌入表示。每个patch在网络中对应一个token和空间位置。
Patch Slimming选择并删除冗余patch。
MSA(多头自注意力)
通过Q、K、V计算token间关系并聚合信息的模块。其注意力矩阵连接任意两个patch。
论文用MSA的跨层传播估计patch影响。
Top-down pruning(自顶向下剪枝)
从网络后部开始确定保留单元,再向前层传递约束的剪枝策略。它能维护深浅层之间的对应关系。
算法从第L层反向处理至第1层。
Significance score(显著性分数)
衡量一个patch对最终有效输出影响的数值。分数越大,删除它造成的误差风险越高。
公式为s_{t,i}=Σ_h||A_t^h[:,i]U_t^h[i,:]||²_F。
FLOPs
浮点运算次数,用于近似模型计算成本。它不一定等同于真实延迟,因为硬件和内存访问也很重要。
论文报告FLOPs下降率和吞吐量提升。
开放问题 这项研究留下的未解疑问
- 1 当前证据主要来自ImageNet分类;在检测、分割、视频和细粒度识别中,多个局部区域可能同时决定结果,class-token重构误差是否足够仍未知。
- 2 显著性分数依赖注意力和训练样本统计;面对分布外图像、遮挡或极端背景时,如何避免误删关键patch仍缺乏系统评估。
- 3 FLOPs下降能否稳定转化为端到端延迟下降,取决于变长token和稀疏矩阵的硬件、编译器支持。
应用场景
近期应用
移动端图像分类
将预训练DeiT转换为PS-ViT,在固定设备上使用静态mask减少MSA和MLP计算。适合相册检索、相机识别和边缘分类;需部署支持token索引,并重新微调压缩模型。
自适应边缘视觉
使用DPS-ViT根据每张图片选择patch:简单背景少计算,复杂目标保留更多区域。适合摄像头和IoT节点,但需要轻量评分模块G及高效变长推理实现。
远期愿景
多任务视觉Token路由
将patch剪枝与head、MLP和量化联合优化,形成面向检测、分割、视频分析的任务自适应路由器,在准确率约束下动态分配计算预算。
原文摘要
This paper studies the efficiency problem for visual transformers by excavating redundant calculation in given networks. The recent transformer architecture has demonstrated its effectiveness for achieving excellent performance on a series of computer vision tasks. However, similar to that of convolutional neural networks, the huge computational cost of vision transformers is still a severe issue. Considering that the attention mechanism aggregates different patches layer-by-layer, we present a novel patch slimming approach that discards useless patches in a top-down paradigm. We first identify the effective patches in the last layer and then use them to guide the patch selection process of previous layers. For each layer, the impact of a patch on the final output feature is approximated and patches with less impact will be removed. Experimental results on benchmark datasets demonstrate that the proposed method can significantly reduce the computational costs of vision transformers without affecting their performances. For example, over 45% FLOPs of the ViT-Ti model can be reduced with only 0.2% top-1 accuracy drop on the ImageNet dataset.