作者提出了一种新颖的架构:任意分辨率的视觉 Transformer (ViTAR)。ViTAR中的自适应标记合并功能使模型能够自适应地处理可变分辨率图像输入,逐步将标记合并到固定大小,极大地增强了模型的分辨率泛化能力,并且在处理高分辨率输入时减少了计算成本。完美支持任意分辨率输入的ViT!4032×4032等超大分辨率性能完爆DeiT等
本文解决了视觉 Transformer (ViTs)面临的一个重大挑战:它们在不同图像分辨率之间的可扩展性受限。通常,当处理与训练时看到的不同的分辨率时,ViTs的性能会下降。作者的工作引入了两项关键创新来解决这个问题。首先,提出了一种新颖的模块,用于动态调整分辨率,该模块设计了一个单一的 Transformer 块,专门用于实现高效的增量 Token 集成。其次,在视觉 Transformer 中引入了模糊位置编码,以在多个分辨率之间提供一致的位置感知,从而防止对任何单一训练分辨率的过拟合。
ViTAR(具有任意分辨率的视觉 Transformer ),展示了出色的适应性,在1120x1120分辨率下达到83.3%的top-1准确率,在4032x4032分辨率下达到80.4%的准确率,同时降低了计算成本。ViTAR在下游任务中也表现出强大的性能,如实例和语义分割,并且可以轻松与自监督学习技术(如 Mask 自动编码器)结合使用。作者的工作为提高ViTs的分辨率可扩展性提供了一种成本效益高的解决方案,为更灵活和高效的高分辨率图像处理铺平了道路。
1 Introduction
Transformer在自然语言处理(NLP)领域巨大的成功激发了计算机视觉(CV)社区内的相当大探索。特别是,视觉Transformer(ViTs)将图像分割为非重叠的块,将每个块投射成标记,然后应用多头自注意力(MHSA)来捕捉不同标记之间的依赖关系。得益于Transformer卓越的建模能力,ViTs在多样的视觉任务中取得了不错的结果,包括图像分类,目标检测,视觉-语言建模,甚至是视频识别。
图1:与其他模型的比较:当输入分辨率大于1792时,DeiT-B和ResFormer-B均遇到内存不足(OOM)错误。标注表示模型在FLOPS方面的计算负载。结果表明,ViTAR具有较低的计算开销和特别强的分辨率泛化能力。
尽管在各个领域取得了成功,但在需要处理可变输入分辨率的真实世界场景中,ViTs表现得并不尽如人意。很少有研究探索如何将ViTs适应到不同的分辨率上。实际上,没有训练可以涵盖所有的分辨率,一种简单且广泛应用的方法是在将位置编码输入到ViT之前直接进行插值。然而,这种方法在图像分类等任务中会导致性能显著下降。为了解决这个问题,ResFormer在训练过程中融入了多分辨率图像。此外,对ViT使用的位置编码进行了改进,将它们转变为更加灵活的、基于卷积的位置编码。
然而,ResFormer仍面临挑战。首先,它只能在相对较窄的分辨率变化范围内保持高性能,如图1所示。随着分辨率增加,超过892甚至更高时,模型性能明显下降。此外,由于采用了基于卷积的位置编码,将ResFormer整合到广泛采用的自监督框架中,如 Mask 自动编码器(Masked AutoEncoder, MAE)变得具有挑战性。
在这项研究中,作者提出了具有任意分辨率能力的视觉 Transformer (ViTAR),它以较低的运算负担处理高分辨率图像,并展现出强大的分辨率泛化能力。在ViTAR中,作者引入了自适应 Token 合并(ATM)模块,该模块迭代处理经过切块嵌入的 Token 。ATM将所有 Token 散布到网格上。这个过程首先将网格内的 Token 视为一个单一单元。然后逐步合并每个单元内的 Token ,最终将所有 Token 映射到一个固定形状的网格上。这个过程产生了所谓的“网格 Token ”集合。
随后,这组网格 Token 通过一系列多个多头自注意力模块进行特征提取。ATM模块不仅提高了模型卓越的分辨率适应性,同时也使得在处理高分辨率图像时具有较低的计算复杂度。如图1所示,与DeiT和ResFormer相比,ViTAR能更好地泛化到未见过的分辨率。此外,随着输入分辨率的增加,ViTAR相关的计算成本降低至仅相当于传统ViT的十分之一,甚至更低。
为了使模型能够泛化到任意分辨率,作者还设计了一种称为模糊位置编码(FPE)的方法。FPE引入了一定程度的位置扰动,将精确的位置感知转化为带有随机噪声的模糊感知。这一措施防止了模型对特定分辨率的位置过拟合,从而增强了模型的分辨率适应性。同时,FPE可以被理解为一种隐式数据增强,它让模型能够学习到更鲁棒的位置信息,并实现更好的性能。
作者的贡献可以总结如下:
-
作者提出了一种简单而有效的多分辨率适配模块——自适应标记合并器,使ViTAR能够适应多分辨率推理的要求。这个模块通过自适应地合并输入标记,显著提高了模型的分辨率泛化能力,并在高分辨率输入下大大减轻了模型的计算负担。
-
作者引入了一种模糊位置编码(Fuzzy Positional Encoding),这种编码让模型在训练过程中能够感知到鲁棒的位置信息,而不是过分拟合到特定的分辨率。作者将常用的精确点位置编码转换为模糊范围感知。这显著提高了模型对不同分辨率输入的适应性。
-
作者进行了大量实验来验证作者方法在多分辨率推理中的有效性。作者的基础模型在224、896和4032输入分辨率下分别达到了81.9、83.4和80.4的top-1准确度。其鲁棒性显著超越了现有的ViT模型。ViTAR在实例分割和语义分割等下游任务中也展示了稳健的性能。
2 Related Works
视觉 Transformer 。视觉 Transformer (ViT)是一种强大的视觉架构,它在图像分类、视频识别和视觉-语言学习上展示了令人印象深刻的性能。已经从数据和计算效率的角度做出了许多努力来增强ViT。在这些研究中,大多数研究者通过微调将模型适应比训练时更高的分辨率。很少有研究尝试在不进行微调的情况下直接将模型适应未知分辨率,这通常会导致性能下降。在高分辨率上进行微调通常会产生额外的计算成本。因此,设计一个可以直接处理多种分辨率的视觉模型尤为重要。然而,这个方向仍然研究得不够充分。
多分辨率推理。研究单一视觉模型能够在不同分辨率下进行推理仍然是一个很大程度上未被探索的领域。对于大多数视觉模型来说,如果在推理时使用的分辨率与训练时使用的分辨率不同,且在没有微调的情况下直接进行推理,会观察到性能下降。作为这一领域的一项开创性工作,ResFormer采用了一种涉及多分辨率训练的方法,使模型能够适应各种分辨率的输入图像。它还加入了几种独特的位置编码,增强了模型适应不同分辨率的能力。
然而,ResFormer使用的位置编码是基于卷积神经网络,这种配置难以应用于如MAE这样的自监督学习框架中。此外,ResFormer本身基于原始的ViT架构,当输入分辨率增加时,它会带来显著的计算开销。为了使模型能够适应更广泛的分辨率范围,并适用于常用的自监督学习框架,有必要进行进一步的模型优化。
位置编码。位置编码对ViT至关重要,通常为其提供位置感知和性能提升。ViT的早期版本使用了正弦余弦编码来传递位置信息,一些研究展示了这种位置编码方法的有限分辨率鲁棒性。相比之下,基于卷积的位置编码显示出更强的分辨率鲁棒性。当面临未见过的分辨率时,使用卷积位置编码的模型甚至可以实现性能提升。不幸的是,卷积位置编码阻碍了模型在如MAE这样的自监督学习框架中的应用。这使得模型难以应用于大规模 未标注 数据集的训练。
3 Methods
Overall Architecture
ViTAR的总体框架如图2所示,主要包括自适应标记合并器(ATM),模糊位置编码(FPE)以及传统的ViT架构。作者没有采用分层结构;相反,作者使用类似于ResFormer和DeiT的直接贯穿架构。
Adaptive Token Merger (ATM)
图3:网格注意力机制示意图。
类似于标准的多头自注意力机制, GridAttention同样融合了残差连接。为了对齐标记的形状,作者使用了带有平均池化的残差连接。完整的GridAttention如公式1所示。
Fuzzy Positional Encoding
许多研究指出,常用的可学习位置编码和正弦余弦位置编码对于输入分辨率的改变非常敏感,并且它们未能提供有效的分辨率适应性。尽管基于卷积的位置编码展现出更好的分辨率鲁棒性,但其对相邻标记的感知阻止了其在如MAE这样的自监督学习框架中的应用。
作者的FPE与上述方法不同。在增强模型分辨率鲁棒性的同时, 它并不像卷积那样引入特定的空间结构。因此, 它可以应用于自监督学习框架中。这一特性使得ViTAR能够应用于大规模、未标注 的训练集进行训练, 旨在获得更强大的视觉基础模型。
在推理过程中, 作者不再使用模糊位置编码, 而是选择精确的位置编码。当输入图像分辨率发生改变时, 作者对可学习的位置嵌入进行插值处理。由于在训练阶段使用了模糊位置编码, 对于任何插值的位置编码, 模型可能已经以某种方式看到并使用了它。因此, 模型获得了强大的位置适应性。结果, 在推理过程中, 面对未见过的分辨率输入时, 模型仍然表现出稳健的性能。
Multi-Resolution Training
类似于ResFormer,在训练ViTAR时,作者也采用了多分辨率训练方法。与ResFormer相比,ViTAR在处理高分辨率图像时显著降低了计算需求,这使得作者能够在训练过程中使用更广泛的分辨率。与处理包含各种分辨率的输入批次的ResFormer不同,并使用KL损失进行跨分辨率监督,ViTAR则处理每批具有一致分辨率的输入,仅依赖基本的交叉熵损失进行监督。
基于多分辨率训练策略,ViTAR可以应用于非常广泛的分辨率,并在图像分类任务中取得良好结果。同时,在处理高分辨率输入任务(实例分割、语义分割)时,ViTAR以更小的计算成本达到了现有模型的相似性能。具体来说,在需要高分辨率输入的实例分割和语义分割任务中,ViTAR在使用50%的FLOPs情况下,达到了与ResFormer和DeiT相似的结果。 whaosoft aiot http://143ai.com
4 Experiments
作者在多个视觉任务上进行了广泛的实验,例如在ImageNet-1K上的图像分类,在COCO上的实例分割,以及在ADE20K上的语义分割。作者还将在自监督框架MAE上训练模型,以验证ViTAR与MAE之间的兼容性。在这些之后,作者进行了消融研究,以验证ViTAR中每个组件的重要性。
Image Classification
表1:大小“S”与大小“B”的比较。与DeiT和ResFormer相比,ViTAR能够以极低的计算成本处理高分辨率输入图像,并展现出强大的分辨率泛化能力。
Object Detection
Semantic Segmentation
设置。遵循ResFormer的做法,作者采用MMSegmentation实现了UperNet,以验证ViTAR的性能。作者使用的数据集是ADE20K。为了训练UperNet,作者遵循Swin中的默认设置。作者选择AdamW作为优化器,用于训练模型,迭代次数为80k/160k。
表4:在ADE20K数据集上不同 Backbone 网络的成果与比较。所有 Backbone 网络均在ImageNet-1k上进行预训练。
Compatibility with Self-Supervised Learning
Settings. ResFormer采用了卷积进行位置编码,这使得它难以与像Mask AutoEncoder(MAE)这样的自监督学习框架兼容,因为MAE会破坏图像的空间结构。由于ViTAR没有引入与卷积相关的空间结构,且作者提出的模糊位置编码(FPE)不需要额外的空间信息,因此它可以更方便地融入到MAE中。与标准的MAE不同,在训练期间作者仍然采用多分辨率输入策略。作者对ViTAR-B进行了300个周期的预训练,并额外进行了100个周期的微调。
结果。作者在表6中报告了实验结果。仅预训练了300个周期的ViTAR,在与预训练了1600个周期的ViT模型对比中显示出明显的优势。当输入分辨率提高时,ViT+MAE的性能显著下降。另一方面,ViTAR+MAE显示出强大的分辨率鲁棒性。即使输入分辨率超过4000,模型仍然保持高性能。这些发现表明,ViTAR在自监督学习框架中具有很大潜力,如MAE所示。ViTAR相对于MAE的性能优势可能源于两个方面。第一个是ATM使模型能够学习更高质量的标记,为模型提供了一部分信息增益。第二个是FPE作为一种隐式数据增强,允许模型学习更鲁棒的位置信息。正如Droppos所示,模型的位置信息对其学习过程至关重要。
表6:使用MAE框架的结果。作者所采用的训练分辨率为(224, 448, 672, 896, 1120)。
Ablation Study
表7:ATM的消融研究。所有实验都是基于ViTAR-S进行的。
表7的结果显示,作者的ATM显著提高了模型的性能和分辨率适应性。特别是在高分辨率场景中,ATM的优势越来越明显。具体来说,在4032分辨率下,作者提出的ATM比 Baseline 提高了7.6%的准确率。在224分辨率下,ATM也比AvgPool表现出0.5%的性能提升。
模糊位置编码。 作者比较了不同的位置编码对模型分辨率泛化能力的影响。这包括在ResFormer中常用的simcos绝对位置编码(APE),条件位置编码(CPE),全局-局部位置编码(GLPE),Swin中的相对位置偏置(RPB),以及作者提出的FPE。值得注意的是,只有APE和FPE与MAE框架兼容。由于卷积固有的空间位置结构,另外两种位置编码难以整合到MAE学习框架中。对于没有采用MAE的模型,作者使用ViTAR-S进行实验,而对于采用MAE的模型,作者使用ViTAR-B。
不同位置编码在各种测试分辨率下的结果如表8所示。可以看出,作者提出的FPE在分辨率泛化能力方面表现出显著优势。此外,在MAE自监督学习框架下,FPE相对于APE也表现出更优越的性能,证明了FPE在更广泛领域的潜在适用性。具体来说,在4032输入分辨率下,FPE的top-1准确率超过了GLPE 4.5%。在MAE框架中,FPE比APE高出4.6%。
训练分辨率。 与ResFormer仅在训练期间使用较低分辨率(128、160、224)不同,由于ViTAR的计算效率,它可以处理具有非常高分辨率的输入。此外,采用更广泛的分辨率范围增强了ViTAR的泛化能力。在之前的实验中,作者使用(224、448、672、896、1120)这些分辨率来训练所有模型。在本节中,作者尝试减少训练期间使用的分辨率,以检验模型的分辨率泛化能力。
表9:训练分辨率的消融研究。在训练过程中使用更多分辨率显著增强了模型的分辨率泛化能力。所有实验都是基于ViTAR-S进行的。
如表9所示的实验结果表明,在实验中使用的分辨率范围内,模型在训练中使用的分辨率越高,其分辨率泛化能力越强。特别是,当ViTAR使用这五个分辨率(224、448、672、896、1120)进行训练时,模型展现出最强的分辨率泛化能力。与仅使用(224、448)进行训练相比,在高分辨率(4032)上的准确率提高了4.9%。这有力地证明了多分辨率训练的有效性。
5 Conclusions
在这项工作中,作者提出了一种新颖的架构:任意分辨率的视觉 Transformer (ViTAR)。ViTAR中的自适应标记合并功能使模型能够自适应地处理可变分辨率图像输入,逐步将标记合并到固定大小,极大地增强了模型的分辨率泛化能力,并且在处理高分辨率输入时减少了计算成本。此外,ViTAR还融入了模糊位置编码,使模型能够学习鲁棒的位置信息,并处理训练期间未遇到的高分辨率输入。
ViTAR还与现有的基于MAE的自监督学习框架兼容,表明其潜在适用于大规模 未标注 数据集。在需要高分辨率输入的任务,如实例分割和语义分割中,ViTAR在几乎不损失性能的情况下显著降低了计算成本。作者希望这项研究能够激发后续对高分辨率或可变分辨率图像处理的研究。