视觉任务微调王道 | 国科大联合阿里巴巴提出Mona,让Adapter成为你的All Need

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 视觉任务微调王道 | 国科大联合阿里巴巴提出Mona,让Adapter成为你的All Need

预训练和微调可以提高视觉任务中的迁移效率和性能。最近,去卷积化方法为视觉分类任务提供了更多选项。尽管它们取得了成功,但现有的视觉delta-tuning艺术在像实例分割和语义分割这样具有挑战性的任务上,仍无法超越全量微调的上限。为了找到一个具有竞争力的全量微调的替代方案,作者提出了一种新的基于Adapter的视觉Adapter(Mona)tuning方法。

首先,作者将多个视觉友好的滤波器引入到Adapter中,以增强其处理视觉信号的能力,而以前的方法主要依赖语言友好的线性滤波器。其次,作者在Adapter中添加了缩放归一化层,以调节视觉滤波器的输入特征分布。

为了充分展示Mona的实用性和普遍性,作者在多个代表性的视觉任务上进行实验,包括在COCO上的实例分割,在ADE20K上的语义分割,在Pascal VOC上的目标检测,以及在多个常见数据集上的图像分类。

令人兴奋的结果表明,Mona在所有这些任务上都超过了全量微调,并且在实例分割和语义分割任务上,它是唯一一个能够超越全量微调的delta-tuning方法。例如,Mona在COCO数据集上的性能比全量微调提高了1%。全面的结果表明,Mona微调比全量微调更适合保留和利用预训练模型的能力。

代码:https://github.com/Leiyi-Hu/mona

1 Introduction

[49]中提到的预训练和微调范式可以在同模态任务之间实现惊人的迁移学习,这在CV和NLP等领域已经得到证明。预训练模型通常由资源丰富且经验丰富的团队使用大量干净的数据进行训练。

除了在计算和数据资源有限的情况下,预训练模型可以帮助团队节省大量的训练成本,并在新任务上训练出性能良好的深度模型。在大模型时代,调整预训练模型的效率是一个重要问题。全量微调在计算机视觉(CV)任务中得到了广泛应用,并取得了巨大成功。在训练过程中,它调整了预训练Backbone的所有参数,以及任务特定的头部/颈部的额外参数。许多令人印象深刻的计算机视觉艺术(例如,Swin,EVA,等)通过这种方式拓宽了视觉任务的极限。然而,现在全量微调是否仍然是微调视觉任务的最佳方法呢?作者的答案是否定的。

除了全量微调,Delta tuning最近在自然语言处理(NLP)和计算机视觉(CV)任务中引起了人们的关注。Delta tuning起源于NLP,它只调整Backbone网络的一部分或轻量级的结构进行高效的迁移学习。Delta tuning方法通常固定大部分Backbone参数,在简单任务(包括NLP和CV中的分类任务)上达到可比或更好的性能。VPT是第一个探索在视觉分类任务上使用提示调优潜力的方法。

LoRand在密集预测Adapter调优方面取得了先驱地位,并减少了在视觉密集任务上的Delta tuning与全量微调之间的差距。然而,现有的方法在密集预测任务上,包括语义分割和实例分割,无法超越全量微调。

为了挑战计算机视觉(CV)全量微调的主导地位,作者提出了一种新的调优范式Mona-tuning,它基于Multi-cognitivevisualadapters(Mona)。作者对现有的艺术进行了分析,并总结了现有视觉Adapter中存在的两个问题。首先,现有的CV Adapter的设计遵循自然语言处理(NLP)的线性Adapter。

确实,视觉任务处理的是视觉信号,这与语言信号有显著不同,并且具有独特的卷积操作。作者的实验表明,基于卷积的滤波器可以更好地将预训练模型中的视觉知识转移到其他任务,因此作者提出了一种新的基于卷积的Adapter用于视觉任务。其次,大多数现有的Adapter将上游特征压缩到单一维度,并通过简单的非线性将它们适应到新任务中。以前的工作声称,模型在不同滤波尺度上具有不同的特征认知。

因此,作者在Adapter的降维层后面使用多个卷积滤波器来增强Adapter的认知能力。作者在许多代表性的视觉任务上展示了Mona-tuning的通用性和优越性,包括图像分类、目标检测、语义分割和实例分割。作者使用在ImageNet-22k上训练的SwinTransformer系列作为预训练模型。大量的实验表明,作者提出的方法在简单图像分类任务和复杂密集预测任务上都优于传统的全量微调范式。

例如,Mona-tuning在COCO数据集上的mAP比全量微调提高了1%。这些结果表明,全量微调可能不再是视觉任务的优化选择。基于Adapter的调优是视觉迁移学习中表现更好、更高效范式。此外,Mona是唯一一种在语义分割和实例分割上超越全量微调的方法。图1说明了在具有挑战性的实例分割和语义分割任务上,所提出方法的优势。

贡献可以总结为三点:

  1. 证明了Adapter调优可以替代在常见视觉任务上的全量微调,并在较少的新的参数下实现更好的性能。
  2. 提出了一种新的训练范式Mona-tuning,基于多认知视觉Adapter(Mona)。Mona使用视觉友好的滤波器来优化传统的线性Adapter,并通过多个认知视角来提高视觉迁移能力。
  3. 大量的实验表明,Mona-tuning在代表性的视觉任务上优于全量微调和其他最近的创新,包括图像分类、目标检测、语义分割和实例分割。

2 Related Work

Delta-tuning

大型模型的发展在整个人工智能领域带来了戏剧性的冲击。迁移学习的效率引起了研究人员的兴趣。Delta tuning(或参数高效的微调PEFT)专门用于提高微调的效率。

Delta-tuning方法可以分为三组。第一组固定预训练Backbone中的大部分参数,只微调一小部分,例如BitFit微调偏置,Norm Tuning微调规范层,Partial-1只微调最后一个模块。

第二组重新参数化预训练模型中的某些参数,例如LoRA优化低秩子空间。第三组固定预训练Backbone的原参数并添加可训练的结构,包括提示系列和Adapter系列。作者将实验与这三组进行比较。

Computer Vision Meets Delta-tuning

尽管源自自然语言处理(NLP),但delta tuning也在计算机视觉(CV)中得到了探索。VPT是第一个将delta tuning(提示调优)引入视觉分类任务的方法。AdaptFormer设计了一个并行Adapter结构来提高delta tuning在视觉分类任务上的性能。KAdaptation通过Kronecker乘积优化Adapter。上述艺术是视觉任务领域的先驱,揭示了delta tuning在视觉分类上的潜力。LoRand通过多分枝低秩Adapter在密集预测任务上取得了令人印象的性能,但仍然无法在所有密集预测任务上超越全量微调。

近期的SOTA表明,delta tuning不能完全取代在视觉任务上的全量微调。因此,作者提出了一种名为Mona-tuning的替代方法,用于更多的视觉任务,它在新的参数大小和性能方面都优于全量微调。

3 Methods

在本节中,作者将所提出的Mona-tuning方法分为四个部分,包括Adapter调优范式(第3.1节),Mona(第3.2节),设计过程(第3.3节)和参数分析(第3.4节)。

Adapter-tuning

以前的工作[53]讨论了Adapter微调,在这里作者简要介绍相关概念。图2说明了全量微调(以SwinBlock为例)和Adapter调优范式(以Mona为例)之间的区别。

全量微调更新预训练Backbone的所有参数,而Adapter调优固定预训练参数并更新Adapter中的参数。对于数据集,全量微调和Adapter调优的优化过程可以表示为方程1和方程2:

其中,表示训练损失,表示整个框架的参数,是Adapter调优中固定参数。表示Adapter调优中更新后的参数,包括Adapter中的参数和框架之外的参数。

Mona

多认知视觉滤波器。 以前的计算机视觉(CV)Adapter SOTA是基于线性结构,主要包括下投影、非线性激活、上投影和跳过连接。Vanilla Adapter用于自然语言信号,并且没有针对视觉信号进行优化。考虑到Vanilla Adapter的局限性,作者专注于如何使Adapter更好地传递视觉知识。对于视觉认知,人类眼睛处理来自不同尺度的视觉信号并将其集成以更好地理解。

Adapter也应该从多个认知角度处理上游特征,以在下游任务上获得更好的性能。作者在Mona中引入了多个卷积滤波器来增加认知维度。深度卷积(DWConv)而不是标准卷积在Mona中使用,以最小化额外的参数。

具体来说,上游特征在向下投影后经过三个DWConv滤波器。卷积核分别为33、55和77。作者计算三个滤波器的平均结果,并用11卷积将特征聚合。然后,通过GeLU进行非线性化。作者在Mona的多个位置添加了跳跃连接,以在卷积过程中最小化特征损失(参见图3)。最后,通过上投影恢复特征维度。

输入优化。 对于Adapter,输入特征来自固定的层。固定层不能根据新任务的样本空间调整其参数空间,因此预训练任务会影响固定层中的输入。VanillaAdapter直接将固定层中的输入下采样,这对于视觉任务不是好的选择。因此,作者使Mona能够调整输入分布和固定层中输入的比例。具体来说,作者在Mona的顶部添加了一个规范层和两个可学习的权重和来调整输入分布。

以前的工作表明,归一化有助于稳定前向输入分布和反向传播梯度。作者在实践中发现,LayerNorm (LN)  优于BatchNorm,因此作者在Mona中使用 LN。图3 说明了作者的设计。

Design Process

Mona的设计经历了几次迭代,如图4所示。最初的版本将多个卷积滤波器集成到VanillaAdapter中,以增强其处理视觉信号的能力。这个设计超过了之前的Adapter基础方法,并在大多数任务上超过了全量微调。作者寻求优化Mona,使其在所有任务上都超过全量微调。在向下投影后的卷积滤波器有效地增强了Mona在低维空间改变视觉知识的能力。然而,这个版本无法优化来自固定层的输入特征。

作者希望将“可控制”和“干净”的特征发送到卷积滤波器。正如在第3.2节中讨论的,先前的艺术作品表明,LN可以有效地调整特征的分布。考虑到这一点,作者试图通过在Mona的不同位置集成LN来增强它。最初,作者在向下投影和11卷积之前添加了缩放LN(第2版)。然而,这种设计没有像第1版那样产生令人满意的结果。然后,作者平均了DWConvs的求和(第3版),这稍微提高了第2版的性能,但仍不足以达到第1版。

作者认为优化子空间的输入并不足以改善Mona的输入。因此,作者将缩放LN放在整个Adapter的开头。在这个版本中,Mona在所有任务上都超过了全量微调,并且最终版本保留了第3版的正平均操作。

Parameter Analysis

Mona的参数来自LN、缩放因子、线性层、DWConv和11卷积。假设Adapter的输入维数为,向下投影后的维数为,则LN和缩放因子的参数为,两个线性层的参数为,DWConv层的参数为,而PWConv层的参数为。每个Mona模块的总参数为

对于每个块,所有Mona参数为:。作者将n设置为常数(64),以减少Mona中的参数。

4 Experiments

作者在多个代表性的视觉任务上进行了足够的实验来证明Mona调优的优势。第4.1节至第4.3节介绍了实验设置,包括数据集、预训练模型和基线。第4.4节展示了实验结果和分析。第4.5节分析了不同方法的收敛过程。第4.6节中设计了一些详细的实验来说明所提出方法的一些细节和普遍适用性。模型训练的超参数和详细设置可以在附录中找到。

Datasets

目标检测。 Pascal VOC 0712包含16k/5k的训练/验证图像,并用于目标检测任务。作者使用Swin-Large + RetinaNet进行训练。目标检测任务的评估指标是最常用的AP。

语义分割。 ADE20K是最广泛使用的语义分割数据集,包含20K的训练和2K的验证图像。作者在语义分割上使用Swin-Large + UperNet进行实验。这里的评估指标是最常用的mIoU。

实例分割。 MS COCO是一个代表性的实例分割数据集,包含118k的训练图像和5k的验证图像。作者在实例分割上使用Swin-Base + Cascade Mask RCNN进行训练。实例分割任务的评估指标是最常用的AP和AP。

图像分类。 之前的艺术已经对分类任务进行了广泛的研究。为了增加实验的广泛性,作者在几个常用的分类数据集上也展示了Mona的通用性。

具体来说,作者在Oxford 102 Flower Dataset,Oxford-IIIT Pet Dataset和VOC 2007 Classification Challenge dataset等几个常用的分类数据集上进行实验。Oxford 102 Flower Dataset有102个花卉类别,每个类别有40到258张图像。Oxford-IIIT Pet Dataset有37个宠物类别,每个类别有约200张图像。VOC 2007 Classification Challenge Dataset包含约10000张图像和20个标记类别。作者使用Top-1和Top-5准确率作为评估指标。作者还报告了每种方法的平均性能。

Pretrained models

Swin Transformer系列被用作所有实验的Backbone。预训练模型在ImageNet-22k上进行训练,并由OpenMMLab提供。预训练任务图像分辨率为224224。实验在Nvidia Tesla V100s上进行。大多数任务使用Swin-Large作为Backbone。COCO任务的主干是Swin-Base,考虑到实例分割模型的内存消耗。

Baselines

作者将Mona与多个最近的方法进行比较。基线可以分为无或额外结构的基线:

无额外结构:

  • 全量:更新框架中的所有参数。
  • 固定:固定Backbone并更新框架中的其他参数。
  • BitFit:更新Backbone中的偏置并更新Backbone之外的参数。
  • NormTuning:更新Backbone中的规范层并更新Backbone之外的参数。
  • Partial-1:更新Backbone的最后一个模块并更新Backbone之外的参数。
  • 带有额外结构:(这些基线的预训练层是固定的,Adapter中间维度均为64,这是AdaptFormer[7]的方法)
  • Adapter:在每个SwinBlock的MSA/MLP层之后添加标准Adapter层。
  • LoRA:向多头自注意力权重中添加并行的可学习矩阵。
  • AdaptFormer:在每个MLP层后面添加具有缩放权重的并行Adapter层。
  • LoRand:在SwinBlock的MSA/MLP层之后添加LoRand层。

Results

Table 1显示了在COCO数据集上,所提出的方法和基线的实验结果。实例分割是所有实验任务中最具有挑战性的任务,COCO也是所有实验数据集中最大的。COCO上的结果可以更好地说明在视觉任务中Adapter调优的潜力,相对于其他任务。

从Table 1中,作者可以发现基于多认知视觉滤波器的Mona在所有基线之上,并且Mona是唯一一个在所有数据集上都超过全量微调的,结果得到了1%的显著提升。COCO实验有效地证明了所提出方法的能力,并显示了比全量微调更好的选项,在存储和性能方面。在delta-tuning方法中,大多数没有额外结构的基线可以节省更多的新的参数(除了Partial-1),但它们的平均性能低于具有额外结构的。

对于带有额外结构的基线,基于Adapter的调优方法优于重新参数化方法(LoRA)。LoRA是最近在自然语言处理任务中广泛使用的delta-tuning方法之一,但其在计算机视觉任务中的性能弱点使其不适合。Table 1表明,delta-tuning的性能与参数大小并不成正比。在所有基线中,Partial-1拥有最更新的参数,但其性能显著低于基于Adapter的基线的性能。这个结果表明,优秀的模块设计可以有效地提高预训练模型的迁移效率,同时减少大量的存储消耗。

作者在Table 2中展示了在两个任务上的结果,即Pascal VOC上的目标检测和ADE20K上的语义分割。与全量微调相比,Mona在两个代表性视觉任务上都超过了所有基线方法。Mona在两个任务上的性能比全量微调提高了3.6%和0.18%。Table 2再次表明,全量微调并不是视觉迁移学习的最佳选择。对于其他基线,COCO上的结论在VOC和ADE20K上得到了确认。有趣的是,与COCO和ADE20K不同,所有基线在VOC上都超过了全量微调。

VOC数据集相对较少,当全量微调198M Swin-Large预训练模型时,可能会导致过拟合。与全量微调相比,其他方法固定了大部分预训练参数,因此模型在调优过程中不太可能出现严重的性能下降。自然语言处理领域的学者将这种现象视为低资源情况。这里的目标检测结果可以视为计算机视觉领域中的低资源情况。对于ADE20K,没有额外结构的基线与基于Adapter的基线之间的性能差距在VOC和COCO之上更为显著。

对于参数大小,Table 1和Table 2中的大多数方法(除了Partial-1)在5%以内产生了新的Backbone参数,这是delta-tuning的特征和优势。尽管参数略有增加,但Mona仍然超过了以前的艺术,并显著打破了全量微调的性能瓶颈。

作者在Table 3中展示了在三个分类数据集上的个体和平均结果。Mona在Flowers102、OxfordPets和所有基线的平均结果上都超过了所有基线。Table 3表明Mona在相对简单的任务上具有很高的迁移效率。

此外,作者还发现所有delta-tuning方法的平均结果都超过了全量微调,这与以前SOTA的结论相似。作者使用的预训练模型是Swin-Large(198M参数),其强大的知识使得Flower102和OxfordPets能够获得非常高的分数。

与分类任务相比,更复杂的密集预测任务(目标检测、语义分割、实例分割)更适合反映不同微调范式之间的差异。

总之,Tables 1到3的结果可以概括为两个方面:

  1. 关于性能,在视觉任务中广泛使用的全量微调范式,如Swin和EVA,不再是视觉任务的最优选择。所提出的Mona-tuning在代表性的任务如实例分割、语义分割、对象检测和图像分类中超过了全量微调的性能上限。具体来说,Mona在具有挑战性的COCO实例分割任务上,相对于全量微调实现了1%的AP提升。
  2. 基于多认知视觉滤波器的Mona在大多数任务上超过了最近显著的基线,Mona全面提升了视觉任务中delta调优的实用性和泛化性。Mona-tuning不仅显著降低了存储成本,还进一步提高了视觉任务的表现上限。

Loss Analysis

作者在图5中展示了在目标检测任务(Pascal VOC)上,Mona和五个代表性基线的损失收敛过程。与全量微调相比,所提出的Mona在收敛过程中具有显著优势,这解释了其在VOC上的更好性能。

Mona也收敛得比其他delta-tuning方法快,这表明多认知视觉滤波器可以更好地处理视觉特征并加速迁移学习的收敛。收敛性分析再次证明,所提出的视觉迁移学习方法是高度竞争力的,全量微调不再是视觉任务的优化选择。

Ablations

在本节中,作者进行了一些关于模型详细问题的ablation实验,包括中间维度对模型结果的影响以及模型大小与Mona-tuning之间的关系。为了实验的公平性和清晰性,所有ablation实验都是在Pascal VOC上进行的。Adapter的处理流程是将预训练层的输入压缩到低维特征空间,并通过更新Adapter参数将预训练层的知识转移到新模型中。因此,Adapter的中间维度是影响模型性能的重要因素。

作者对Mona的中间维度进行了ablation实验,并将结果呈现在Table 4中。作者只改变了Mona的维度,而固定其他设置。维度候选值为32、64和128。Table 4中的结果表明,64维的结果超过了较小的32维和较大的128维,这是一个有趣的结果。

Chen等人[7]也研究了AdaptFormer的中间维度。他们发现在视觉分类任务中,64维的AdaptFormer超过了32维和256维的版本,这与作者的结论一致。

Table 4和Chen等人等人的结果表明,Adapter的中间维数并不与性能成正比,这意味着Adapter参数数量增加并不一定带来更好的结果。

除了以上问题,作者也非常关注Mona在不同大小的模型上的性能。作者改变Backbone网络的大小,模型候选包括29M Swin-T,88M Swin-B和197M Swin-L。Table 5显示了在三种设置下,全量微调和Mona-tuning的性能结果。

作者可以从Table 5中得出以下三个结论。首先,Backbone网络参数越多,相同Mona设置下的Mona参数比例越小。这一结果表明,当Backbone网络变大时,Mona-tuning可以节省更多的参数。现有视觉模型正在变得越来越大。InternImage-H达到了1.08B参数,而SwinV2-G[34]达到了3B。在参数高效的Mona-tuning中,可以节省数十亿参数和巨大的存储成本。其次,Mona在三种模型设置上都超过了全量微调,并且随着模型尺寸的增加,性能也会提高。

Table 5表明,Mona-tuning可以在较小的模型上提高训练效率和性能。作者刚刚讨论了Mona在大模型上的优势。然而,更多的资源受限的研究团队和项目组使用的是小模型。

Mona-tuning还有潜力帮助资源受限的视觉研究人员在其自己的应用中有效利用高性能的大型模型。第三,与全量微调相比,所提出的Mona-tuning更能激发大型模型的潜力。从Swin-T到Swin-L,全量微调带来3.6%的性能提升,而Mona带来3.8%。换句话说,随着模型变大,Mona可以实现更好的性能,并有助于进一步提高对性能敏感的任务的性能上限。

5 Conclusion

本文提出了一种新的视觉微调方法,即多认知视觉Adapter(Mona)调优,有效提高了视觉微调的效率和性能。综合实验表明,所提出的Mona在包括实例分割、语义分割、对象检测和图像分类等代表性任务上,都超过了传统全量微调范式和其他delta-tuning方法。在大型模型时代,全量微调不再是视觉任务的优化选择。作者希望Mona-tuning能有效提高大型模型的迁移效率,并在更多的视觉任务上带来性能突破。

参考

[1]. Adapter is All You Need for Tuning Visual Tasks.

相关文章
|
7月前
|
人工智能
破壁人AI百度:科技公司反内卷的典型样本
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false class MyQueue: def __init__(self): self.stack_in=[] self.stack_out=[] def push(
38 3
|
自然语言处理 算法 数据挖掘
自蒸馏:一种简单高效的优化方式
背景知识蒸馏(knowledge distillation)指的是将预训练好的教师模型的知识通过蒸馏的方式迁移至学生模型,一般来说,教师模型会比学生模型网络容量更大,模型结构更复杂。对于学生而言,主要增益信息来自于更强的模型产出的带有更多可信信息的soft_label。例如下右图中,两个“2”对应的hard_label都是一样的,即0-9分类中,仅“2”类别对应概率为1.0,而soft_label
自蒸馏:一种简单高效的优化方式
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
7月前
|
机器学习/深度学习 负载均衡 算法
训练Backbone你还用EMA?ViT训练的大杀器EWA升级来袭
训练Backbone你还用EMA?ViT训练的大杀器EWA升级来袭
250 1
|
7月前
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
533 1
|
7月前
|
机器学习/深度学习 人工智能 计算机视觉
CVPR 2023 | AdaAD: 通过自适应对抗蒸馏提高轻量级模型的鲁棒性
CVPR 2023 | AdaAD: 通过自适应对抗蒸馏提高轻量级模型的鲁棒性
259 0
|
7月前
|
传感器 自动驾驶 安全
万字长文 | 看看GPT-4V是怎么开车的,必须围观,大模型真的大有作为!!!
万字长文 | 看看GPT-4V是怎么开车的,必须围观,大模型真的大有作为!!!
97 0
|
7月前
|
计算机视觉
模型落地必备 | 南开大学提出CrossKD蒸馏方法,同时兼顾特征和预测级别的信息
模型落地必备 | 南开大学提出CrossKD蒸馏方法,同时兼顾特征和预测级别的信息
173 0
|
7月前
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
297 0
|
7月前
|
机器学习/深度学习 缓存 测试技术
Nice Trick | 不想标注数据了!有伪标签何必呢,Mixup+Mosaic让DINO方法再继续涨点
Nice Trick | 不想标注数据了!有伪标签何必呢,Mixup+Mosaic让DINO方法再继续涨点
218 0
下一篇
DataWorks