点击下方卡片,关注 「AI视界引擎」 公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
尽管在各种视觉任务中,视觉 Transformer (ViTs)取得了显著的成功,但它们往往受到巨大的计算成本的制约。
在本文中,作者引入了一种即插即用且无需调整参数的标记减少方法VoMix(VoMix),该方法可以直接应用到市场上的ViT模型,无需进行任何训练。
VoMix通过一种逐层标记相似度投票机制,识别出具有高同质性的标记,从而减少ViTs的计算冗余。然后,选定的标记被混合到保留集合中,从而保留视觉信息。
实验表明,VoMix在图像和视频上显著提高了ViTs的速度与准确性权衡。在无需任何训练的情况下,VoMix实现了在ImageNet-1K上现有ViT-H的吞吐量增加2倍,以及在Kinetics-400视频数据集上现有ViT-L的吞吐量增加2.4倍,同时保证top-1准确率仅有0.3%的降低。
Introduction
自自然语言处理(NLP)转向计算机视觉(CV)以来, Transformer (Transformer)已在各种任务上创造了新的性能基准,包括图像分类和行动识别[17, 16],超越了卷积神经网络。然而,视觉 Transformer (ViTs)的一个显著挑战在于其巨大的计算成本。这主要是由于自注意力机制,其计算成本与标记数量成平方倍增加。此外,在ViTs的所有层保持恒定的标记数量将进一步加剧这个问题,限制了它在许多实际场景中的适用性。
最近的研究[13, 14, 15]表明,与语言相比,视觉数据具有显著的冗余性。ViTs中的大量标记(通常是类别标记)可以通过相邻标记重新获得并丢弃。因此,涌现出了一个加速ViTs的策略,称为“标记减少”(token reduction),通过减少ViTs中的标记数量来降低计算成本。
然而,现有的标记减少方法存在显著局限性。其中一些严重依赖特定标记(通常类别标记)为其他标记分配意义评分,因此限制了其应用仅限于特定模型。一些方法引入了额外的参数,需要对模型进行再训练。这些缺点限制了它们的实际适用性,使适配标记减少方法到训练好的ViTs模型变得困难。
最近的研究[13, 14]表明,ViTs中的注意力机制倾向于坍缩为同一性,即不同的 Query 标记引发相同的注意力信号。因此,作者认为标记的同一性越高,通过其他标记表示就越有效。因此,作者偏离了以前专注于丢弃无关标记的标记减少策略,而是减少标记的同一性。因此,剪枝同质标记可以增强ViT在标记利用率方面的效率,从而提高性能。
因此,作者引入了VoMix(Vote&Mix)VoMix,这是一个即插即用、无参数的标记减少方法。在每个层,VoMix通过投票机制识别出具有高度同一性的标记并由保留标记进行“mixing”。值得注意的是,VoMix可以在不需要训练的情况下,将ViT模型应用到即插即用的ViTs模型中,显著提高推理速度,同时保持准确率。在图像和视频数据集上的实验(包括ImageNet-1K[14],Kinetics-400[15],和SSV2[16])表明,VoMix在计算资源和准确率之间实现了最先进的权衡。如图1所示,VoMix显著改善了ViT的速度-准确性权衡。VoMix可以在相同的速度下实现更高的准确性,并在相同的准确性下实现更高的速度。此外,作者通过可视化VoMix保留和混合标记的趋势,发现VoMix的功能类似于软标记聚类,从而在保持准确性的同时加速推理。作者进行了裁剪研究并 demonstrated投票机制的优越性。最终,作者讨论了VoMix的训练裁剪计划和加速效果。
与其他标记减少方法相比,除了出色性能外,VoMix在以下方面还具有优势:
- 即插即用:VoMix节省了重新训练和部署的时间和成本。
- 简单且高效:VoMix是一个无参数方法,具有非常低的计算复杂性和允许灵活地扩展模型。
- 广泛适用性:它可以应用到大多数主流ViTs,并在图像和视频模式方面表现出色。
Related Work
Efficient Vision Transformers
自Transformer Vaswani等人(2017年)出现以及随后的视觉Transformer(Dosovitskiy等人,2020年)的适应,旨在提高Transformer模型效率的研究在计算机视觉领域中迅速展开。这些包括模型压缩、量化以及高效的注意。由于Transformer允许变长的标记,因此出现了“标记减少”。它旨在通过减少要处理的标记数量来提高ViT的效率。作者论文中提出的方法属于这一类别。
Token Reduction
在先前的工作中,词元减少可以分为词元剪裁、词元聚类和词元合并。
词元剪裁(Token pruning) 通过移除较不重要的词元来减少词元数量。一种典型的策略利用类词元的注意力权重来估计每个词元的保真概率。然而,许多 ViTs 中缺乏有意义的类词元,这限制了其适用性。另一种策略采用可学习模块预测每个词元的意义得分。虽然它引入了额外的参数和计算成本,但也需要重新训练模型。本质上,词元剪裁存在信息损失风险,基于打分采样的策略倾向于舍弃同一类中的词元,留下其他冗余词元(Marin等人,2023年)。与剪裁方法不同,作者提出的办法主要关注减少词元的同质性,同时保留剪裁词元的信息。
词元聚类(Token clustering) 通过将词元聚类到几个聚类中来减少词元数量。可以按照策略分为硬聚类和软聚类。硬聚类方法通常使用普遍熟知聚类方法,如K-Means或K-Medoids,并将聚类内的词元组合。这些方法通常需要多次聚类迭代,缺乏灵活性。软聚类方法一般涉及参数化学习器来预测聚类中心和分配矩阵,从而引入了额外的参数。作者提出的办法可以使词元混合有效地进行,不需要训练。
词元合并(Token merging) 通过将冗余的词元合并为一个词元来减少词元数量。一个典型的方法是ToMe,该方法逐步合并相似的词元对。后续的工作更新了简单的平均合并,以进行归一化平均合并。然而,这些方法仍然依赖于简单的计算成对词元相似性来选择合并的词元,而忽略了词元的全局同质性。相比之下,作者提出的办法提供了两个关键改进:
(1)投票机制:VoMix使用全局投票方法选择最同质的词元。作者在消融研究中将证明投票的有效性。
(2)词元混合:VoMix在应用qkv-attention之前,在注意力机制内进行 Query 融合,从而实现了一个软和的时间复杂度和 。
Vote&Mix
作者提出了VoMix,它只改变了ViT中的自注意力机制。在每个层次上,具有初始的标记计数,VoMix通过标记投票首先选出个具有高同质性的标记。然后,VoMix将选中的 Query (q)混合到保留的标记中。在注意力机制中,混合的个 Query 与原始的个键(k)和值(v)相互作用,最后产生了个标记的输出。图2说明了VoMix过程。
请注意,我尽量避免了直接翻译某些专业术语,因为这可能会影响文章的学术标准。您可以根据需要对翻译进行进一步校正。
Token Vote
目标在第 l 层,给定输入标记 ,标记投票旨在选择一个由 个标记组成的子集 ,其中 是修剪率。
直观上,高同质性的标记意味着与其他标记有很高的相似性。作者采用相似度投票策略来识别这些标记。
相似度度量在每个 Transformer 块中,VoMix 测量标记之间的余弦相似性,从而得到一个相似度得分矩阵 。在这里,作者使用 Head 平均关键 (k) 作为度量来减少额外的计算。数学上,
其中 是注意力头数, 分别表示标记 和 之间的余弦相似性。 被设置为 ,以防止自投票。
投票计数每一个标记为最相似的标记投票,其中投票按照相似度得分进行加权。每个标记的得分是接收到的加权投票的总和:
其中 表示标记 投票的索引, 是克罗内克德尔塔,当 时为 1,否则为 0。然后,VoMix 按得分对标记进行排序,选择前 个标记,即得到子集 。剩下的标记组成集合 。
标记混合目标给定选择的子集 和剩余的集合 ,标记混合旨在将 中的标记整合到 中,以保留 的信息。
直接丢弃选择的标记通常会导致信息的损失。为了减轻这种损失,VoMix将这些标记混合到保留的池中。以下是具体步骤:
混合权重 VoMix直接从A中获取相似度分数 ,因为 和 之间的相似度。然后混合权重 是软max 汇总的分数 。
** Query 混合** Query 混合对 Query 进行软特征混合。在注意力之前,将来自的 Query 混合到的 Query 中,使用混合权重。注意,标记混合为具有可变权重的标记,标记 需要先乘以混合大小 :
其中是第层的标记混合大小,表示有多少个标记混合到标记中。初始的为1。然后更新新的加权大小并归一化最终的:
然后,作者得到混合 Query 。
注意力混合 作者使用与原始键和值相匹配的混合 Query 进行自注意力。作者使用比例注意力,即对较大的加权键支付更多注意力,表述为:
注意:softmax(+,式(8)
因为 不在第 l 层中混合,所以作者使用 的尺寸。最后,作者得到第 l 层的输出标记 。算法 1 的伪代码说明了 VoMix 在 PyTorch 风格伪代码中的工作方式。
Complexity Analysis
作者对VoMix进行了复杂性分析,以探索其额外的 时间复杂度。在这里,表示每层中的初始标记数, 是特征表示的维数, 是注意头的个数, 是剪枝比。
标记投票,头到头的平均键的复杂度是 。计算相似性矩阵 需 ,投票复杂度为 。假设 ,主导项为 。
标记混合,软混合权重复杂度为 , Query 混合为 。因此,逐步复杂度为 。
将上述部分相加得到VoMix的总额外时间复杂度为 ,不超过 。
Experiments
在本节中,为了验证VoMix在不同视觉模态下的有效性,作者在图像和视频分类任务上分别进行了实验。测试数据集是这些任务中的常见基准:ImageNet-1K [12], Kinetics-400 [13] 和 Something-Something-V2 [21]。作者将VoMix应用到现成的模型上,以重评其准确率和速度,从而验证了VoMix的即插即用能力。所有吞吐量结果都是在单个32GB Nvidia Tesla V100 GPU上获得的,批处理量为32。
剪枝时间表: VoMix 是一个依赖超参数 的 Token 减少方法,用于控制第 层上的剪枝比例。在作者的实验中,作者将各层的 值设置为管理准确性与速度之间的权衡。作者定义了两种剪枝时间表如下:
- 常数时间表: 表示在第一 层中,以 作为每个 Token 的常数比例剪枝。
- 递减时间表: 表示在第一 层中,以 为基础,逐步降低到 的减函数比例剪枝。
Image Experiments
作者在ImageNet-1K上评估VoMix,使用的ViT模型包括MAE [10], SWAG [23]和DeiT [20]。作者将VoMix应用于已发布的微调模型,以验证其对企业级模型的效果。
评估结果。表1展示了VoMix在各种层数和输入分辨率的ViTs上的加速效果。各层的ViTs的可见性准确率降低0.2%至0.6%,VoMix显著提高了ViTs的吞吐量。更大的ViTs表现出更大的加速效果。这是因为较大的ViTs具有较深的层,放大了标点减少的累积效应。就输入分辨率而言,较大的输入在精度损失较小的情况下加速更快,这与高分辨率图像包含更高冗余性的直观相符。
与标记减少方法的比较。在表2中,作者将VoMix与几种标记减少方法进行了比较,包括HVIT [16], IA-RED[16],A-ViT [12],DynamicViT [13],SP-ViT [13],EViT [14]和BAT [15]。这些方法的所有用于比较的过程都需要进行再训练或进一步微调。作者直接将VoMix应用于DeiT-S [20](无需任何训练)而获得与A-ViT相同准确率和效率。作者还将在ViT-S-AugReg [23]上应用VoMix,并获得与最先进的其他方法相当的准确率,同时提高了效率。值得注意的是,VoMix不需要训练,因此实际上节省了训练时间。此外,为了进行公平的比较,作者从DeiT-S [20]中微调VoMix进行了100个周期的训练,所获得的结果与BAT [15]一致。这表明VoMix不仅作为一个即插即用方法能够实现惊人的结果,而且还有潜力在训练后进一步开发。
与插件和即用(plug-and-play)方法比较。为了评估VoMix的即用性,作者将VoMix与其他可插拔 Token 减少方法进行比较。首先,作者在具有MAE模型的 Token 合并(ToMe)[15]与其他方法并进行比较,例如 Token 合并。作者将VoMix的降级比率如图2(a)所示进行归一化。在相同的配置中,与ToMe相比,VoMix在速度-精度权衡上表现更优。具体而言,在较小的修剪比例下,精度差异微乎其微,然而,当修剪比例进一步增加时,ToMe的精度损失 significantly大于VoMix。作者认为这种差异源于不同的降级方式:ToMe在一种强制性方式下合并 Token 特征,因此在许多 Token 修剪后,将不相似的 Token 组合为一个 Token 。相比之下,VoMix通过投票机制选择 Query ,并通过软方法重新分配 Token 特征,从而在保留更少的 Token 时更有效地保留原始特征。此外,图2(b)表明VoMix可以训练得到更好的性能。此外,作者还与另一个可插拔方法ATS [11]进行了比较。由于ATS对带有类标记的ViTs有要求,因此作者的比较仅限于DeiT。如表3所示,在相同计算功率下,当两个模型都不进行微调时,VoMix在精度上取得了更高的成果。
可视化。为了探究VoMix如何混合 Token 特征,作者在使用ViT-Lr = (15%)^12的ImageNet-1K上进行ViT-k (r)(=3%)^12,(=5%)^12,(=7%)^12,(=10%)^12和(=12%)^12,在相同种类的 Token 修剪比分配下,将最后一层的标记和来源分布表示为图4。作者试图回答两个主要问题:(1)VoMix倾向于保留哪些 Token ?(2)哪些 Token 的保留信息被保留在保留的 Token 中?
对于第一个问题,作者发现与以前仅保留前景标记的缩小方法不同,VoMix为每个语义区域保留至少一个代表标记。例如,鸟 Head 保留的标记更多,背景区域保留的标记较少。此外,保留的标记被有策略地放置在语义区域的边界,这突出了VoMix的能力,即优先选择不相似的标记,从而突显边缘标记作为出色代表的价值。这种机制促使模型专注于边缘特征,避免区域内部出现冗余。
图3:具有MAE模型上的速度-精度权衡。作者对每个方法在相同 Level 的ViTs的相同修剪比例设置。修剪值r =(3%)^12,(=5%)^12,(=7%)^12,(=10%)^12和(=12%)^12。
针对第二个问题,作者以每张图像中的两个标记来解释保留标记的特征来源,然后可视化它们的来源热力图。这些热力图显示,较热的区域意味着有更多的特征权重混合到所选标记中,从而揭示了不同保留标记的多样化来源分布。在左图图像中,鸟颈,(紫色框)主要从它的身体中获取特征,而草地标记(绿色框)主要从背景中获取特征。在右图图像中,鱼尾,(绿色框)主要从它的尾鳍中获取特征,而水区域标记(紫色框)从背景中获取特征。这种特征聚合模式证明了VoMix的功能类似于标记聚类,即在一个保留标记周围聚合相似标记的特征,通过将相似标记合并到代表区域来减少冗余。
这些发现得到了图5中的可视化证实,这显然表明VoMix倾向于将相似标记聚类到相同的区域,从而证实了作者关于VoMix如何混合标记特征来实现高效有效的表示的分析。
Video Experiments
作者在两个视频分类数据集上进行了实验,分别是Kinetics-400 (K400)[13] 和Something-Something-V2 (SSV2)[1],并且使用VideoMAE[14] 作为基础模型。作者将VoMix应用于官方发布的细粒度微调模型并进行评估。
视频剪辑考虑到需要将视频剪辑为片段以便进行视频实验,作者采用VideoMAE[14]的片段设置,以保持公平性。在评价过程中,作者对K400抽样5个片段,每个片段3个裁剪,裁剪帧数为16帧,而对于SSV2,作者选择23视角。对于吞吐量评估,作者报告每秒16帧224224帧的剪辑吞吐量。
评估结果表4展示了ViT在K400和SSV2上的VoMix结果。从ViT-B开始,表中报告了两个结果:其中一个准确率略有下降,另一个与低端ViT的吞吐量相当。只有0.2% 0.3%的准确率下降,VoMix将计算成本降低了约30%用于低端ViTs(ViT-S,ViT-B)和60%用于高端ViTs(ViT-L,ViT-H)。实际吞吐量增加与计算成本减少非常吻合,证明了VoMix引入的额外计算成本相对于其效益可以忽略不计。通过进一步增加修剪比例,VoMix在高端ViT上实现了一种双重优势,与低端ViT相比同时兼顾了准确性和速度。图1显示了VoMix引入的速度-准确性权衡的改进。
与其他模型相比,如TimeSformer Bertasius等人的模型(2021年),Motionformer Petrick等人的模型(2021年),VideoSwin Liu等人的模型(2022年),MViTv2-L Li等人的模型(2022年)以及基于VideoMAE的两种可插拔标记修剪方法Tong等人在两个轨迹中使用的 baselines 模型:ToMe Bolya等人(2022年) 和 STA Ding等人(2023年) 为基准。在两个轨道中,VoMix在准确性和计算成本方面都优于其他模型。ViT在VoMix上的性能显著优于专门的视频模型。与可插拔标记修剪方法相比,VoMix在计算成本相同的情况下达到了相同的准确性。此外,作者还使用ViT-LMAE在K400上完整地比较了VoMix和ToMe之间的速度-准确性权衡,如图6所示。与ImageNet-1K的结果类似,ToMe在较低的修剪比例下略微领先。然而,随着修剪比例的增加,ToMe在准确性上遭受了显著的损失,而VoMix保持了较好的准确性。
可视化与图像可视化相似,作者使用VoMix-L在图7中可视化多个帧的视频源 Heatmap 。作者选择蓝色瓶子(红色框)的最后一个保留标记(留下来标记),并跟踪混合源。如图所示, Heatmap 主要从不同帧的蓝色瓶子中提取特征,表明VoMix也可以在视频上进行特征聚合。
Ablation Study
为研究最佳策略,作者在SWAG Singh等人(2022年)的ViT-L@512上进行了ImageNet-1K的消融研究。结果见表7。
选择策略 三种策略包括:(1)使用VoMix的投票策略;(2)选择所有其他 Token 的平均相似度最高的 Token ,也就是全局最大相似度;(3)随机选择 Token 。与全局相似度相比,投票策略表现出明显的优势。这可以归因于投票策略的局部性,即所选 Token 不需要是全球最相似的,但只需在多个 Token 之间表现出最高的相似度。
投票机制 为了探索一个 Token 应投给多少个 Token ,作者检查了三种设置:(1)投给顶部的1个 Token ;(2)投给顶部的2个 Token ;(3)投给顶部的r个 Token 。顶部的1个 Token 优于其他选项,支持上述结论,也就是投票策略的优势在于其局部性。
相似度测量 作者使用了三种特征来测量相似度:q、k、v。使用k作为相似度度量效果最好。此外,作者还实验了三种相似度度量方法:余弦相似度、L2距离和向量点积。余弦相似度在其他方面都优于其他方法。
Query 混合 作者研究了三种不同的 Query 混合策略:
(1)全局混合,根据与保留 Query 的相似度混合所选 Query ;
(2)最大混合,仅与最相似的保留 Query 混合所选 Query ;
(3)不混合,则在没有任何混合情况下丢弃所选 Query 。
全局 Query 混合在其他方面的表现优于其他选项,表明软性混合的优势。
标题 作者探讨了三种不同的 Query 混合策略:
(1)VoMix所采用的注意力混合,其中与保留和原始k、v按比例分配注意力;(2)无比例注意力;
(3)不混合,在没有任何混合的情况下,ViT将注意力集中在保留的 q 、 k 、 v 上。结果表明,不混合会导致明显的精度损失,表明在 Query 混合之后,注意力应与完整的键和值集合一起执行。
Discussion
剪枝时间表 作者设计了三种剪枝时间表:
(1)常数时间表:所有层上的标记比例始终相同;
(2)减少时间表:标记比例逐渐降为0出现在各个层上;
(3)截断时间表:仅在早期层上进行剪枝。结果如图8所示。在任意吞吐量下,常数时间表几乎是最差策略。较低的剪枝比例下,截断时间表表现更好,而在较高比例下,减少时间表优于截断时间表。
我应该训练VoMix吗? 作者在表2和图2(b)中展示了VoMix训练的潜力。在这里,作者进一步讨论了由训练VoMix带来的时间和性能优势。作者在[13]中的MAE的微调脚本在ImageNet-1K上从零开始训练ViT-L,并将结果列在表8中。训练VoMix的结果与即插即用模式下的准确度略有增加。值得注意的是,与仅使用ViT-L进行推理相比,用VoMix进行训练,准确度降低了0.1%,但节省了近30%的训练时间。这意味着训练VoMix进一步提升了准确度与速度的权衡,并有效地加快了训练速度。
Conclusion
在这项工作中,作者提出了一个可插入且无需参数的 Token 缩减方法,名为Vote&Mix(VoMix),它可以无需任何训练即可直接应用于现成的ViT模型。VoMix通过投票和混合高同质性的 Token 来解决ViTs的计算冗余问题。实验结果表明,VoMix在图像和视频中都能显著提高ViTs的速度与精度权衡,并超越了现有的 Token 缩减方法。
参考
[1].Vote&Mix: Plug-and-Play Token Reduction for Efficient Vision Transformer.
点击上方卡片,关注 「AI视界引擎」 公众号