新加坡国立大学&达摩院&清华大学提出DyT | 微调ViT就满足了?适应性和推理高效性都要有!!

技术

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

现有的参数高效微调(PEFT)方法通过提高参数效率,在视觉 Transformer (ViT)适应方面取得了显著的成功。

然而,在适应过程中提高推理效率的探索仍然不够充分。这限制了预训练ViT模型的广泛应用,特别是在模型计算量较大时。在本文中,作者提出了动态调整(DyT)这一新颖方法,旨在提高ViT适应的参数效率和推理效率。

具体来说,除了使用轻量级的 Adapter 模块外,作者还提出了一种 Token 分配器来区分信息性 Token 和不那么重要的 Token ,允许后者动态地跳过原始块,从而在推理时减少冗余计算。此外,作者探索了多种设计变体以找到DyT的最佳实践。

最后,受到专家混合(MoE)机制的启发,作者引入了一个增强型 Adapter 来进一步提升适应性能。作者在各种任务上验证了DyT,包括图像/视频识别和语义分割。例如,在VTAB-1K基准测试上,DyT在仅触发现有PEFT方法的FLOPs的情况下,取得了与它们相当甚至更优的性能。

1 Introduction

随着视觉 Transformer (ViTs)取得显著成功,在其他数据领域或任务应用上对预训练的ViT进行微调已经成为一种常见做法。然而,随着模型尺寸的增加,相应的适应成本变得过高,这是由于在目标任务上进行微调和推理的负担。提出了参数高效的微调(PEFT)方法(例如,AdaptFormer,LoRA,和VPT),通过减少可调整的模型参数来解决调整问题。它们通常在保持原始模型不变的情况下更新少量参数,这样有效地减少了可学习参数,同时保持了微调的准确性。

尽管在参数效率方面已有广泛研究,但在目标任务上的推理效率却较少被探讨。作者在图1(a)中数值地展示了三种代表性PEFT方法的推理效率,结果表明,它们在推理过程中的计算量都不比全量调参少。这一局限性给预训练的ViT适配到下游任务带来了挑战,尤其是在模型计算量较大时。为此,作者旨在统一参数和推理视角,以实现高效的ViT适配。

picture.image

动态网络[44, 58, 69]表明,标记剪枝有助于降低模型推理成本。然而,这些设计主要关注从零开始进行预训练或在相同数据集上进行完全微调,而没有考虑到数据领域转移。此外,标记剪枝操作限制了这些方法在视觉识别场景中的应用,限制了它们在更广泛领域的应用,例如密集预测[77]。作者的动机因此产生于如何开发动态模块以及与PEFT方法相结合,以在ViT适应过程中提高参数和推理效率,这同样适用于广泛的视觉任务。

在本文中,作者引入了动态调整(DyT)方法,这是一种有效的ViTs适配方法,既实现了参数效率又实现了推理效率。具体来说,作者为每个Transformer块设计了一个 Token 调度器,学习动态确定一个 Token 是否应该被激活或停用。只有被激活的 Token 才会穿过整个块和一个额外的轻量级 Adapter 模块,而其余的 Token 将跳过原始块,仅由 Adapter 处理。DyT并不减少 Token 的总数,因此它适用于视觉识别和密集预测场景。

此外,由于在适配过程中 Token 跳过的效果尚未被探索,作者提出了四种模型变体以确定DyT的最佳实践。最后,由于 Adapter 模块被设置为处理所有视觉 Token ,作者提出了一个基于混合专家(MoE)的 Adapter 设计,该设计进一步增强了 Token 处理,而额外FLOPs可以忽略不计。通过这些设计,作者的DyT实现了ViTs适配的参数效率和推理效率。

对DyT进行了多角度的综合评估。在图像领域,如图1(b)所示,DyT在VTAB-1K基准测试上仅消耗了85%的ViT-B FLOPs,同时超越了现有的PEFT方法。当视觉标记从图像扩展到视频时,作者的DyT在动作识别基准测试上展现了卓越的泛化能力,例如K400和SSV2,减少了37 GFLOPs。在标签从识别扩展到分割的场景中,作者的DyT甚至在ADE20K上超越了全调节,减少了21 GFLOPs。这些实验结果表明,所提出的DyT在各种视觉任务中在参数和推理方面都是高效的,并为高效模型适配指明了有前景的研究领域。

2 Related Works

2.0.1 Parameter-efficient fine-tuning.

参数高效的微调(PEFT)旨在通过仅调整一小部分参数,使预训练模型适应下游任务。现有的PEFT方法大致可以分为三类:基于 Adapter 的方法、基于重参化的方法和基于提示的方法。基于 Adapter 的方法在原始模型中插入一些微小的模块,并且在微调期间只更新这些插入的模块。重参化方法通常与重参化技术结合使用,直接修改预训练模型中的特定参数。基于提示的方法涉及向输入序列中添加少量可学习的标记,从而调整冻结层中的中间特征。

然而,PEFT方法主要关注在微调过程中提高参数效率,而忽略了推理成本降低的问题。在本文中,作者提出了一种方法,旨在同时提高参数效率并解决推理宿主的问题,以便高效地适应ViT。

2.0.2 Dynamic neural networks.

动态神经网络可以根据输入数据动态调整其架构,这使得它们能够基于输入数据控制计算冗余。现有方法在卷积神经网络中探索了动态层深度,动态通道宽度和动态路由。当谈到视觉 Transformer 时代,许多工作试图通过减少标记冗余来提高推理效率。例如,Liang等人识别并在每个 Transformer 层中将不关注的标记合并为一个标记。Rao等人在层与层之间逐步丢弃信息量较少的标记。Wang等人调整用于表示图像的标记数量。更详细的文献回顾可以在[27, 63]中找到。尽管这些方法在视觉任务中已经显示出显著的成功,但它们需要从零开始训练一个模型,或者在用于预训练的同一数据集上微调所有参数,这使得它们不适合高效地适应ViT。

与这些方法相比,提出的方法可以在引入极少额外参数的同时,将预训练知识适配到不同的下游数据集和任务,并在推理过程中降低计算成本。

3 ViTs Adaptation with Dynamic Tuning

在以下内容中,作者首先在3.1节介绍视觉 Transformer 和 Adapter 架构。随后,在3.2节中,作者提出了所提出的动态调整(DyT),并在3.3节中探索了其四种变体。此外,作者在3.4节中构建了一个MoE- Adapter ,它有效地增强了适应性能,同时没有引入额外的计算成本。最后,在3.5节中,作者介绍了作者方法的损失函数。

Preliminary

视觉Transformer(ViT)由一系列层堆叠而成。多头自注意力模块,记作Attn,以及多层感知机模块,称为MLP,是每一层的主要组成部分。每一层的输入可以表示为 ,包含 个图像标记和一个分类标记 。

Adapter 架构在之前的参数高效微调(PEFT)方法中已经被广泛探索。 Adapter 通常被设计为一个 Neck ,该模块包括一个投影层 来压缩通道维度,以及另一个投影层 用于维度恢复。在这里, 表示瓶颈维度,且 确保了 Adapter 的效率。对于给定的输入特征 , Adapter 操作被表述为:

其中 表示非线性函数,例如 ReLU。在这项研究中,作者遵循这个通用架构,在动态调整中构建 Adapter 。作者将 Adapter 与注意力块、多层感知器(MLP)或整个 Transformer 层并行放置,这些内容将在第3.3节中详细阐述。

Dynamic Tuning

在视觉 Transformer (ViTs)中,计算负担主要存在于 Transformer 层。具体来说,在Attn和MLP中的操作大约占据了ViT-B/16 总FLOPs的35.8%和63.5%。先前的研究揭示了ViTs中存在token冗余问题,并发现一些token可以在不牺牲性能的情况下被丢弃。受到这一启发,作者提出了一种有效的ViT适配方法,名为D ynamic T uning(动态调整,DyT),它不仅在微调期间保持了参数效率,同时在推理期间也减少了冗余计算。该方法的核心思想在于在 Transformer 块内动态选择待处理的token。对于一个块的输入token ,DyT可以表述为:

其中Block可以表示多头自注意力模块Attn、多层感知机MLP或整个 Transformer 层。所提出的标记调度器(TD)学会选择性地激活或停用标记。只有被激活的标记被输入到Block中,而所有的标记都由Adapter处理。

Token 调度器。 DyT(动态 Token )的关键点在于选择部分 Token ,这些 Token 将通过注意力机制(Attn)和/或多层感知机(MLP)。一种直接的方法是按预定义概率随机选择 Token ,并让模型适应使用这些选定的 Token 来执行下游任务。然而,这种简单的策略可能会在保留较不重要 Token 的同时丢弃信息性 Token ,从而可能阻碍适应性能。

为了解决这个问题,作者提出了一个 Token 调度器(TD),它在适应过程中学习选择 Token 。具体来说,对于输入 Token ,TD 学习选择性地激活一系列 Token ,其中 表示激活 Token 的数量。为此,它需要获得一个 Mask ,该 Mask 指示一个 Token 是否应该被激活或停用。

为了获得,作者采用一个投影层,其后是一个sigmoid函数,用以预测激活概率。然后,作者将0.5设置为阈值来确定每个标记的激活状态。这可以表述为:

表示第 个标记被激活,并将随后经历Block过程。相反,如果 ,该标记将被停用并跳过Block。在实践中,作者总是将分类标记 的 Mask 值设置为1,使其能够遍历整个网络。值得注意的是,在TD中引入的额外参数数量可以忽略不计,线性层 中仅有 个参数。

微调阶段。 然而,直接使用阈值会使 成为一个离散决策,在微调过程中导致一个不可微的问题。为了解决这个问题,作者在微调期间将 Gumbel 噪声 [30] 结合到 sigmoid 函数中以替换原始的 sigmoid 函数。其表达式可以制定为:

其中 , 。 表示温度,默认设置为5.0。关于Gumbel-Sigmoid的更多细节在附录材料中提供。随后,作者可以使用方程式.3中的相同操作来获得 。Gumbel噪声使得在训练期间 的采样具有随机性,并且作者采用 作为 的可微近似。这两者都有助于TD以端到端的方式进行训练。训练期间前向和反向传播的计算可以表述为:

等式2可以重新表述为:

从方程式5中,只有被激活的token的块输出 被保留,其余的则被 Mask Mask 。如图2(a)所示,在微调阶段, 内的所有token仍然需要通过该块。

picture.image

推理阶段。 在推理过程中,作者可以直接采用方程式3生成调度 Mask 并在TD中获取激活的标记 。然后,作者只需将它们输入到Block中。仅有效处理 个标记大大降低了计算成本,因为 K<nK<n。在实践中,作者在block的输出上添加填充以保持张量的形状。这导致了方程式2的结果。详细的推理阶段说明请参见图2(b)。< p=""></n$。在实践中,作者在block的输出上添加填充以保持张量的形状。这导致了方程式2的结果。详细的推理阶段说明请参见图2(b)。<>

Model Variants

等式2中的模块可以被实例化为原始ViT中的任何模块,例如多头自注意力模块Attn、多层感知机模块MLP,甚至是ViT中的完整 Transformer 层。由于在适应微调期间跳过这些模块中的token的影响仍然不容易估计,并且在以前的工作中尚未被探索,作者提出了四种模型变体,并进行了实验以确定最佳实践。

注意力调度: 考虑到Attn模块关于标记数量的二次计算复杂性,在应用Attn之前跳过标记可以显著减少计算量。在此设计中,多头自注意力仅在激活的标记之间执行,而其他标记被绕过,这可能会损害标记之间的交互。

MLP 分发: 根据第3.2节的分析,作者观察到在ViT-B/16中,MLP大约占用了63.5%的FLOPs,并提出仅在MLP之前跳过token。这确保了Attn中token之间的交互不受影响。

注意力-多层感知器调度: 另一种策略是在自注意力和多层感知器块之前跳过token。这种设计使得在Attn和MLP中都有更高的激活率,同时保持了与“注意力调度”和“多层感知器调度”相似的计算效率。然而,这需要在 Adapter 中增加双倍的额外参数。

层调度: 受“注意力-MLP调度”启发,作者可以在 Transformer 层之前分派标记(tokens)。具体来说,标记由一个TD(任务描述符)识别,以在后续整个层中被激活或失活。在相同的激活率下,其计算类似于“注意力-MLP调度”,但构建 Adapter 时需要更少的参数。

作者在图3中展示了架构变体。这些变体的实验结果和分析将在第4.2节中呈现。

picture.image

MoE-Adapter

在DyT中, Adapter 负责处理所有标记,这需要它具有足够的能力,特别是当下游任务(例如语义分割)难以适应时。为了解决这个问题,作者提出了一个受混合专家[59, 67]启发的MoE- Adapter 。它有效地提升了 Adapter 的能力,同时引入的计算成本可以忽略不计。

一个MoE-adapter包括一个路由层 和 个 Adapter 专家,表示为 。路由层根据输入特征生成一系列标量作为专家的权重。来自不同图像的特征可能会导致不同的专家权重。

具体来说,作者首先对所有token进行平均池化以生成一个作为它们全局表示的特征。随后,这个表示被送入路由层以生成权重标量 。最后,各个专家独立处理token,并与相应的权重相结合。作者在图4中展示了这个过程。

picture.image

然而,这会使 Adapter (adapter)的计算成本与专家数量 成正比增加。为了解决这个问题,作者采用其在数学上的等价方式来实际处理 ,其表达式可以制定为:

其中 和 。这种设计使得MoE-adapter具有与个独立 Adapter 相同的容量,同时保持了与单个 Adapter 相当的计算效率(路由层的计算成本可以忽略不计)。

Loss Functions

对于一张图像,作者计算预测概率与其对应的一热编码标签之间的交叉熵损失,以监督分类学习。为了控制整个模型中的平均激活率,作者在动态调整中添加了一个损失项以限制激活 Token 的数量,其可以表述为:

在这里, 表示 ViT 中的层数。 代表在 TD 中从第 层生成的 Mask 。最后,损失函数定义为 ,其中 作为激活率损失函数的权重,默认设置为2.0。

4 Experiments

Experiment Settings

数据集。 为了评估适应性能,作者在VTAB-1K 基准上进行了实验。这个基准中的训练数据非常有限,每个任务只有1,000个训练样本。作者还对三个拥有完整训练集的图像分类数据集进行了实验,包括CIFAR-100,SVHN,和Food-101。作者采用了两个视频数据集,Kinetic-400 (K400) 和 Something-Something V2 (SSv2) ,来评估当标记数量增加时的性能表现。对于密集预测任务,作者在两个广泛认可的语义分割数据集上评估了作者的方法,分别是AED20K 和 COCO-stuff。

实现细节。 除非特别说明,作者所有的实验都是基于在ImageNet21K上进行完全监督预训练的ViT-B/16进行的。默认情况下,瓶颈维度 设置为64。作者采用了与[10]相同的训练计划。每个实验的详细超参数可以在附录材料中找到。实验中的默认设置用颜色 标记。

Analysis

模型变体。 在表1中,作者比较了四种模型变体在图像和视频数据集上的性能。作者将“注意力调度”和“MLP调度”变体中的激活率设为0.5,而“注意力-MLP调度”和“层调度”变体的值设为0.7,并且分别对它们进行训练。这使得四个变体的平均FLOPs相似。作者观察到,在四个数据集上,默认设置“MLP调度”在保持最低计算成本的同时,实现了最优性能。

尽管“注意力-MLP调度”和“层调度”在K400上表现出稍好的性能,但前者引入了翻倍的额外参数,而后者在其他数据集上缺乏泛化能力。"MLP调度"与其他变体的比较证明,仅在MLP块中跳过标记是一个更好的设计。

picture.image

在图5中,作者进一步可视化了四个模型变体的FLOPs-准确率曲线。作者通过改变微调阶段的激活率来控制FLOPs。对于“注意力调度”和“MLP调度”,作者探索的激活率范围是[0.1, 0.3, 0.5, 0.7, 0.9]。为了保持与“注意力调度”和“MLP调度”相似的FLOPs,作者对“注意力-MLP调度”和“层调度”的激活率调整在[0.5, 0.6, 0.7, 0.8, 0.9]的范围内。

picture.image

在所有数据集上,“MLP调度”一致地优于其他变体。当激活率低于0.9时,“Attn调度”的性能显著下降,这也表明在ViT中为自注意力块跳过 Token 并不是一个合适的方法,因为自注意力的 Token 混合功能很重要。值得注意的是,“MLP调度”可以在明显较少的FLOPs下超越全调节,在CIFAR-100和Food-101上都进一步验证了作者的方法的有效性。

4.2.2 Investigations of dispatch level and dispatch strategy.

所提出的DyT在标记(token) Level 使用标记分发器(TD)进行动态调度。除了标记 Level 的调度外,作者还研究了样本 Level 的调度,其中选定样本内的所有标记被激活,而其他样本的所有标记将被停用。为了验证TD的重要性,作者将其与随机调度进行了比较,随机调度在微调和推理过程中随机激活标记或样本。实验结果如表2所示。

picture.image

作者的观察结果表明,在所有数据集上,采用TD的 Token 级分派一致地实现了更优的性能,除了在SVHN数据集上与样本级分派相比略有下降。值得注意的是,TD在 Token 级和样本级分派上都能实现比随机分派策略更好的性能,特别是在视频数据集K400和SSv2上,从而验证了在TD中学到的分派策略。此外, Token 级分派在大多数数据集上超越了样本级分派,这证明了更细粒度的激活的重要性。

不同的瓶颈维度。 作者研究了DyT中 Adapter 瓶颈维度的影响,结果总结在表3中,结果表明不同的数据集倾向于不同的配置。当数据集容易适配时,比如CIFAR-100,一个瓶颈维度 就足以达到满意的性能。相反,视频数据集需要更大的 Adapter 维度,例如 以获得更好的性能。

picture.image

作者将默认的瓶颈维度设置为 ,以在性能和成本(例如额外参数的数量和FLOPs)之间取得平衡。值得注意的是,FLOPs与瓶颈维度之间的关系并非严格单调的。例如,当 时,FLOPs低于 时的数量,因为随着 Adapter 参数数量的增加,训练可能收敛在激活较少的token上。

MoE-adapter的有效性。 作者进行了实验来探究MoE-adapter的有效性,结果如表4所示。MoE-adapter的设计确保了理论上FLOPs将与普通 Adapter 保持一致,由于路由函数的计算成本可以忽略不计。然而,在实际场景中,计算成本还受到Token Dispatcher (TD)中学习的标记分配策略的影响,导致表4中不同模型的FLOPs略有变化。

picture.image

作者观察到,在MoE-adapter中增加专家数量时,图像数据集上的性能会下降。这一现象可以归因于图像数据集的简单性,模型不需要太多的参数来进行适应。相比之下,对于视频数据集,如K400和SSv2,最佳准确度分别在使用4个和8个专家时达到。背后的原因是预训练数据集与视频数据集之间的领域差距较大,模型需要足够的 Adapter 容量来学习适应。这证明了当目标数据集难以适应时,作者可以引入MoE-adapter。

4.2.2 Visualization of token activation rate in each layer.

在图6中,作者可视化了在ViT-B/16中不同层的标记激活率。作者观察到模型倾向于在较低层激活更多标记,而在较高层则使标记失活。这一现象可以归因于模型倾向于从预训练模型的低层获取更多的一般性知识,并在更高层次学习更多与任务相关的知识。此外,激活结果还因不同数据集而异。例如,与其它数据集相比,SSv2在第五层和第六层的标记激活率有所增加,而SVHN在第六层、第七层和第八层则经历了大量的标记失活。这种差异源于模型需要从预训练权重中获取不同的知识来应对特定数据集的挑战。

值得注意的是,在五个数据集中,几乎所有的token在最后一层都被停用了,特别是CIFAR-100、SVHN和K400,激活率确实是_0%_。这说明在这些数据集上,作者可以_直接移除_原始的MLP块在Layer11,而不会影响性能,这进一步减少了大约4.7M、1,26.6%的ViT-B总参数量。

激活 Token 的可视化。 在图7中,作者从K400中可视化了两个具有代表性的样本。作者可以观察到模型倾向于关闭那些信息量较少的 Token ,例如(a)中的天空 Token 和(b)中的草地 Token 。在更高层次上,如第7层和第10层,只有来自主要目标的 Token 被激活。这进一步证明了ViT中存在 Token 冗余问题,并为作者的方法背后的合理性提供了验证。附加的可视化内容可在补充材料中找到。

picture.image

VTAB-1K Results

为了评估在训练数据有限时的适应性能,作者采用了VTAB-1K 基准进行适应。按照现有工作,作者将瓶颈维度 减少到8,仅增加了0.16M的额外参数。作者在DyT中的激活率 在范围 [0.5, 0.7, 0.9] 内变化,并进行微调,得到了三个具有不同推理成本的模型。

picture.image

结果展示在表5中。尽管之前的方法,如ConvPass 和Res-Tuning ,取得了满意的性能,但它们并没有在推理过程中提高效率,甚至与完全微调相比引入了额外的FLOPs。相比之下,作者的方法仅消耗12.54 GFLOPs,大约是原始ViT-B的71%的成本,就大幅超过了大多数先前的方法,例如LoRA和VPT。此外,随着FLOPs的增加,DyT继续展现出比其他方法更优秀的性能。这些实验结果验证了DyT在保持适应性能的同时,有效地提高了参数效率和推理效率。

Effectiveness on Image Datasets with Sufficient Training Data

尽管VTAB-1K的结果证明了作者方法的优势,但作者还是将研究扩展到完整的图像数据集上,以评估在充足训练数据下的适应性能。结果展示在表6中。作者进一步探索了一种简单直接的方法,“动态全调优”,它具有与DyT相同的标记分配器,并用所有参数进行微调。

picture.image

作者观察到,在某些数据集上,如CIFAR-100和Food101,其性能变得不稳定且显著下降。这种现象可能是由于在全调优适应期间,动态分配对预训练参数可能产生的不利影响,从而验证了DyT的重要性。在这种数据充足的情况下,尽管作者的方法性能略低于全调优和AdaptFormer,但它显著降低了FLOPs。

Scaling Token Counts from Images to Videos

作者在视频数据集上进行了实验,以展示当标记(tokens)数量增加时的性能表现。输入帧的数量设置为8。对于视频任务,类似于文献[11, 71]的做法,作者采用交叉注意力层和一个 Query 标记来聚集信息。

来自不同帧的特征。视频分类是在 Query 标记上进行的。附加的实施细节在补充材料中提供。作者在表6中展示了结果。尽管DyT的性能略低于AdaptFormer和LoRA,但它显然需要更少的FLOPs。带有四个专家的DyT可以达到最佳的 平均准确度,这进一步验证了 Adapter 能力的重要性。

Generalization on Semantic Segmentation

作者还对两个公认的高级语义分割数据集ADE20K [77]和COCO-stuff [6]进行了实验,以展示DyT在密集预测任务上的能力。结果展示在表6中。遵循之前的工作 [3, 18],作者采用UperNet [65]作为分割 Head ,并将所有图像调整为大小。训练细节可以在补充材料中找到。作者观察到,语义分割的计算成本远高于图像和视频识别任务,这主要是因为高分辨率特征图。DyT和DyT仍然可以明显降低计算成本,并且在COCO-Stuff数据集上的性能优于其他PEFT方法,仅略低于全量调整。

5 Discussion and Conclusion

之前的方法主要关注于提高在适应过程中的ViT效率,从而旨在减少额外的参数。然而,随着ViT模型的大小和计算成本的增加,适应后的推理成本成为了一个沉重的负担。在本文中,作者将这两个问题统一为ViT适应的效率问题,并提出动态调整(DyT)方法同时解决它们。作者验证了其在各种任务和数据集上的性能和泛化能力。

Details about Gumbel-Sigmoid

Gumbel-Softmax在[33]中提出,用于从分布中进行可微分的采样。给定一个未规范化的对数概率2,Gumbel-Softmax可以表述为:

在这里, 表示从Gumbel分布中采样的Gumbel噪声()。作者可以考虑一个特殊情况,其中 且 ,那么 可以定义为:

(11) (12)

获取Gumbel-Sigmoid公式。在之前的研究中,例如[46, 22],研究者们也利用了Gumbel-Sigmoid公式来促进神经网络的端到端训练。

Implementation Details for each Task

0.a.2.1 Experimental settings on VTAB-1K.

遵循先前的工作,作者在VTAB-1K的每个数据集上对模型进行了100个周期的微调。在这些实验中,作者并没有使用任何数据增强策略。作者采用了AdamW优化器。学习率设置为1e-3,并逐渐根据余弦调度衰减到0。

0.a.2.2 Experimental settings on complete image datasets.

作者采用表7中的设置,使用所提出的动态调整来微调ViT。对于其他参数效率方法,如AdaptFormer,LoRA,和VPT的实验也遵循表7中的设置。当作者在全调整模式下训练模型时,作者采用1/10的基础学习率以使训练稳定,否则,模型无法达到合理的结果。

picture.image

视频数据集上的实验设置。

作者采用了两个视频数据集,Kinetic-400 (K400) 和 Something-Something V2 (SSv2) ,以评估在标记数量增加时的性能表现。实验设置在表8中展示。大多数设置借鉴自。输入帧的数量设置为8。在测试期间,作者采用多视角方法,这是视频动作识别中的常见做法。然而,原始的ViT缺乏时间建模能力。

picture.image

为了克服这一限制,作者从[11, 71]获得灵感。在ViT后引入交叉注意力层以及一个 Query 标记,作者有效地跨不同帧聚合时间信息。最终的的视频动作分类是基于这个 Query 标记来执行的。对参数高效微调方法的实验也遵循这些设置。在全面调整的实验中,作者采用1/10的基础学习率。

picture.image

在语义分割数据集上的实验设置。作者在ADE20K 和 COCO-stuff 上进行实验,以展示DyT在密集预测任务上的能力。ADE20K 包含来自150个细粒度语义概念的20,210幅图像。COCO-Stuff 由大约164k幅图像和172个语义类别组成。实验设置在表9中展示。所有针对参数高效微调方法的实验也遵循这些设置。对于全量微调的实验,作者采用1/10的学习率以实现稳定训练和更佳性能。

picture.image

More Experiments on Image Datasets

为了反映在训练数据充足时的性能,作者进一步在包括CIFAR-10、DTD、Aircraft、Flowers、Pet 和 Car 在内的6个数据集上进行实验。作者对CIFAR报告了top1的准确度。作者发现DyT与全量微调以及AdaptFormer的性能相当,同时显著降低了计算成本。值得注意的是,动态全量微调在一些数据集上的性能表现不稳定,比如Aircraft和Car数据集。这种现象可能归因于动态标记机制,当所有参数可训练时,它可能会潜在地影响预训练参数。这进一步验证了所提出动态调整的重要性。

Generalization Capability of Transformer Architecture

为了验证所提出动态调整的泛化能力,作者基于Swin-B进行了实验。动态调整可以直接应用于Swin Transformer中的MLP块,无需做任何修改。动态调整中 Adapter 瓶颈维数 也设置为64。

picture.image

结果在表11中展示。作者可以观察到,动态调整能够在三个数据集上减少可调参数和FLOPs,同时达到可比较甚至更好的性能。这验证了动态调整的泛化能力。

Scaling-up Model Size

作者验证了在模型规模扩大时动态调整的有效性。作者在ViT-L上进行了实验,并将动态调整与完全调整进行了比较。动态调整中 Adapter (adapter)的瓶颈维度也被设置为64。

picture.image

结果展示在表12中。作者可以观察到,在VTAB-1K基准测试上,作者进一步比较了所提出的动态调整与完全调整。结果展示在表13中。仅有0.44M个可调参数和43.52 GFLOPs的情况下,动态调整在大多数数据集上超过了完全调整,并取得了更好的平均性能。

picture.image

Investigation on the Temperature

作者探讨了所提出动态调整的时间常数。结果展示在表14中。当温度较小(例如0.1)时,Gumbel Sigmoid倾向于产生接近0或1的二值输出。相反,较高的温度会导致更均匀的输出,接近0.5。结果显示,性能对温度不太敏感,作者的模型可以在表中的所有温度下取得合理的性能。作者还观察到,当时,模型在CIFAR-100、SVHN和SSv2上取得最佳性能;而按计划降低温度时,在Food-101和K400上取得最好的结果,这表明调整温度可以帮助模型获得更好的性能。由于确定最佳温度并非本文的主要关注点,作者默认将温度直接设置为5。

picture.image

Additional Visualizations of Activated Tokens

作者在图8和图9中分别提供了来自K400 和SSv2 样本中激活token的更多可视化。

picture.image

结果显示,更高层次中的大多数激活token(例如第10层)来自主要目标。这证明所提出的token分配器学会了激活信息丰富的token。

picture.image

参考

[1].Dynamic Tuning Towards Parameter and Inference Efficiency for ViT Adaptation.

picture.image

扫码加入👉「集智书童」交流群

(备注: 方向+学校/公司+昵称 )

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」

行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」

AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明

凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

点击下方“ 阅读原文 ”,

了解更多AI学习路上的 「武功秘籍

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论