近年来,视频理解取得了巨大的进步,主要依赖于 Transformer 架构的力量。然而,这种架构众所周知地昂贵,视频具有高度冗余性,因此提高效率的研究变得特别相关。 这导致了许多创新解决方案,包括 Token 合并和 Token 选择。虽然大多数方法成功降低了模型的成本并保持了准确性,但出现了一种有趣的现象:大多数方法并未优于随机取样的 Baseline 。 在本文中,作者深入研究这一现象并提出几个观察。 首先,作者开发了一个关于 Token 值的启示,揭示了明显的帕累托分布,其中大多数 Token 具有极低的值,只有少数几个 Token 携带了大部分感知信息。 其次,作者分析为什么这个启示如此难以学习,因为它并未始终与视觉线索相一致。第三,作者观察到容易的视频需要更少的 Token 来保持准确性。 在这些基础上,作者提出了一个轻量级的视频模型,作者称之为LITE,它可以有效地选择少数几个 Token ,在计算(GFLOPs)与准确性之间的权衡中超过了最先进的状态和现有 Baseline (Kinetics400和Something-Something-V2)。
近年来,视频理解取得了显著的进步,接近解决了许多标准基准和任务。这一进展主要依赖于 Transformer 架构[36],它既非常强大,又非常耗计算资源。 Transformer 起源于语言领域,其中很少需要 Token 来表示一个概念,例如一个动作, Token 大致相当于单个单词。然而,在 Transformer 视觉适应[1]中,表示一个动作的 Token 数量则是阶乘 Level 大,导致计算成本呈指数增长。这种成本有广泛的负面影响:它限制了模型的部署能力,因为它们需要昂贵的设备运行,使视频理解研究变得沉重,导致响应速度较慢,既财务成本高昂,又具有很大的环境足迹[16]。特别地,虽然推理成本相对于训练较小,但模型整个推理过程中的总成本大于训练成本,因为它是多次进行的[28]。同时,视频在空间(背景区域可能占场景的大部分)和时间(许多帧相似,即使它们是从原始视频中下采样得到的)方面都具有很高的冗余度。
这两个因素共同为 Token 减少提供了一个巨大的研究主题机会。这个主题催生了许多减少 Token 数量的创意想法。其中明显的一个分支是将相似的 Token 分组在一起,只存储组的代表性 Token 。其他想法围绕根据运动选择 Token ,例如Motionformer[27]。这些模型可以显著降低GFLOPs的计算成本,同时保持与完整模型相当的准确性。
关键的是,作者观察到这些模型在准确性和计算量之间做出了类似于或低于随机采样 Token (见图2)的最简单 Baseline 的权衡。在这篇论文中,作者对这个令人费解的效果进行了深入研究,并发现了对视觉 Token (nature of visual tokens)的某些底层原则,这些原则对于设计更快、更高效的视频模型是有益的。
使用“好”的子集比使用所有“好”的 Token 更有效。首先,作者设计一个预言机,估计特定任务中每个 Token 的价值。具体来说,作者将动作分类作为作者的测试床。这个预言机的设计使得每个输入 Token 的价值对应其梯度[32]。作者称它为预言机,因为它使用类别的真实标签。有了这个预言机,作者可以现在根据 Token 的梯度值,选择一组 Token ,并保留那些梯度值更高的 Token 。作者观察到,根据预言机选择视频 Token 子集的准确率实际上远大于使用所有 Token 的 Baseline 。换句话说,“低值” Token 不仅没有帮助,而且实际上起到了干扰分类的作用。关键是这个差距也非常惊人:它可以达到9%。这进一步证明了预言机的惊人价值。
寻找正确的 Token 就像在干草堆中找针头。预言机的性能如何?它关注人类使用的线索,例如前景目标吗?此外,作者是否可以训练一个简单的模型来复制预言机?作者进行了一系列实验来了解预言机选择的 Token 的性质。作者评估它们与其他方法选择的 Token 相比如何,包括选择前景目标、选择注意力更多的区域等。令人惊讶的是,这些策略的表现远远不如在随机选择 Token 时表现好。然后,作者提出一个“选择器”网络,作者称之为LITE(轻量级 Token 选择器),它将 Token 和其近似值作为输入。作者观察到,尽管选择器非常轻量级,但足以在 Token 选择和合并方面超越以前的工作,包括强大的随机选择 Baseline 。这个选择器是一个简单的多层感知机(MLP),它单独操作于 Token Level ,而在作者的实验中,没有比较方法能提供更好的性能。
简单的任务不需要进行大量的计算以保持高精度。
容易的类别倾向于具有稍微较窄的尾部。这表明可能分类所需的“基本” Token 较少。作者在每个视频中测量调整计算预算的影响,这样更容易的视频(预测置信度高)使用较小的预算,而更难的视频(预测置信度低)使用较大的预算。
作者做出了以下几项贡献:
视频 Transformer 。 基于 Transformer 的架构通常在各种与图像相关的任务中带来显著的改进。除了图像之外,它们还推动了视频理解领域的重要研究,取得了有前途的成果。然而, Transformer 的计算成本随着 Token 数呈平方增加,这为处理更长的视频带来了挑战。
高效视频识别。视频理解多年来一直面临着效率问题,催生了大量工作来减少输入数据,利用运动[27],或者使用内存缓存[42]以实现对长视频的分析。最近的一些工作利用图像模型的进步,使用参数高效的微调[24, 25, 38, 43]将它们适应到视频。
变分自注意力(Transformer) Token 减少。在所有效率策略中,与本工作最相关的是 Token 的减少。一些方法通过端到端训练预测分数来减少 Token 。例如,DynamicViT [30] 使用轻量级网络对每个 Token 进行评分,并使用Gumbel-softmax选择顶部 Token 。A-ViT [44] 从 Token Embedding 的第一维计算停止分数以决定剪枝,而STTS [37] 使用可微Top-运算符预测分数并选择减少计算的顶部区域。
此外,一些方法从所有 Token 中提取关键信息以减少其数量。为此,使用诸如-中心搜索 [26] 的策略。 Token 学习器 [31] 使用 MLP 学习固定数量的新 Token ,从而减少了处理大量 Token 的计算负载。查找 Vit [20] 使用压缩 Token 进行高计算处理,而其他 Token 用于较便宜的层。
另一种主流方法是将冗余或类似的 Token 进行合并。ToMe[4]方法使用二分匹配算法将相似 Token 进行合并。在ToMe的基础上,STA[9]发展了一种针对视频的 Token 删除方法,其中第一帧使用ToMe,后续帧与前帧剩余 Token 进行比较,保留相似的 Token 。此外,vid-TLDR[8]的工作采用了基于ToMe的显著性 Mask ,增强了后续学习中显著区域的 Token 贡献。此外,最近的STTM[14]方法提取目标线索,压缩同一目标内的 Token 信息,并添加聚合位置信息以补偿运动线索的损失。 Token 减少的一个特殊情况是帧选择,这导致了一系列有趣的工作,包括SMART[15],Sevila[45],Vila[39]和ATP[5]。
与以往以数据为中心的方法不同,LITE采用了一种以启发式驱动、模型为中心的方法,通过直接梯度评分来保留高价值 Token ,并根据视频复杂性调整计算,从而提高现有方法的效率和准确性。
在本节中,作者将对视频中的视觉 Token (visual tokens)的性质进行深入研究。作者的目标是利用这些底层原理来设计一个高效模型,既可以降低测试时模型的计算复杂性,也可以利用视频中 Token 的 overwhelming redundancy。接下来,作者介绍了实验设置,包括在整个论文中使用的架构、数据集和实现细节,然后是关键原理和支持实验证据。
作者使用两个标准的动作识别数据集:Kinetics-400 [7],来源于YouTube,是一个大规模的人体动作视频数据集,包含400个类别。每个类别都有至少400个动作剪辑。Something-Something V2 (SS-V2) [18]专注于对人类手势的细致理解。该数据集包含220,847个 Token 的视频片段,捕捉了174名个体在日常生活中使用日常物品执行预定义动作的情景。这个数据集对时间建模提出了更大的挑战。
实现细节作者使用VideoMAE [34]作为 Backbone 网络,因为它被广泛使用。每个视频的帧都被均匀采样,使用大小为像素的片段作为网络输入, Pipeline 大小为。在推理过程中,作者使用两个时间片段。对于每个时间片段,作者分别从大小为像素的三个空间裁剪(左上角、中心、右下角)中选择三个。最终预测值通过所有视图(时间片段空间裁剪)的得分平均得到。所有实验都是在2个NVIDIA RTX 3090 24GB GPU上进行的。
在本文中,作者将P-Ratio定义为与每个视频中每帧的token总数相比所选token的百分比。尽管最近的工作在token选择方面利用了许多不同的线索来选择判别性token,但令人惊讶的是,随机 Baseline 在所有计算预算下都具有可比性或优于其他模型,如ToMe [4]或专为视频设计的模型 [9]。
似乎,如果随机选择 Token 产生强大的结果,插入一定的偏见应该可以改善结果。这也将告诉作者哪种视觉内容与场景的重要部分更相关:是前景?是移动区域?作者尝试了几个可能的 Baseline ,并显示了如图2所示的结果:
注意: 作者考虑在测试时使用每个 Token 的注意力大小。由于这些是模型实际上“关注”的 Prompt 进行分类的线索,找到好的 Token 似乎是一个强烈的信号。然而,值得注意的是,这与随机 Baseline 的表现非常接近。
运动向量:运动往往携带有关动作的区分性区域的信息。通常,运动区域对应于前景和因此对应于动作发生的地方。在本 Baseline 中,作者简单地使用视频的运动向量(MVs),这些与压缩视频一起提供,并采样具有最大运动幅度的那一个。这个 Baseline 也较差,尤其是在计算预算较低的情况下。
最后,作者使用CPFE[46]的显著性检测器来计算每个帧的显著性。然后,作者采样具有最高显著性的 Token 。结果表明,显著性并没有比随机更好。
作者能否描述好 Token 和坏 Token ?这有助于作者选择它们以减少计算复杂性。然而,正如刚刚所示,基于视觉线索(如运动、注意力和显著性)的合理归纳偏见在 Token 选择上表现不如随机选择 Token 。因此,作者尝试采用不同的方法:假设作者可以利用视频中每个 Token 的梯度作为潜在的线索?这将显示视频的哪些部分与每个特定类相关性更强。
为了确定在分类任务中哪些 Token 起决定性作用,并根据 Token 的重要程度为每个 Token 分配一个分数,作者设计了一个神谕来预测给定 Token 的值,使用 Grad-CAM [32]。如前所述,作者称这个神谕为神谕,因为它具有特权信息 - 真实类标签。然而,这实际上是“真实神谕”的一个可解近似,即找到相对于真实标签最小化损失的 个 Token 子集。
作者首先计算目标类 的得分与 MLP 最后一个模块的特征图激活的梯度:
在应用softmax之前,表示目标类别的得分,表示位置为,特征为的特征图激活值。在获得梯度分数后,作者对所有 Token 进行平均池化,以得到目标类别的每个特征的重要性权重。为了尽可能地逼近真实标签,并创建一个更准确或acle,作者这里选择的目标类别是真实标签类。
在获得每个特征的重要性权重之后,作者使用线性组合计算每个目标类别的每个 Token 的重要性分数。在计算最终 Token 分数时引入ReLU函数,以确保只考虑对类别有正面影响的 Token ,从而使激活图更清晰、更集中:
其中 是具有特征 的特征图激活值, 是特征 在目标类别 上的重要性权重, 是目标类别 的最终 Token 得分。最后,作者对所有patch分数进行min-max规范化,将其缩放到0和1之间的范围。
是好还是不好的占卜?作者通过选择多个不同的计算预算下,值最高的顶部个 Token 来衡量其准确性。作者使用SS-V2作为数据集,VideoMAE作为 Backbone 。结果如图2所示。作者有两个观察结果:首先,占卜者比所有其他 Baseline 和最先进的方法都要好得多。这并非一定令人惊讶,但令人欣慰的是,这确实是一种衡量 Token 识别价值的好方法。作者还观察到,与其他方法和 Baseline 不同,占卜者的准确性并未严格随着增加 Token 而提高。相反,存在一个最佳值,高价值的 Token 已经被选择,但低价值的、可能噪声较大的 Token 没有被选择。这也是一个有趣的洞察,使作者充满希望,认为这种占卜方式可以有助于高效模型设计。图4显示了一些占卜值样本的 Mask 。
图3显示了对于大量视频的导师元组的分布情况。这具有非常帕累托分布的特点,其中大多数元组携带的信息很少,而少数几个关键元组携带了大部分信息。这有助于解释随机取样的神奇有效性:只要包含一些尾元组,视频就可以正确分类。观察图2中随机选择器的准确性曲线形状,它远离线性。作者可以看到,当采样元组的百分比小于30%时,有一个悬崖。一个合理的解释是,在这个点,尾元组被采样的概率变得太小,因此视频正确分类的概率显著降低。
图3显示了另一个观察结果:容易的类别具有比困难的类别更细的尾部。即使这个差异看起来很小,但在统计上是显著的,因为被分析的 Token 数量非常大。这可能意味着在困难的视频中比在容易的视频中存在更多的关键或必需的 Token ,因此它们可能从增加采样 Token 的数量中受益。为了探索这个假设,作者分别对每个类别绘制了原始准确性作为函数的随机取样准确性降低的图像。如图5所示,作者观察到对于给定的采样比例(50%),容易类别的准确性(例如具有更高 Baseline 准确性的类别)受到的影响比困难类别的准确性小。
3节的研究结果提出了两个可以用于设计轻量级、高效和自适应的视频模型LITE的基本理念:1) 预言者是获取代币价值的可靠信息来源;2) 简单的视频需要比困难的视频更少的计算。在本节中,作者首先回顾了作为 Backbone 的Video Transformer模型,然后描述了如何将作者的两个核心理念集成到LITE中,并给出了图6中的模型概述。接着,作者讨论了其他作者尝试过的可能变种。
视频Transformer将视频作为输入,其中包含T个RGB帧,每个帧的大小为,是从原始视频中按比例采样得到的。遵循ViT [10]的方法,视频Transformer将帧展平为个3D Patch ,大小为,其中。因此,视频Transformer将视频转换为一系列不重叠的 Patch 序列。
在本文中,具有时间索引的 Patch 表示为,其中且。 Patch 嵌入向量通过一个可学习的线性投影和单独的空间-时间位置嵌入的加法得到。
是一个可学习的线性矩阵,和是独立的空间和时间可学习位置编码。为了模拟视频中的外观和运动,每个块()中的每个块都通过Transformer编码块堆叠处理。在每个块中,块嵌入(patch embedding)通过多头自注意力(Attention)、LayerNorm(LN)和MLP(多层感知器)过程更新:
其中,为总块数。
鉴于 Oracle 概念,目标是设计一个轻量级的选择器,可以预测 Oracle 每个 Token 的值。一个必要条件是,模型必须轻量级,因为它必须比使用所有 Token 显著更快。
假设一个由patch嵌入序列组成的向量,其中是patch嵌入序列的长度,是嵌入维数。为了保持简单并确保模型保持轻量级,作者使用了一个三层全连接(FC)网络来预测 Token 分数。考虑到oracle 中的分数,作者还引入了一个 sigmoid 函数以进行更好的估计:
其中, 是卷积核嵌入, 是网络权重, 是作者的估计的 Token 得分。
作者在冻结的patch嵌入模块与backbone模型结合训练作者的选择器,使用选择器与真实标签之间的二进制交叉熵损失。如图6中的黄色区域所示。在推理阶段,作者在patch嵌入模块和第一个transformer模块之间插入作者的选择器,利用原始backbone模型除选择器外的所有权重。如图6中的绿色区域所示。
原则5表明并非所有视频或任务都需要相同数量的计算,简单的任务需要较少的 Token 。这与人类感知中的图像识别类似,作者在执行某些任务(如检测熟悉物体)时比执行更困难的任务(如分类被遮挡的物体)更快[29]。在这里,作者以此原则如下方式探索使用:作者以非常轻量级的方式衡量每个视频的难度,并利用这些信息计算一个“自适应预算”,该预算将自适应计算预算并在“简单”的视频上节省计算。这个过程如图6中的橙色方框所示,并在实验中称为LITE++,因为它专注于以最小成本进一步减少计算。
具体来说,作者使用预测的置信度作为 Agent 来衡量特定视频是否会正确分类。为了估计这种置信度,作者使用了一个轻量级的模型(MovicNet[19]),其准确性较低但速度非常快。在估计的置信度下,预算将按照以下方式选择:对于非常低的置信度(),作者接受这将是一个非常困难的情况,不会额外投资代币;对于容易的情况(),作者使用较小的预算,因为它们很可能很容易正确;对于介于两者之间的情况,作者使用 Baseline 预算。在作者的实验中,作者使用了以下超参数:和。对于容易的情况,当P-Ratio为0.5、0.7或0.9时,作者选择前30%的代币;当P-Ratio为0.3时,作者选择前20%的代币。
仅提供翻译后的结果,具体翻译如下:
从LITE的简洁性来看,人们可能会认为预测正则化器特别容易和直接。毕竟,如果MLP能学习这个,那么可能一个更复杂的模型会胜过它。本节描述了评估的一系列变体,这可能给出关于 Token 选择问题的额外洞察,同时也展示这个问题远非易事。所有这些变体的结果都在第5节中展示。
清理 Oracle 训练数据。图4 中的示例表明,Oracle 数据有些噪声。作者是否能纠正一些错误以提高 Oracle 的性能?探索了 Oracle 的几种清理策略:
由于Grad-CAM通常会在图像边界产生噪声高激活,因此作者将边缘的值减小以减少边界伪影。
隔离峰。占卜得到的原始值通常具有隔离峰,这可能误导真实重要的区域。作者移除低于某个阈值的较小区域。
优化分布。原始的似然分布通常比较平滑。作者将似然值转换为放大高低值之间的差异,使得分布更加集中在0或1附近。
包括全局信息 LITE模型仅根据一个 Token 的信息来评估 Token 的价值。这是对 Token 使用方式的一种简化,忽视了诸如信息多样性、关系等品质。作者在LITE中实验了一个全局分支,该分支在仅使用 Token 的值的基础上,使用多个3D卷积来获取附近的环境信息。然后,自注意力操作被用来捕获长期依赖关系并建模 Token 之间的交互,使网络能够有效地整合全局信息。
增加选择器的复杂性。三层MLP是一个相当简单的模型,作者可能可以用更复杂的模型做得更好。增加层数或使用其他架构可能会导致更好的结果,即使这意味着计算量的增加。作者在几个方面进行了实验。作者使用了更多的层(多达5层)来增加MLP的容量。作者还尝试了其他架构,用单人或多个Transformer块替换MLP。令人惊讶的是,这些变体没有影响选择器的结果。结果见补充材料。
实验验证从比较主流数据集Kinetics-400和SS-V2上的当前最先进模型开始。然后作者描述了一系列研究,以了解其行为,包括修改架构组件、backbone、oracle等。实验设置与前文Sec. 3相同。总体而言,作者观察到LITE优于之前的最先进模型,尽管其简单,但它具有鲁棒性和有效性。
首先,LITE在计算成本和准确性之间提供了比先前方法更好的权衡。在固定准确性下,LITE所需的计算资源更少;在固定计算下,它实现了更高的准确性。例如,在SS-V2数据集上,LITE仅使用了ObjectViViT [47]的40% GFLOPs,具有相似的准确性。在Kinetics-400上,LITE在使用了12%的GFLOPs与LookupViViT [20]相当的情况下,实现了可比的准确性。此外,LITE在token合并方法中也表现出色:与ToMe [4]相比,在SS-V2上,它实现了相似的GFLOPs减少,同时提高了0.3%的准确性;在Kinetics-400上,它提高了0.5%的准确性。同样,在等效的GFLOPs下,LITE也略胜STA [9]。
其次,LITE显著降低了计算成本,同时保持了准确性。在仅损失0.6%的准确率的情况下,LITE将GFLOPs减少了50%以上——这是一个优秀的折衷方案。第三,这种模式是一致的;在Kinetics-400上,LITE节省了超过50%的GFLOPs,同时准确率下降了0.9%。
图7说明了LITE的词元选择。结合表1和表2中的结果,可以看出LITE有效地选择了对模型有益的词元,并剔除了可能会误导分类的词元。此外,观察到由神谕选择的词元,可以发现有效词元的组合是多样化的而不是集中的。这种多样性部分解释了为什么作者的简单MLP选择器有效;它的简单性有助于防止神谕过拟合,同时保留选择多样词元的能力。
神谕创建。 在神谕中计算梯度分数有两种不同的方法:要么使用真实标签,要么使用最高预测类。表3显示了这两种变体在保留50% Token 时的性能。作者观察到使用真实标签提供了非常大的改进,达到8.5%。
适应性预算。作者尝试了适应性预算,并在表4中展示了结果。作者观察到这是一个有前途的方向,因为计算量可以减少三分之
变体。 在表5中,作者惊讶地看到,第4.4节中提出的所有合理想法都没有显著超过简单的MLP。这指出了一个惊人的结论:预言器非常难以预测,而MLP在提高准确性和避免过拟合之间实现了平衡。
实验中使用的 Backbone 网络 作者探索使用不同的 Backbone 网络,即TimeSformer [2],并显示结果在表6中。虽然对于高P-Ratio值,LITE仍能保持准确性并减少大量GFLOPs,但效果不如使用VideoMAE显著。这表明, Backbone 网络的准确性较低会导致噪声或acle,从而影响LITE的整体性能。
作者深入研究了视频标记的本质,提炼出了五个有趣的见解,这些见解涉及什么使一个标记对视频理解有价值,这种价值是如何分布的,以及所需的标记数量与任务难度如何相关。
作者利用这些原则设计了一个标记选择器,命名为LITE,它在准确性和计算之间的权衡上超越了现有的最先进技术。
作者希望这些原则以及LITE能够为基于Transformer的高效视频分析模型研究带来新的启示。
[0]. Principles of Visual Tokens for Efficient Video Understanding.