SparseFormer视觉编码器开源啦 | 从视觉基础模型中引导学习,成就更好!

点击下方卡片,关注 「AI视界引擎」 公众号

picture.image

最近提出的SparseFormer架构提供了一种通过调整RoIs使用显著更少的视觉 Token 来实现视觉理解的可选方法,从而极大地降低了计算成本,同时仍实现了出色的性能。然而,从头训练SparseFormers仍然代价高昂,而增加参数数量则具有挑战性。

在本文中,作者提出了一种简单而高效的方法,从基于ViT的视觉基础模型中bootstrap SparseFormers。由于SparseFormer的大部分块都是标准Transformer,作者可以继承大规模预训练视觉Transformer的权重,并尽可能地冻结它们。因此,作者只需要训练SparseFormer特定的轻量级Focusing Transformer,调整 Token RoIs并微调几个预训练块,以使最终 Token 表示对齐。这样,作者可以从各种大规模预训练模型(如IN-21K预训练AugRegs或CLIPs)中bootstrap SparseFormer架构,使用相当少的训练样本(如IN-1K)和没有标签或标题的情况下,仅需几个小时即可完成。

因此,Bootstrap的单模态SparseFormer(来自AugReg-ViT-L/16-384)在IN-1K上可以达到84.9%的准确率,仅需49个 Token ,而CLIPs-bootstrap的SparseFormer也可以在未看到任何标题的情况下展示出显著的零样本性能,且计算成本大大降低。

此外,CLIP-bootstrapped的SparseFormer,其输出空间与语言对齐,无需看到单词,可以作为多模态大型语言模型的有效视觉编码器。

代码:https://github.com/showlab/sparseformer

1 Introduction

大型预训练视觉模型,或者视觉基础模型,在预训练后表现出强大的迁移或零样本能力。大多数视觉基础模型,例如ViTs,仅基于标准Transformer编码器架构,这种架构以其高容量和在大规模自然语言语料库建模中的有效性而闻名。这种巨大的容量也在视觉领域得到观察。

例如,在JFT-300M数据集上预训练的大规模ViT在各种下游任务上表现出显著的性能,并且随着模型和数据的扩展,仍然可以持续地获得改进。尽管它们的性能有所提高,但这些视觉基础Transformer需要显著更多的计算资源和内存,在训练和推理阶段,尤其是在处理高分辨率图像时,因为Transformer架构。例如,处理一个384×384分辨率的图像需要处理576个视觉 Token,这些 Token 之间的注意力运算符会占用内存和计算资源平方与 Token 数量成正比。

最近,SparseFormer被提出作为一种具有比原始图像空间中更少的视觉 Token 的视觉Transformer架构。每个 Token 都与一个感兴趣区域(RoI)描述符相关联,SparseFormer利用重复的Focusing Transformer来调整 Token RoIs并稀疏地根据这些RoIs采样图像特征。这种设计允许 Token 在空间位置上具有可变形和可调整性。通过只使用分类标签进行训练,这些潜在 Token 可以专注于前景目标并排除非信息的背景。

因此,与传统视觉Transformer相比,SparseFormer中的 Token 数量可以大大减少,以及计算成本和内存占用。尽管在低计算区域中有效,但SparseFormer被发现很难扩展,并且仅在ImageNet 1K上实现了84.8%的Top-1准确率的最大SparseFormer变体。此外,尽管 Token 数量减少,但从头训练SparseFormers在ImageNet基准测试上仍然需要耗时耗能,例如,对于基础变体,大约需要12 A100 GPU天,更不用说大规模视觉语言训练。因此,有趣的是探索如何有效地训练SparseFormers,使其作为具有尽可能强大能力的有效视觉Transformer的替代品。

在本文中,作者提出了一种简单的解决方案来回答这个问题:从大规模预训练视觉基础模型(例如,AugRegs和CLIPs)中"bootstrap" SparseFormers。通过"bootstrapping",作者首先将基础模型的预训练权重继承到SparseFormers的标准Transformer编码器块中。然后,作者在SparseFormers中随机初始化Focusing Transformer,并训练组合的SparseFormers,使其与基础模型中的 Token 对齐,如图1所示。

picture.image

为了保留输出空间的结构,作者只调节使用预训练权重的适中的早期块。得益于SparseFormer的效率和预训练参数的重用,作者可以在几个小时内快速扩展SparseFormer的变体。例如,从AugReg-ViT-L/16(在IN-1K上达到85.8%的性能,每秒388张图像)bootstrap只需要6小时在8 A5000s上,结果的SparseFormer在49个视觉 Token 下达到84.5%的IN-1K准确率,每秒1557张图像吞吐量。继续使用80个 Token 进行bootstrap,可以获得85.5%的准确率,仅比AugReg-ViT-L/16落后0.3%,但吞吐量增加2.4倍。bootstrap的SparseFormers也可以作为语义分割的backbone,通过256个 Token 达到ADE20k上的51+ mIoU(对于512×512输入)。

此外,由于bootstrap过程只需要图像作为输入,且没有标签,作者还可以从CLIP模型中bootstrap SparseFormers,仅在ImageNet-1K上输出语言对齐空间的视觉嵌入。在没有看到任何标题的情况下,从CLIP ViT-L/14-336bootstrap的SparseFormers在ImageNet-1K上展示了75.9%的零样本准确性,仅使用0.25倍 Token ,以及在外域MS COCO上的57.0% IT@1检索得分。

此外,作者还可以将作者bootstrap的SparseFormers无缝地集成到多模态大型语言模型(MLLMs)中,无需进一步微调,并在多模态问答ScienceQA数据集上获得令人满意的结果。

2 Related work

Vision Foundation Models

"基础模型"这一术语最初由Bommasani等人引入,指那些在大量数据样本上预训练的高度 capable 的语言Transformer,并且可以轻松地适应各种下游任务。例如,这种模型包括BERT和自回归GPT系列。"基础模型"的概念也适用于计算机视觉领域,可以追溯到以前的基础视觉backbones,它们是在ImageNet上预训练的。

近年来,计算机视觉领域的工作关注于使用分类监督和标注的大型数据集,如ImageNet-21K和JFT-300M进行预训练模型。这些数据集的人为标注在一定程度上对预训练这些基础模型提出了约束,一些工作探索对比学习,掩码建模或其他自监督学习技术来解决这个问题。尽管对标注的需求很强,但训练时间和硬件需求使训练视觉基础模型变得困难和昂贵。

各种领域的数据,如网络图像,在语言和视觉上是自然多模态的,这导致了视觉模型对语言视觉预训练的兴趣。在这些模型中,CLIPs是最典型的多模态模型,将语言Transformer和视觉Transformer的输出嵌入空间对齐,显示出在各种视觉语言理解任务上的显著零样本和迁移能力。

CLIP的成功也受益于许多下游任务,包括文本条件图像生成和开源词汇检测。此外,考虑到大型语言模型(LLMs)的日益影响和可用性,最近的研究试图使用CLIP预训练的视觉Transformer构建多模态模型,通过图像输入。但是,从头训练这些视觉编码器可以非常昂贵,而且这些密集的Transformer在推理阶段计算上非常耗时,特别是对于较大的输入。

Efficient Vision Foundation Models

构建高效的视觉Transformer一直是一个有吸引力的研究主题,例如,具有高效的注意力机制,或使用紧凑的Transformer架构。除了这些,一个研究线旨在调查 Token 的冗余性,从而减少 Token 数量,以加速推理阶段。知识蒸馏也被广泛用于从大型视觉Transformer中传递知识到较小的模型。除了单模态模型外,对于多模态Transformer的有效性也日益受到重视。

最近提出的SparseFormer作为视觉Transformer的变体利用 Token 调整机制以更少的 Token 加速视觉理解任务。SparseFormer也可以看作是从一开始就进行 Token 减少的视觉Transformer,但需要从头开始进行漫长而困难的训练。

在本论文中,作者主要讨论如何从具有有限训练时间和数据样本的视觉基础模型中bootstrap SparseFormers,并使用bootstrap的SparseFormers作为在单模态和多模态设置中表现出出色性能的高效的视觉基础模型。

3 Method

在这一部分,作者将首先简要回顾SparseFormer架构。接下来,作者将详细描述如何从具有有限训练时间、硬件预算和数据样本的视觉基础模型中bootstrap SparseFormers。

Prerequisites: the SparseFormer Architecture

SparseFormer架构,作为视觉Transformer的一种变体,旨在通过高度减少的 Token 和相应的可调整RoIs来表示图像。SparseFormer由两个组件组成:Focusing Transformer和Cortex Transformer。Focusing Transformer设计为具有最小参数和计算成本,它迭代地调整 Token RoIs以关注前景。Cortex Transformer是一个标准的视觉Transformer编码器块,类似于[16],并使用SparseFormer中大多数参数和计算。

具体而言,给定潜在 Token 嵌入集和 Token RoI集,其中是潜在 Token 的数量,Focusing Transformer的运作如下:

其中和是初始 Token 嵌入集和初始RoI集,它们是模型的可学习参数,与输入图像无关。在典型设置中,Focusing Transformer执行4次迭代。在每次迭代中,Focusing Transformer根据当前 Token RoI 将图像特征嵌入 Token 嵌入,执行自注意力和前馈网络,并调整 Token RoIs。

RoI调整机制使用归一化的差分形式:

在这个过程中, Token 嵌入在Focusing Transformer中产生的元组用于调整RoI。所有操作都单独应用于每个 Token ,除了自注意力涉及 Token 之间的交互。

在Focusing Transformer之后,这些 Token RoIs通常会聚集在前景目标周围。然后,所谓的Cortex Transformer,其架构与标准Transformer编码器完全相同,会作用于 Token 嵌入:

在这里,作者可以看到Cortex Transformer只是处理 Token 嵌入,不再依赖于 Token RoIs。通过RoI调整机制,SparseFormer通过只关注前景目标和排除背景,利用高度减少的 Token (例如,0.25倍)进行视觉理解。

可行性从ViTs中bootstrap SparseFormers。由于Cortex Transformer严格遵循标准Transformer编码器架构,可以继承预训练视觉Transformer权重。一旦继承了Cortex Transformer的权重,作者只需要从头开始训练Focusing Transformer,使其表示与继承的Cortex Transformer权重兼容。

因此,当输入表示良好对齐时,SparseFormer的输出表示也会与原始预训练视觉Transformer对齐,这对语言对齐的视觉表示尤其有益,例如CLIPs。作者将这个过程称为“从大规模预训练视觉基础模型中bootstrap SparseFormers”。

Bootstrapping from Vision Foundation Models

正如上面所讨论的,作者需要将Focusing Transformer的输出表示与继承的视觉Transformer的输入表示对齐。然而,由于这两种表示的形状通常不匹配,因为SparseFormer Token 的数量远低于大多数视觉Transformer中的 Token 数量,这个直接的想法是不切实际的。

因此,作者采取了直接将SparseFormer的最后表示与预训练视觉Transformer的表示对齐的方法。

具体而言,作者提出了一种从视觉基础模型中bootstrap SparseFormers的简单方法,这些模型大多数基于Transformer。

  • 首先,作者设计SparseFormer的变体,使其匹配这些预训练视觉Transformer的维度和它们的皮质 Transformer 块的数量。作者继承了这些大规模预训练权重,并将它们加载到SparseFormers的皮质 Transformer 块中。
  • 然后,作者从随机初始化Focusing Transformer,并将这两个拼接在一起,构建一个完整的SparseFormer。

picture.image

一旦构建了一个SparseFormer,作者在给定相同的图像输入时,将其最后表示与给定的预训练视觉Transformer的最后表示进行对齐,如图2所示。作者简单地使用余弦损失来对齐这两个最终 Token 表示。

在这里,和是在模型最后嵌入空间中的最终 Token 嵌入,其中[CLS]是在分类模型的分类层之前或CLIP模型中的投影层之后。作者可以从大规模预训练视觉基础模型中bootstrap SparseFormers,因为预训练模型的对齐目标已经具有丰富的语义。作者只需要寻找一组无标签的支持图像。作者发现,对于bootstrap竞争性SparseFormers,中型ImageNet-1K训练集,这是最公开且其规模最小,经过最小化增强的最小公开图像集,是足够的无标签支持图像集。

与蒸馏方法的区别。值得注意的是,两个 Token 嵌入之间的余弦损失与预定义的标签集无关,作者不在bootstrap过程中利用任何标签或标题。这与现有的蒸馏方法有很大不同,它们通常使用指定的标签集进行分类模型或视觉语言对齐的多模态模型。此外,蒸馏方法不利用教师模型权重,因为学生架构通常与教师不同,因此需要较长的学习曲线来有效地传递知识。相比之下,作者的方法可以在几小时(20个epochs)内,仅使用1.2M张来自ImageNet的图像,bootstrap一个200M SparseFormer变体。

在构建SparseFormer变体时,作者选择丢弃预训练视觉Transformer中的部分前向块,通常用于低级视觉建模,这与SparseFormers中的Focusing Transformer的作用重叠。因此,作者在构建SparseFormer变体时,丢弃了1/3的前向块,这也有助于减少计算需求。

由于bootstrap的目标是很好地对齐最终表示,作者从继承的权重开始设置一些中间Transformer块可调,以适应Focusing Transformer的输出。作者让其余的Transformer块保持冻结,以尽可能地保留输出空间的结构,这是通过预训练权重实现的。

4 Experiments

作者首先在从大规模预训练单模态模型中bootstrap SparseFormers的实验上进行实验,然后讨论视觉语言预训练的模型。

Bootstrapping from Unimodal Models

作者选择成熟的AugReg变体,严格遵循原始ViT架构,作为单模态分类模型,用于bootstrap。AugReg模型是在ImageNet-21K数据集上通过有监督分类进行预训练的,使用了精心设计的数据增强和正则化技术。

模型配置和实验设置。 作者根据表1中的基变体和大型变体(ViT-B/16 和ViT-L/16-)设计了两个SparseFormer变体(SF-B和SF-L)。作者设置Focusing Transformer 中的 Token 维度是Cortex Transformer 维度的1/2,除了最后一个Focusing Transformer 块执行全维度的采样操作,符合[20]。与前一个不同,最后一个Focusing Transformer 块不涉及FFN和自注意力层。作者在SparseFormer的Focusing 阶段之后,向潜在 Token 添加可学习的[CLS],用于bootstrap和分类。

picture.image

为了与添加位置编码的AugReg模型(CLIPs也遵循这一规则)一致,作者在每个Focusing 迭代中以sinusoidal形式注入基于 Token RoIs的位置编码。为了进一步减少计算并使SparseFormer更加稀疏,作者将早期卷积的通道从96减少到64,并将稀疏采样中 Token 的采样点数量从36减少到16。

作者选择公开可用的中型ImageNet-1K训练集作为作者的bootstrap图像集。数据增强设置为最小:随机水平翻转概率为0.5,随机缩放裁剪,缩放范围为(0.5,1.0),长宽比为(3/4,4/3)。作者使用20个epoch作为作者的bootstrap计划,其中学习率开始于,并在第一次 Warm up epoch后遵循半余弦衰减计划。

在 Warm up epoch中,继承的预训练权重保持冻结以保持训练稳定性。在bootstrap过程中,只有可学习的Focusing Transformer 和中枢 Transformer 可调块。所有其余参数,包括从AugReg模型继承的最终层归一化和分类层,保持冻结。

picture.image

作者使用49个 Token 的SparseFormer。作者在表2中展示了从ViT-L/16-bootstrap的SparseFormer分类模型的结果。SparseFormer模型的默认 Token 数量为49。从结果中,作者可以看到,使用49个 Token 的SparseFormer模型已经取得了令人满意的结果,例如,从ViT-L/16-bootstrap的SF-L达到了84.9%的Top-1精度。请注意,SparseFormer模型中的 Token 数量(例如,49)从开始到结束都是固定的,这与最近一些方法逐渐减少 Token (例如,在块中)形成对比。据作者所知,作者是在所有块中仅使用49个 Token 就实现了约85%的Top-1精度,这对于视觉Transformer来说是首次。

继续用更多的 Token 进行bootstrap。尽管使用49个 Token 的SparseFormer模型已经取得了令人满意的结果,但与那些从非可忽略的差距的模型相比,它们仍然落后。为了最小化差距,作者进一步继续用从默认SparseFormer模型中增加的 Token 数量进行bootstrap。

请注意,这些增加的数量仍然远低于原始视觉Transformer,尤其是对于高分辨率的模型。连续bootstrap持续5个epoch,学习率从开始,也遵循半余弦衰减方案。作者用额外的表示法表示这些模型。从表中,当原始模型变得更大时,SparseFormers和AugRegs之间的差距变得更加接近,尤其是对于具有196个 Token 的SF-L,它与ViT-L/16-相当,但大约是3倍的实时吞吐量。当与更高的输入分辨率相结合时,SparseFormer模型仍然在相同的 Token 数量下提供改进,而额外增加的负担很小。

请注意,由于SparseFormers是一种稀疏架构,输入分辨率对SparseFormers中大多数组件的计算成本影响很小。作者的bootstrap过程很简单,因为它只是将SparseFormers和大规模预训练模型的最终表示进行对齐。

picture.image

作者的bootstrap过程很简单,因为它只是将SparseFormers和大规模预训练模型的最终表示进行对齐。除了在基准测试上的评估外,在bootstrap过程中不需要标签。在这里,作者在表3中排除了bootstrap设计的ablation。有趣的是,与分类损失(表中的“with cls loss”)同时对齐最终表示实际上会降低性能。作者怀疑,有监督分类需要强大的增强和正则化来在对齐后保持稳定。作者还用ImageNet标签上的不同温度替换了作者的 Token 表示对齐。这种简单的蒸馏仍然获得了有前途的结果,但仍然落后于作者的bootstrap。

此外,作者还包括在重用预训练权重的情况下进行bootstrap的结果(但最终线性分类器保持不变),并对整个Transformer进行20个epoch的对齐。正如作者所料,它产生了较差的性能,可能需要更多的训练周期才能从零开始良好地对齐。

picture.image

与token reduction方法进行比较。SparseFormers可以被看作是在预训练后减少视觉Transformer中的 Token 数量的方法,类似于token pruning或合并方法。在这里,作者从token reduction的角度研究SparseFormers的有效性,并将其与最先进的reduction方法进行比较,如ToMe和DiffRate,在表4中进行比较。

除了使用现成的AugReg模型与ToMe,作者还使用ToMe微调AugRegs,使用[24]中描述的微调配方,以确保与作者的方法进行公平比较,因为需要额外的微调。作者扫描以找到这些ToMe AugRegs的最佳微调学习率。在MAE模型上,DiffRate也包含在内,其中ViT-L/16-224 Baseline 报告了一个略好于ViT-L/16-224的结果。

如表所示,SparseFormer模型在准确性和实际吞吐量之间实现了最佳权衡,尤其是对于大型模型,其中许多 Token 可能冗余。实际上,bootstrap的SparseFormers中的 Token 可以与这些token reduction方法进一步应用,但这是超出本文范围的。

密集预测任务。作者在这里进一步研究bootstrap SparseFormers作为预训练 Backbone 在执行密集的每个像素预测任务的能力,例如语义分割。由于SparseFormer的潜在 Token 不是像传统视觉Transformer[16, 39, 66]那样以网格形式映射,因此需要一些工作来从这些潜在 Token 中获取密集的特征图。作者通常遵循SparseFormer在语义分割上的原始思想,根据它们的RoIs[20]将潜在 Token 重新映射回原始密集像素空间。在这里,作者发现,直接将 Token 的预测逻辑投回到密集像素空间中比使用简单的单头注意力聚合将 Token 嵌入重新映射回密集像素空间更有效:

在当前实现中,作者首先使用一个线性层将潜在 Token 维度减少到,并引入两个小的Transformer编码器块()来处理潜在 Token ,作者使用一个线性层作为作者的潜在类别分类器。是来自SparseFormer早期卷积特征映射的一个卷积的平坦特征图,其形状为。

作者对注意力分数进行偏置,,其中几何偏置与 Token RoIs的形式类似。预测偏置由一个线性层产生,其输入是潜在 Token 嵌入,,表示 Token 逻辑的整体重要性进入密集映射。简单地说,作者考虑它们的RoIs和语义重要性,将潜在 Token 预测映射到密集网格,类似于[9]。分类监督被施加在映射后的密集预测上。

作者通常遵循[8]中的训练配方,包括学习率和drop路径[27]设置,并在ADE20k数据集[78]上使用增加 Token 数量的256的作者的bootstrap SparseFormers(默认的具有49 Token 的版本)进行微调。

picture.image

由于作者基于SparseFormer的分割模型是内存友好的,将批量大小增加到4,并将总训练迭代减少到80K。结果报告在表5中。作者可以看到,SparseFormer在分割任务上的性能是有前途的,具有更少的FLOPs和更高的吞吐量。这种效率归功于SparseFormers中在有限潜在 Token 下相对于传统密集视觉Transformer(例如,对于ViT-Adapter[8]的512512输入,其FLOPs为256而不是1024)更少的计算。

Bootstrapping from Multimodal Models

迄今为止,作者从单模态分类模型中bootstrap SparseFormers并将其应用于下游的密集预测任务,展示了它们的效率和有效性。由于作者的bootstrap过程直接将最终表示与预训练Transformer对齐,因此可以轻松地应用于基础的视觉语言CLIP模型。

实验设置。CLIP模型的bootstrap过程完全遵循单模态分类AugRegs中描述的相同配方,包括训练预算、数据增强和学习率设置,如第4.1节所述。作者使用OpenAI的CLIP预训练视觉Transformer作为bootstrap的来源,即ViT-B/16-224、ViT-L/14-224和ViT-L/14-336。作者只从CLIP视觉编码器中bootstrap SparseFormers,而保留文本编码器。

值得注意的是,作者仍然只使用ImageNet-1K训练集作为支持图像数据集,并未利用任何文本图像对齐SparseFormer图像嵌入与CLIP模型。这与TinyCLIP不同,后者也继承了预训练权重,但需要至少15M的文本图像对齐来构建较小的模型。

结果。作者使用冻结的CLIP文本编码器与作者的bootstrap SparseFormers作为视觉编码器,在ImageNet-1K验证集上进行零样本分类任务,以及在MS COCO验证集和Flickr30k基准上进行检索任务。

picture.image

结果见表6。在bootstrap过程中仅使用图像作为样本进行对齐的SparseFormers作为视觉编码器,实现了相当不错的零样本准确率,同时计算成本大大降低,尤其是对于大型和高分辨率的模型。例如,作者的SparseFormer-L(144个 Token )仅比ViT-L/14-336(576个 Token )落后0.7个点,并且比ViT-L/14-224(512个 Token )领先0.5个点,且计算成本不到ViT-L/14-224的0.5倍。有趣的是,对于MS COCO和Flickr30k上的零样本检索性能,这些数据分布比用于对齐的ImageNet样本更复杂,但SparseFormers作为视觉编码器仍然相当有效。

Multimodal Large Language Models

构建具有集成视觉能力的巨大语言模型是一个新兴和有吸引力的话题。由于作者从CLIP模型中bootstrap SparseFormers,一个自然的问题是:作者是否可以无缝地将SparseFormer集成到多模态巨大语言模型中,而无需重新训练LLM。答案是肯定的。作者在LLaVa上进行实验,这是一个最近的大型语言模型,用于微调指令,可以接受图像和文本作为提示。

LLaVA的视觉编码器通常是CLIP ViT-L,它直接输出所有视觉 Token (对于224图像,典型数量为256)作为输入 Token ,用于自回归语言建模,这意味着在用户输入提示之前,已经存在256个“词 Token ”用于图像建模。相比之下,SparseFormers将此 Token 数量减少到典型为倍,这对LLM文本建模更加友好。

为了展示定量多模态LLM结果,作者在ScienceQA多选题回答任务上使用微调的LLaVa变体,即llava-lcs558k-scienceqa-vicuna-13b-v1.3进行基准测试。作者发现ScienceQA数据集的数据分布是独特的,直接使用第4.2节中bootstrap的SparseFormers会导致较差的结果。

因此,作者继续使用ScienceQA训练图像对SparseFormers进行大约1000次bootstrap,以适应这个图像域,大约需要20分钟。然后,作者用没有进一步微调LLM的SparseFormers替换了LLaVa中的CLIP视觉编码器。

picture.image

结果见表7。作为视觉编码器的bootstrap的SparseFormer保留了大部分语言-视觉能力(在多模态只有,而在单模态中为)。作为输入到接下来的自回归LLM,只需要个视觉 Token 。SparseFormers与CLIP之间的性能差距在扩展到128 Token 时进一步缩小,这仍然是CLIP Token 数量的一半。

Visualization

作者在图3中展示了作者的bootstrap SparseFormer的视觉化,并将其与原始SparseFormer进行了比较。

picture.image

虽然bootstrap的ViT-B/16-224和原始的SparseFormer-Tiny使用了完全相同的视觉 Token 数量(即,49个),但作者的bootstrap模型展示了在采样点更少的情况下更好地关注前景并排除非信息区域的能力(每个 Token 的采样点从36减少到16,如第4.1节所述)。因此,从大规模预训练模型中bootstrap的SparseFormer可以在关注能力和采样效率方面都比原始模型更“稀疏”。

5 Conclusion

在本文中,作者提出了一种简单但有效的方法,通过继承大部分预训练权重并明确对齐最终表示来bootstrap SparseFormers从大规模预训练视觉基础 Transformer 。通过短训练时间(几小时)和有限数据样本(仅来自ImageNet-1K的图像样本),从单模态分类模型中bootstrap的SparseFormers可以尽可能保持预训练能力,同时使用更少的 Token 和更高的实时吞吐量。

特别地,作者可以bootstrap一个仅使用49个 Token 的SparseFormer,它在ImageNet上获得84.9的Top-1精度。此外,SparseFormers还可以作为密集像素级别的语义分割任务的 Backbone 网络,在ADE20k基准测试上获得不错的结果,但吞吐量只有2倍。

除了分类模型,作者还可以从多模态预训练 Transformer CLIPs中bootstrap SparseFormers,通过对它们的视觉表示进行对齐,不需要在bootstrap过程中看到任何文本标题。利用重复使用的CLIP文本编码器并将其冻结,bootstrap的SparseFormers作为视觉编码器展示了强大的基于文本的零样本分类以及图像到文本和文本到图像检索能力,但计算量为0.2倍。作者还评估了使用bootstrap的SparseFormers作为高效视觉编码器的多模态LLM性能。

限制作者的 Proposal 的bootstrap过程的一个限制是,它假定视觉基础模型的底层Transformer架构,因此只能处理基于Transformer的基础模型。这主要是情况,但也有一些例外,例如[40]。此外,它需要视觉基础模型的权重,而对于某些大规模专有模型来说,这可能是不可能的。

Appendix A Appendix

More Ablations on Bootstrapping Settings

在第3节中,作者提出了“截断 Head ,调整中间,冻结结尾”的方法,以进一步减少计算并保留基础 Transformer 的输出嵌入空间,从而从其进行bootstrap。在这里,作者研究了这种bootstrap范式的效果,结果报告在表8中。

picture.image

如图所示,在表8中,将所有预训练 Transformer 块进行截断("全部冻结")并对其进行微调("全部可调")的bootstrap SparseFormers的性能均较差于仅对预训练 Transformer 块进行微调的模型。这是因为冻结的预训练 Transformer 块在bootstrap过程中无法适应Focusing Transformer 的输出。然而,过于极端地使所有预训练块可调("全部可调")也会导致性能下降。这可能是因为作者的冻结分类器依赖于作者保留的良好输出嵌入空间结构。作者认为这对于视觉语言模型也是如此。

此外,作者还观察到,不截断 Head 块的bootstrap可以非常不稳定,导致SF-B和SF-L的效果不同,但计算量和参数要更多。因此,作者选择截断 Head 、调整中间、冻结结尾的范式作为作者的bootstrap设计,以减少计算和最小化可调参数。

Experiment Settings in Details

在这里,作者将描述bootstrap过程的更多实验细节。微调预训练 Transformer 块的学习率设置为Focusing Transformer 学习率的0.1倍,以便在 Warm up 之后使训练更加稳定。作者设计的SparseFormer变体中的Focusing Transformer 首先进行特征采样,然后进行 Token 内注意力,前馈网络,然后对每个迭代进行RoI调整,这与原始SparseFormer不同,原始SparseFormer中首先进行 Token 内注意力,然后进行特征采样。作者使用相反的顺序来优先考虑采样特征之间的不同 Token 之间的自注意力交互。作者在Focusing Transformer 中使用两层MLP来生成RoI调整的delta。

与原始SparseFormers不同,作者在每个特征采样操作之后,在Focusing Transformer 中注入基于RoI的位置编码,以与典型的视觉 Transformer 对齐。作者采用的位置编码也是正弦波,但呈连续形式。

在这里,是位于到的指数空间中的频率项(共有个频率项),其中每个分量是位于内的 Token RoI的归一化坐标。最终的位置编码是将这四个位置编码部分连接在一起得到的:

More Visualizations

在这里,作者在图4和5中可视化了在每个迭代中Focusing Transformer 中的详细RoI调整过程。

picture.image

picture.image

此外,作者在图6和7中对各种bootstrap SparseFormers(SF-B, SF-L, SF-B,和SF-L)在ImageNet-1K验证图像样本上进行了全面的可视化。与原始SparseFormer相比,bootstrap SparseFormers在前景上的稀疏性和定位效果更好。

picture.image

picture.image

参考

[1]. Bootstrapping SparseFormers from Vision Foundation Models.

picture.image

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
评论
未登录
暂无评论