我真的没想到!跨尺度视觉Transformer居然吃的这么开!图像分类、目标检测、语义分割...

摘要

虽然不同尺度的视觉特征具有重要的感知作用,但现有的视觉 Transformer 还没有显式地利用它们。为此,本文首先提出了一种跨尺度视觉 Transformer, 即CrossFormer,它引入了跨尺度嵌入层(CEL)和长短距离注意力(LSDA)。其中CEL 将每个标记与不同尺度的多个分块混合在一起,为自注意力模块本身提供跨尺度特征。另一方面,LSDA将自注意力模块分为短距离模块和长距离模块,这不仅能减轻计算负担,而且在标记中同时保留了小尺度和大尺度特征。此外,通过在CrossFormer上的实验,我们观察到影响视觉Transformer性能的另外两个问题,即扩大的自注意图和振幅爆炸。因此,我们进一步提出了渐进式分组大小(PGS)范式和振幅冷却层(ACL),以分别缓解上述两个问题。与 PGS和 ACL 结合的CrossFormer称为CrossFormer++。大量实验表明,CrossFormer++在图像分类、目标检测、实例分割和语义分割任务上优于其他视觉Transformer

关键词

图像分类、目标检测、语义分割、视觉转换

引言

基于Transformer的视觉主干在图像分类、目标检测、语义分割等许多计算机视觉任务中取得了巨大成功。与卷积神经网络(CNN)相比,视觉 Transformer 通过引入自注意力模块实现了长距离依赖,赋予了模型更强大的能力。

Transformer 需要一系列标记(例如,单词嵌入)作为输入。通常为了使该要求适应视觉任务,大多数现有的视觉 Transformer[1][2][3][4]通过将输入图像分割成大小相等的分块来产生标记。例如,一张 224×224 的图像可以被切分成 56×56 个大小为 4×4 的分块,这些分块通过线性层嵌入,从而产生一个标记序列。在某个 Transformer 内部,自注意力被用来建立任意两个标记之间的交互。因此,自注意力的计算或内存成本为 O(N2),其中 N 是标记序列的长度。该成本对于视觉输入来说过于庞大,因为该标记序列比自然语言处理任务的指令序列长得多。因此,最近提出的视觉 Transformer[3][4][5]开发了多种替代品(例如,Swin[4]将自注意力限制在一个小的局部区域而不是全局范围),以较低的成本近似原始的自注意力模块。

尽管上述视觉 Transformer 已经取得了不错的进展,但它们在利用不同尺度的视觉特征方面仍然面临挑战,而多尺度特征对于许多视觉任务来说至关重要。特别地,图像通常包含许多大小不同的目标对象,为了充分理解图像,需要模型提取不同尺度(即不同范围和大小)的特征。现有的视觉 Transformer 无法处理上述情况,原因有两个:(1)这些模型的输入标记是由大小相等的分块生成的。尽管这些分块理论上有机会提取任何尺度特征,只要分块大小足够大,但很难保证它们在实践中能够自动学习适当的多尺度特征。(2)一些视觉Transformer,如 Swin[4],将注意力限制在小范围局部区域内,放弃了长距离注意力。

本文从两个角度提出了一个跨尺度嵌入层(CEL)和一个长短距离注意力(LSDA)来弥补跨尺度空白:

跨尺度嵌入层(CEL):遵从 PVT[3],本文也为 Transformer 设计了金字塔结构,这自然而然地将视觉 Transformer 分为了多个阶段。CEL 被引入在每个阶段的开始,它接收最后一个阶段的输出(或输入图像)作为输入,并对具有不同尺度(例如 4×4 或8×8)的多核块进行采样。然后,通过嵌入和连接这些块来构建每个标记。通过这种方式,我们强制一些维度(例如,从 4×4 补丁)只关注小尺度特征,而其他维度(例如从 8×8 补丁)则有机会学习大尺度特征,从而得到一个具有明确跨尺度特征的标记。

长短距离注意力(LSDA):我们认为,短距离和长距离注意力对于视觉输入均必不可少,因此提出了 LSDA。不像 Swin 那样使用基于滑动窗口的自注意力,LSDA 将自注意力模块分为短距离注意力(SDA)和长距离注意力(LDA)。SDA 构建相邻嵌入之间的依赖关系,而 LDA 负责彼此相距甚远的嵌入之间的依赖关系。SDA 和 LDA 交替出现在CrossFormer 的连续层中。因此不仅降低了自注意力模块的成本,同时保持了短距离和长距离注意力。

动态位置偏差(DPB):此外,遵循先前的工作[4][6],我们对标记的位置表示采用了相对位置偏差(RPB)。RPB 仅支持固定的图像/分组大小。然而,许多视觉任务(如目标检测)的图像大小是可变的,许多框架(包括我们的框架)的分组大小也是可变的。为了使RPB 更加灵活,我们进一步引入了一个名为动态位置偏差(DPB)的可训练模块,该模块接收两个标记的相对距离作为输入,并输出它们的位置偏差。DPB 模块在训练阶段进行了端到端的优化,引入了可忽略不计的成本,但是 RPB 适用于可变的分组大小。

基于上述三个模块,我们命名我们的框架为 CrossFormer,并设计了四种不同深度和通道的变体。虽然这些变体取得了很好的性能,但我们还发现,CrossFormer 的进一步扩展不会带来持续的性能提升,甚至会降低精度。为此,我们分析了每一层的输出(即自注意力图和 MLP),并观察了影响模型性能的另外两个问题,即扩大的自注意图与振幅爆炸。因此,我们进一步提出了渐进式分组大小(PGS)和振幅冷却层(ACL)来缓解这些问题。

渐进式分组大小(PGS):就自注意力图而言,我们观察到浅层的标记总是关注自己周围的标记。而深层标记对其他所有标记的关注几乎相同。这一现象表明,视觉 Transformer的表现与 CNN 相似,即分别在浅层提取局部特征,在深层提取全局特征。如果像大多数现有的视觉 Transformer 一样,对所有阶段采用固定的分组大小,这将阻碍模型的性能。因此,我们提出从浅层到深层逐步扩大分组大小(PGS),并在该指导下实施手动设计的分组大小策略。虽然这是一个简单的策略,但 PGS 实际上是一个通用的范式。我们希望展示其重要性,并呼吁其他研究人员探索更自动化和适应性更强的分组大小策略。

振幅冷却层(ACL):在视觉 Transformer 中,随着层数的加深,激活的振幅急剧增长。例如,在 CrossFormer-B 中,第 22 层的最大振幅是第 1 层的 300 倍。层间巨大的振幅差异使训练过程不稳定。然而,我们也发现我们提出的 CEL 可以有效地抑制振幅。考虑到将更多的 CEL 放入 CrossFormer 有点麻烦,我们设计了一个类似 CEL 但更轻量化的层,称为振幅冷却层(ACL)。ACL 被插入在一些 CrossFormer 模块后以冷却振幅。

我们通过引入 PGS 和 ACL 改进了 CrossFormer,产生了 CrossFormer++,并提出了四种新的变体。对四个下游任务(即图像分类、目标检测、语义分割和实例分割)的广泛实验表明,CrossFormer++在所有这些任务上都优于 CrossFormer 和其他现有的视觉 Transformer。

以下章节组织如下:第二节将介绍背景和相关工作。然后,我们将在第三节中回顾CrossFormer[7]及其 CEL、LSDA 和 DPB。第四节详细介绍了 PGS、ACL 和 CrossFormer++。此后,实验将在第五节中展示。最后,我们将在第六节中介绍我们的结论和未来的工作。

CrossFormer

CrossFormer 的总体架构如图 1 所示。遵循[3][4][5],CrossFormer 也采用金字塔结构,自然地将 Transformer 模型分为 4 个阶段。每个阶段由一个跨尺度嵌入层和几个 CrossFormer模块组成。CEL 接收最后阶段的输出(或输入图像)作为输入,并通过嵌入层生成跨尺度标记。在这个过程中,CEL(第 1 阶段除外)将嵌入的数量减少到 1/4,同时将金字塔结构的维度加倍。然后,在 CEL 之后建立几个 CrossFormer 模块,每个模块都涉及长短距离注意力(LSDA)和动态位置偏差(DPB)。在完成特定任务的最后阶段后,会有一个专门的头(如图 1 中的类别头)。

A. 跨尺度嵌入层 (CEL)

利用跨尺度嵌入层(CEL)为每个阶段生成输入标记。图 3 以第 1 阶段之前的第 1 个CEL 为例。它接收图像作为输入,然后使用四个不同大小的核对分块进行采样。四个核的步幅保持不变,因此它们产生了相同数量的标记。如图 3 所示,每 4 个相应的分块都有相同的中心,但尺度不同,这四个分块都将被嵌入并连接为一个整体嵌入。在实践中,采样和嵌入过程可以通过 4 个卷积层来完成。

对于跨尺度标记,一个问题是如何设置每个尺度的嵌入维度。一种直接的方法是平均分配维度。以一个具有 4 核的 96 维标记为例,每个核输出一个 24 维向量,将这些向量连接起来得到一个 96 维标记。然而,卷积层的计算开销与 K2D2 成正比,其中 K 和 D 分别表示核大小和输入/输出维度(假设输入维度等于输出维度)。因此,在相同的维度下,大内核比小内核消耗更多的资源。为了控制 CEL 的计算代价,我们对大内核使用较低的维度,而对小内核使用较高的维度。图 3 在其子表格中提供了具体的分配规则,并给出了一个 96 维的示例。与平均分配维度相比,我们的方案节省了大量计算成本,但不会明显影响模型的性能。其他阶段的跨尺度嵌入层以类似的方式工作。如图 1 所示,第 2/3/4 阶段的 CEL 使用两个不同的核(2×2 和 4×4)。此外,为了形成金字塔结构,第 2/3/4 阶段的 CEL 步幅设置为 2×2,以将嵌入数量减少到 1/4。

B. CrossFormer 模块

每个 CrossFormer 模块由一个长短距离注意力模块(即 LSDA,它涉及一个短距离注意力(SDA)模块或一个长距离注意力(LDA)模块)和一个多层感知机(MLP)组成。如图 1(b)所示,SDA 和 LDA 交替出现在不同的模块中,动态位置偏差(DPB)模块作用于 SDA和 LDA 中,旨在获得嵌入的位置表示。遵循之前的视觉 Transformer,每个模块中都使用了残差连接。

1)长短距离注意力(LSDA):我们将自注意力模块分为两部分:短距离注意力(SDA)和长距离注意力(LDA)。对于 SDA,所有 G×G 的相邻嵌入都被分组在一起。图 2(a)列举了 G=3 的例子。对于输入尺寸为 S×S 的 LDA,嵌入以固定间隔 I 进行采样。例如,在图 2(b)(I=3)中,所有具有红色边框的嵌入都属于一个分组,而具有黄色边框的嵌入则属于另一个分组。LDA 的分组高度或宽度计算为 G=S/I(即本例中 G=3)。在分组嵌入后,SDA 和LDA 在每个分组中都采用了原始的自注意力模块。结果,自注意力模块的内存/计算成本从O(S4)降低到 O(S2G2)。

值得注意的是,LDA 的有效性也得益于跨尺度嵌入。具体来说,我们在图 2(b)中绘制了包含两个嵌入的所有分块。正如我们所看到的,两个嵌入的小尺度分块是不相邻的,因此如果没有上下文的帮助,很难判断它们之间的关系。换句话说,如果这两个嵌入仅由小尺度分块(即单尺度特征)构建,则很难建立它们之间的依赖关系。相反,相邻的大尺度分块提供了足够的上下文来连接这两个嵌入,这使得长距离跨尺度注意力更容易计算,也更有意义。

2)动态位置偏差(DPB):相对位置偏差(RPB)通过在嵌入对象的注意力中添加偏差来指示嵌入对象的相对位置。正式地,具有 RPB 的 LSDA 的注意力图为:

其中分别表示自注意力模块中的查询,键和值。是常数归一化器,是 RPB 矩阵。在先前的工作[4]中,,其中是一个固定大小的矩阵,()是第个和第个嵌入之间的坐标距离。明显地,如果()超过的大小,则图像/分组大小受到限制。相比之下,我们提出了一种基于 MLP 的 DPB 模块, 可以用于动态生成相对位置偏差,即,

DPB的结构如图2©所示。它的非线性变换由三个全连接层组成,同时具有层归一化[26]和 ReLU[27]。DPB 的输入维度为 2,即(),中间层的维度设置为,其中是嵌入的维度。输出是一个标量,对第个和第个嵌入之间的相对位置特征进行编码。DPB 是一个可以与整体 Transformer 模型一起优化的可训练模块。它可以处理任何图像/分组大小,不必担忧()的界限。

在附录中,我们证明了如果图像/分组大小固定,DPB 等价于 RPB。在这种情况下,我们可以在测试阶段将训练好的 DPB 转换为 RPB。我们还提供了一种当图像/分组大小可变时DPB 的复杂度为的实现方式(在正常情况下,复杂性为,因为。

C. CrossFormer 的变体

表 I 列出了 CrossFormer 用于图像分类的四种变体的详细配置。为了重复利用预训练的权重,其他任务(例如,目标检测)的模型使用与分类相同的骨干网络,除了它们可能使用不同的和。具体地,除了与分类的配置相同外,我们还使用、和对检测(和分割)模型的前两个阶段进行测试,以适应更大的图像。值得注意的是,分组大小或间隔(即或)不会影响权重张量的形状,因此在 ImageNet 上预先训练的骨干网络可以轻易地在其他任务上进行微调,即使它们使用不同的或。

CrossFormer++

在本节中,我们提出了一种渐进式分组大小(PGS)范式,以适应视觉 Transformer 逐渐扩大的分组大小。此外,还提出了振幅冷却层(ACL)来缓解振幅爆炸问题。PGS 和 ACL插入 CrossFormer,产生了一个改进的版本,称为 CrossFormer++。

A. 渐进分组大小 (PGS)

现有工作[28]探索了原始 ViT 的机制,发现 ViT 更倾向于全局关注,即使是从早期层开始,这与 CNN 的工作方式不同。然而,具有金字塔结构的视觉 Transformer 采用较小的分块作为输入,采用分组自注意力,因此可能与普通视觉 Transformer 的表现不同。我们以CrossFormer 为例,计算其平均注意力图。具体来说,某个分组的注意力图可以表示为:

其中分别表示批次大小、头数和分组大小。这意味着总共有个标记,每个标记的注意力图大小为。标记在图像、头部和位置处的注意力图表示为:

对于位置处的标记,批次和多头平均的注意力图为:

我们训练一个尺寸为 14×14 的大分组的 CrossFormer-B,并计算每个标记的平均注意力。随机标记的结果如图 4 所示。正如我们所看到的,关注区域从浅层到深层逐渐扩大。例如,前两个阶段的标记主要关注自身周围大小为 4×4 的区域,而第 3 阶段的深层注意力图则分布均匀。结果表明,浅层标记更喜欢局部依赖,而深层标记更倾向于全局关注。为此,我们提出了一种 PGS 范式,即在浅层采用较小的分组大小来降低计算开销,在深层采用较大的分组大小以引起全局关注。在这一指导下,我们首先根据经验将四个阶段的分组大小分别设置为{4,4,14,7}。然后,提出了一种线性放缩分组大小的策略,即从浅层到深层线性扩展分组大小。

之前的工作 S3[24]提出了类似于 PGS 的设计方案。然而,背后的动机和设计的细节是不同的。S3 的指导方针受启发于 NAS 过程中观察到的现象。他们使用的分组大小的搜索空间仅限于两个整数,即{7,14},不同分组大小的影响用线性近似法建模,与 PGS 相比,线性近似法相对粗糙。相对地,PGS 从注意力矩阵可视化中获得启发,并采用更佳的、更灵活的策略,使不同的 Transformer 模块能够从区间[4,14]内的一组连续整数中选择不同的分组大小,例如线性放缩分组大小策略。我们比较了实验结果,并在第五节中提供了详细的消融实验来证明 PGS 的有效性。PGS 和 NAS 的结合有待进一步研究。

B. 振幅冷却层 (ACL)

除了注意力图,我们还探索了每个模块的输出幅度。如图 5 所示,对于 CrossFormer-B模型,振幅随着模块的加深而大大增加。特别是,第 22 个模块的最大输出超过 3000,大约是第 1 个模块的 300 倍。此外,第 22 个模块的平均振幅也变为第 1 个模块的约 15 倍。这种极端的数值使得训练过程不稳定,阻碍了模型的收敛。

幸运的是,我们还观察到,在每个阶段开始时(例如,第 5 个和第 23 个模块),振幅会缩小到一个较小的值。我们认为,所有模块的输出都是通过模型中的残差连接逐渐累积的。每个阶段开始时的 CEL 没有残差连接,并切断了积累过程,因此可以有效地冷却振幅。虽然 CEL 仍然包含繁琐的普通卷积层,但我们还提出了一种更轻量化的设计,称为振幅冷却层(ACL)。如图 6 所示,与 CEL 类似,ACL 也不使用任何残差连接。它仅由深度卷积层和归一化层组成。图 5 中的比较表明,ACL 也可以冷却振幅,但与 CEL 相比,它引入的参数更少,计算开销也更少,因为使用了具有小核的深度卷积(而不是正常的卷积层)。

然而,没有残差连接的 ACL 会延长反向传播路径,加剧梯度消失问题。为了防止这种情况,我们在的每个模块后放置一个 ACL 层,如图 6 所示。根据经验,时可以实现振幅冷却和反向传播之间令人满意的权衡。

C. CrossFormer++的变体

借助 PGS 和 ACL,我们进一步改进了 CrossFormer,并提出了 CrossFormer++。框架如表 1 所示。其中,CrossFormer+±B 和 CrossFormer+±L 分别继承了 CrossFormer-B 和CrossFormer-L 的每个阶段的深度和通道。此外,CrossFormer++更侧重于大型模型,因此忽略了“Tiny(-T)”版本,并构建了一个新的“Huge(-H)”版本。特别地,CrossFormer+±H在前两个阶段添加了更多层,以细化低维特征。此外,我们发现,对于“Small(-S)”版本, 更深更窄 的模型的性能 与 更浅更 宽的模型相似 ,但引入 的参数较少, 因此CrossFormer+±S 采用比 CrossFormer-S 更深的模型,同时为每个块使用更少的通道。

实验

实验在四个具有挑战性的任务上进行:图像分类、目标检测、实例分割和语义分割。为了进行公平的比较,我们尽可能保持与其他视觉 Transformer 相同的数据增强和训练设置。对比方法均是具有竞争力的视觉 Transformer,包括 DeiT[2]、PVT[3]、T2T-ViT[8]、TNT[29]、CViT[30]、Twins[31]、Swin[4]、S3[24]、NesT[32]、CvT[17]、ViL[33]、CAT[5]、ResT[34]、TransCNN[35]、Shuffle[36]、BoTNet[37]、RegionViT[38]、ViTAEv2[39]、MPViT[40]、ScalableViT[41]、DaViT[42]和 CoAtNet[43]。

A. 图像分类

实验设置:在 ImageNet 数据集上进行图像分类实验。ImageNet 数据集包含 128 万张用于训练的自然图像和 50000 张用于评估的图像。默认情况下,图像大小调整为 224×224,用于训练和评估。采用与其他视觉 Transformer 相同的训练设置。特别地,我们使用AdamW[44]优化器,使用余弦衰减学习率调度器训练 300 个迭代周期,并使用 20 个线性预热迭代周期。批次大小为 1024,使用 8 个 V100 GPU 进行训练。使用 0.001 的初始学习率和0.05 的权重衰减率。此外,我们分别对 CrossFormer-T、CrossFormer-S、CrossFormer-B 和CrossFormer-L 使用 0.1、0.2、0.3、0.5 的 Drop 路径率。同样,0.2、0.3、0.5、0.7 的 Drop路径率分别用于 CrossFormer+±S、CrossFormer+±B、CrossFormer+±L 和 CrossFormer+±H。此外,与 Swin[4]类似,RandAugment[45]、Mixup[46]、Cutmix[47]、random erasing[48]和stochastic depth[49]用于数据增强。

结果:结果如表 II 所示。CrossFormer 的表现优于所有其他同时期的视觉 Transformer。具体来说,与强大的基准 DeiT、PVT 和 Swin 相比,我们的 CrossFormer 在小模型上的准确性优于它们至少 1.2 个百分点。与 CrossFormer 相比,CrossFormer++的平均精度提高了 0.8个百分点。例如,CrossFormer-B 的精度达到 83.4%,而 CrossFormer+±B 的精度达到 84.2%,额外的计算开销可以忽略不计。此外,CrossFormer++在参数相似、计算开销和吞吐量相当的情况下,表现优于所有现有的视觉 Transformer。

B. 目标检测和实例分割

实验设置:目标检测和实例分割的实验都是在 COCO2017[50]数据集上完成的,该数据集包含 118K 训练图像和 5K 的验证图像。我们分别使用基于 MMDetection 的 RetinaNet[52]和 Mask R-CNN[53]作为目标检测和实例分割头。对于这两个任务,骨干网络都是用 ImageNet上预先训练的权重初始化的。然后,整个模型在 8 个 V100 GPU 上以批次大小 16 进行训练,并使用初始学习率为 1×10−4 的 AdamW 优化器。根据之前的工作,当以 RetinaNet 作为检测器时,我们采用 1×训练计划(即模型训练 12 个迭代周期),并将图像的短边调整为 800像素。而对于 Mask R-CNN,使用 1×和 3×训练计划。值得注意的是,当采用 3×训练计划时,也采用了多尺度训练[54]。

结果:RetinaNet 和 Mask R-CNN 的结果分别如表 III 和表 IV 所示。正如我们所看到的,CrossFormer 的表现优于大多数现有的视觉 Transformer,并且比图像分类任务表现出更高的优势。我们认为这是因为 CrossFormer 明确地利用了跨尺度特征,而跨尺度特征对于目标检测和实例分割等密集预测任务尤为重要。然而,仍有一些其他架构的性能优于 CrossFormer,例如,PVTv2-B3 的 AP 比 CrossFormer-S 高 0.2 个百分点。相反,CrossFormer++的 AP 至少比 CrossFormer 高 0.5 个百分点,并且优于所有现有方法。此外,当扩大模型时,其性能增益比其他架构更为显著,这表明 CrossFormer++具有更大的潜力。例如,当使用 Mask R-CNN作为检测头时,CrossFormer+±S 的 AP 指标表现优于 ScalableViT-S 0.8 个百分点(48.7 比 49.5),而 CrossFormer+±B 在 AP 中表现优于 Scalable ViT-B 1.2 个百分点。

C. 语义分割

实验设置:ADE20K[55]被用作语义分割的基准数据集。它涵盖了 150 个语义类别,包括用于训练的 20K 个图像和用于验证的 2K 个图像。与检测模型类似,我们利用在 ImageNet上预训练好的权重初始化主干网络,并将基于 MMSegmentation[56]的语义 FPN 和UPerNet[57]作为分割头。对于 FPN[58],我们使用的学习率和权重衰减分别为 1×10−4 的AdamW 优化器。模型经过 80K 次迭代训练,批次为 16。对于 UPerNet,使用初始学习率为6×10−5、权重衰减为 0.01 的 AdamW 优化器,并对模型进行 160K 迭代训练。

结果:所有结果如表 V 所示。与之前发布的架构相比,CrossFormer 在扩大模型时表现出比其他架构更大的性能提升,这与目标检测相似。例如,CrossFormer-T 在 IOU 中的绝对值比 Twins-SVTB 高 1.4 个百分点,但 CrossFormer-B 在 IOU 上的绝对值比 Twins-SVT-L 高3.1%。总的来说,CrossFormer 在密集预测任务(如检测和分割)上比在分类上显示出更显著的优势,这意味着注意力模块中的跨尺度交互对密集预测任务比对分类更为重要。

此外,当使用更强大的分割头时,CrossFormer++显示出比 CrossFormer 更显著的优势。如表 V 所示,UPerNet 是一个比语义 FPN 更强大的模型。当使用语义 FPN 时,CrossFormer++S的性能优于 CrossFormer-S 1.0 个 AP(47.4 对 46.4),而当使用 UPerNet 作为分割头时,其性能优于 2.0 个 AP。

D. 消融研究

1)跨尺度标记与单尺度标记:我们通过用单尺度嵌入层替换跨尺度嵌入层来进行实验。如表 VI 所示,当使用单尺度嵌入时,与 4×4 的核相比,第 1 阶段的 8×8 的核带来了 0.4%(81.9% vs. 81.5%)的绝对提升。它告诉我们重叠的感受野有助于提高模型的性能。此外,所有具有跨尺度嵌入的模型都比具有单尺度嵌入的模型表现更好。特别是,与在所有阶段使用单尺度嵌入相比,我们的 CrossFormer 实现了 1%(82.5% vs. 81.5%)的绝对性能提升。对于跨尺度嵌入,我们还尝试了几种不同的核大小组合,它们都表现出相似的性能(82.3% ∼ 82.5%)。综上所述,跨尺度嵌入可以带来很大的性能提升,同时模型对于不同的核大小选择都具有相对的鲁棒性。

此外,我们还测试了 CEL 的不同维度分配方案。如图 3 所示,我们为不同的采样核分配不同的维度数,并与“平均分配”进行了比较。实验使用 CrossFormer-S 进行,结果见表 VII。结果表明,两种分配方案的准确率相似,但我们的方案参数较少。

2)LSDA 与其他自注意力机制:还比较了其他视觉 Transformer 中使用的自注意力机制。具体来说,我们用前人工作中提出的自注意力模块替换 CrossFormer-S 中的 LSDA,保留 CEL 和 DPB(PVT 除外,因为 DPB 不能应用于 PVT)。如表 VIII 所示,自注意力机制对模型准确率有很大影响。具体来说,LSDA的表现比CAT类自注意力高出1.4%(82.5% vs. 81.1%)。此外,一些自注意力机制可以达到与 LSDA 相似的准确率(CSwin 和 ScalableViT),这表明最合适的自注意力机制并不是唯一。

3)关于 PGS 和 ACL 的消融研究。手动设计的分组大小:我们为 CrossFormer++采用手动设计的分组大小,即 4 个阶段分别采用 [4, 4, 14, 7]。我们还测试了其他分组大小,结果如表 IX 所示。将 CrossFormer+±S 与 CrossFormer+±S3 和 CrossFormer+±S4 进行比较,结果表明,前两个阶段的 7×7 分组大小是不必要的,这会导致更大的计算开销,但不会带来准确率的提高。CrossFormer+±S 和 CrossFormer+±S1(83.2% vs 82.6%)之间的比较表明,对于第 3 阶段,较大的分组大小至关重要。这些结论也与我们的观察结果相吻合,即浅层的自注意力集中在每个标记周围的一小块区域上,而深层的注意力逐渐分散。

线性扩展分组大小:此外,我们还尝试了一种简单的非手动设计的分组大小,即从第 1阶段到第 3 阶段,我们将分组大小从 4×4 线性扩展到 14×14。然而,线性分组大小的效果不如手动设计的分组大小。

注意力机制与分组大小:值得强调的是,关于分组大小的结论也适用于其他视觉Transformer。如表 IX 所示,Swin-T 的合适分组大小也带来了显着的准确率提升,从 81.3% 提高到 82.8%。相比之下,将 Swin 中的滑动窗口替换为 LSDA 只带来了 0.6%的提升(如表VIII 所示),这表明合适的分组大小可能比自注意力机制的选择更重要。

关于 ACL 的消融研究:ACL 层带来了 0.3%∼0.4%的准确率提升。具体来说,CrossFormer+±B 在插入 ACL 后从 83.9%提升到了 84.2%,CrossFormer+±L 从 84.3%提升到了 84.7%。而且 ACL 是一个通用层,也适用于其他视觉 Transformer。例如,在 Swin-T插入 ACL 可以带来 0.4%的准确率提升(82.8% vs. 83.2%)。

4)DPB 与其他位置表示:我们比较了绝对位置嵌入(APE)、相对位置偏差(RPB)和 DPB 模型的参数、FLOPs、吞吐量和准确率。结果如表 X 所示。DPBresidual 表示具有残差连接的 DPB。DPB 和 RPB 都以绝对 0.4%的准确率优于 APE,这表明相对位置表示比绝对位置表示更有益。

此外,DPB 以可忽略的额外成本实现了与 RPB 相同的准确率(82.5%);然而,正如我们在第三节中所描述的,它比 RPB 更灵活,适用于可变的图像大小或分组大小。此外,结果还表明,DPB 中的残差连接无助于提高甚至降低模型的性能(82.5% vs. 82.4%)。

此外,我们设计了两种插值策略来使 RPB 适应可变分组大小,称为离线插值 RPB 和在线插值 RPB:

离线插值 RPB:在 ImageNet 上使用小组大小(例如 14×14)训练模型后,我们首先将RPB 插值到足够大的尺寸(例如,适用于 COCO 数据集的最高 41×41 的分组大小)。在微调过程中,扩大的 RPB 会沿着整个模型进行微调。对于下游任务的推理阶段,扩大的 RPB是固定的,不需要插值。

在线插值 RPB:训练后,RPB 保持原始状态(例如,拟合 14×14 分组大小)。在微调过程中,我们使用可微分双线性插值动态调整每张图像的 RPB 大小。虽然保持固定的小尺寸,但 RPB 经过微调以适用于可变组大小。对于下游任务的推理阶段,RPB 需要对每幅图像进行在线插值。

由于目标检测和实例分割是最常见的任务,输入图像大小可变,因此在 COCO 数据集上进行了实验,结果如表 XI 所示。我们可以看出,DPB 的表现优于离线和在线插值的DPB。离线插值 RPB 的绝对 APb 比 DPB 低 1.5。我们猜想这是因为有太多不同的分组大小(41×41),导致每个分组都有有限的训练样本,因此插值的 RPB 可能欠拟合。相比之下,在线插值 RPB 编码的性能略好于离线版本,但仍然不如 DPB。此外,由于在线插值 RPB 对每幅图像执行在线插值,因此其吞吐量与 DPB 相当,而 DPB 略小于离线插值 RPB(16 张图片/秒 vs. 14 张图片/秒)。吞吐量表明在线插值 RPB 和 DPB 的额外计算开销都是可以接受的。

总结和未来工作

在本文中,我们首先提出了一种通用的视觉主干,称为 CrossFormer。它通过我们提出的 CEL 和 LSDA 充分利用跨尺度特征。实验结果表明,明确利用跨尺度特征可以显著提高视觉 Transformer 在图像分类和其他下游任务上的性能。此外,还提出了一种更灵活的关系位置表示 DPB,使 CrossFormer 适用于动态分组大小。基于 CrossFormer,我们进一步分析了 CrossFormer 中的自注意模块和 MLP 的输出,并提出了渐进分组大小 (PGS) 和振幅冷却层 (ACL)。基于 PGS 和 ACL,CrossFormer++的性能优于 CrossFormer,并且在代表性视觉任务上优于所有现有的最先进的视觉 Transformer。此外,大量实验表明,CEL、PGS 和 ACL都是通用的,当插入进其他视觉 Transformer 时依旧可以带来持续的性能提升。

尽管有这些贡献,但提出的模块仍然存在一些局限性。具体来说,虽然我们证明了渐进式适当分组大小的重要性,但最终还是使用了经验设计的分组大小,缺乏探索自适应和自动化的分组大小策略。然后,为了防止梯度消失问题,ACL 层不能在视觉 Transformer 中大量使用。因此,我们还将探索如何在不切断残差连接的情况下降低视觉 Transformer 的振幅。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值