前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YoloV9改进策略:BackBone改进:PoolFormer赋能YoloV9,视觉检测性能显著提升的创新尝试

YoloV9改进策略:BackBone改进:PoolFormer赋能YoloV9,视觉检测性能显著提升的创新尝试

作者头像
AI浩
发布2024-10-22 13:22:35
1800
发布2024-10-22 13:22:35
举报
文章被收录于专栏:AI智韵

摘要

在深度学习的广阔领域中,目标检测作为计算机视觉的基石任务之一,始终吸引着研究者的广泛关注。近期,我们大胆尝试将前沿的PoolFormer主干网络引入经典的目标检测框架YoloV9中,这一创新性融合不仅为YoloV9注入了新的活力,更在检测精度与效率上实现了双重飞跃,成为目标检测领域的一股强劲新风。

PoolFormer:轻量高效的新星

PoolFormer,作为MetaFormer家族的一员,以其独特的池化注意力机制脱颖而出。该机制巧妙地将池化操作与注意力机制相结合,既保留了Transformer的强大全局建模能力,又通过池化减少了计算复杂度和内存消耗,实现了计算效率与性能的完美平衡。这一特性使得PoolFormer成为处理大规模视觉数据时的理想选择。

完整链接:

代码语言:javascript
复制
https://blog.csdn.net/m0_47867638/article/details/142490183

YoloV9:实时检测的佼佼者

YoloV9,作为Yolo系列检测器的最新成员,继承并优化了前代产品的优秀基因,以其出色的实时检测性能和较高的准确率赢得了业界的广泛认可。YoloV9在保持轻量级设计的同时,通过一系列优化策略提升了检测速度和精度,是实时目标检测任务中的佼佼者。

融合之美:PoolFormer+YoloV9

本次研究中,我们创新性地将PoolFormer作为主干网络引入YoloV9,通过替换原有的主干结构,实现了对图像特征的高效提取与表征。PoolFormer的池化注意力机制使得模型在捕获图像全局信息的同时,能够更好地处理局部细节,从而提升了检测精度。此外,得益于PoolFormer的轻量高效特性,改进后的YoloV9在保持原有实时检测速度的基础上,进一步降低了计算成本和内存占用,提升了整体模型的部署友好性。

显著优势

  1. 性能飞跃:PoolFormer的引入显著提升了YoloV9的检测精度,特别是在复杂场景和密集目标的情况下,展现出了更为优异的性能。
  2. 高效节能:在保证精度的同时,改进后的模型计算复杂度更低,运行效率更高,适用于对计算资源有严格要求的场景。
  3. 易于部署:轻量级的设计使得改进后的YoloV9更加便于在边缘设备和移动端等硬件上部署,拓宽了模型的应用范围。

PoolFormer与YoloV9的这次融合尝试,不仅展示了深度学习领域内的创新活力,更为目标检测任务提供了一种新的解决方案。我们相信,随着技术的不断进步和应用的持续深化,这一创新成果将在更多领域发挥重要作用,推动视觉检测技术的蓬勃发展。

论文翻译:《MetaFormer 实际上就是你所需要的视觉模型》

Transformer在计算机视觉任务中表现出了巨大的潜力。人们普遍认为,其基于注意力的令牌混合模块对其能力贡献最大。然而,最近的研究表明,Transformer中的基于注意力的模块可以被空间多层感知机(MLP)替代,且替换后的模型仍然表现良好。基于这一观察,我们假设Transformer的一般架构,而不是特定的令牌混合模块,对模型性能更为重要。为了验证这一点,我们故意用一个极其简单的空间池化操作符替换了Transformer中的注意力模块,以仅进行基本的令牌混合。令人惊讶的是,我们发现由此得到的模型,称为PoolFormer,在多个计算机视觉任务上取得了具有竞争力的性能。例如,在ImageNet-1K上,PoolFormer达到了82.1%的top-1准确率,与经过良好调优的类似Vision Transformer/MLP的基线模型DeiT-B/ResMLP-B24相比,准确率分别高出0.3%/1.1%,同时参数减少了35%/52%,乘积累加操作(MACs)减少了50%/62%。PoolFormer的有效性验证了我们的假设,并促使我们提出了“MetaFormer”的概念,这是一个从Transformer中抽象出来的一般架构,但不指定令牌混合模块。基于广泛的实验,我们认为MetaFormer是近期Transformer和类似MLP的模型在视觉任务上取得优异结果的关键因素。这项工作呼吁未来更多致力于改进MetaFormer的研究,而不是专注于令牌混合模块。此外,我们提出的PoolFormer可以作为未来MetaFormer架构设计的起点基线。

1. 引言

Transformer在计算机视觉领域引起了广泛的关注和取得了巨大的成功[3,8,44,55]。自从开创性的Vision Transformer(ViT)[17]工作将纯Transformer应用于图像分类任务以来,许多后续模型被开发出来,以进一步改进并在各种计算机视觉任务中实现有前景的性能[36,53,63]。

如图1(a)所示,Transformer编码器由两个组件组成。一个是用于在令牌之间混合信息的注意力模块,我们称之为令牌混合器。另一个组件包含其余模块,如通道MLP和残差连接。通过将注意力模块视为一个特定的令牌混合器,我们进一步将整体的Transformer抽象为一个一般架构MetaFormer,其中不指定令牌混合器,如图1(a)所示。

长期以来,Transformer的成功一直归因于基于注意力的令牌混合器[56]。基于这一普遍信念,开发了许多注意力模块的变体[13,22,57,68]来改进Vision Transformer。然而,最近的一项工作[51]完全用空间MLP作为令牌混合器替代了注意力模块,并发现由此得到的类似MLP的模型在图像分类基准测试中能够轻松达到有竞争力的性能。后续工作[26,35,52]通过数据高效训练和特定的MLP模块设计进一步改进了类似MLP的模型,逐渐缩小了与ViT的性能差距,并挑战了注意力作为令牌混合器的主导地位。

最近的一些方法[32,39,40,45]在MetaFormer架构内探索了其他类型的令牌混合器,并展示了令人鼓舞的性能。例如,[32]用傅里叶变换替换了注意力,仍然达到了原始Transformer约97%的准确率。综合这些结果,似乎只要模型采用MetaFormer作为一般架构,就可以获得有前景的结果。因此,我们假设与特定的令牌混合器相比,MetaFormer对于模型实现有竞争力的性能更为重要。

为了验证这一假设,我们应用了一个极其简单的非参数运算符——池化(pooling),作为令牌混合器来进行基本的令牌混合。令人惊讶的是,由此得出的模型,我们称之为PoolFormer,实现了有竞争力的性能,甚至一致地优于经过精心调整的Transformer和类似MLP的模型,包括DeiT[53]和ResMLP[52],如图1(b)所示。更具体地说,PoolFormer-M36在ImageNet-1K分类基准测试中达到了82.1%的top-1准确率,比经过精心调整的视觉Transformer/类似MLP的基线DeiTB/ResMLP-B24高出0.3%/1.1%的准确率,同时参数减少了35%/52%,MACs(乘加操作次数)减少了50%/62%。这些结果表明,即使使用了一个朴素的令牌混合器,MetaFormer仍然能够展现出有前景的性能。因此,我们认为MetaFormer是我们实现有竞争力性能的视觉模型的实际需求,它比特定的令牌混合器更为重要。请注意,这并不意味着令牌混合器不重要。MetaFormer仍然包含这个抽象组件。它意味着令牌混合器不限于特定类型,如注意力。

本文的贡献主要有两方面。首先,我们将Transformer抽象为一个一般架构MetaFormer,并通过实验证明,Transformer/类似MLP模型的成功在很大程度上归功于MetaFormer架构。具体来说,我们仅使用一个简单的非参数运算符——池化,作为MetaFormer的一个极其弱的令牌混合器,构建了一个简单的模型PoolFormer,并发现它仍然能够实现高度有竞争力的性能。我们希望我们的发现能够激发未来更多致力于改进MetaFormer而非专注于令牌混合器模块的研究。其次,我们在多个视觉任务上评估了提出的PoolFormer,包括图像分类[14]、目标检测[34]、实例分割[34]和语义分割[67],并发现与使用复杂设计的令牌混合器的最先进模型相比,PoolFormer实现了有竞争力的性能。PoolFormer可以很容易地作为未来MetaFormer架构设计的一个良好起始基线。

2. 相关工作

Transformer模型最初由[56]提出用于翻译任务,并随后迅速在各种NLP任务中流行起来。在语言预训练任务中,Transformer在大规模未标记文本语料库上进行训练,并取得了惊人的性能[2, 15]。受Transformer在NLP领域成功的启发,许多研究人员将注意力机制和Transformer应用于视觉任务[3,8,44,55]。值得注意的是,Chen等人引入了iGPT[6],其中Transformer被训练为自回归地预测图像上的像素点,以实现自监督学习。Dosovitskiy等人提出了带有硬性块嵌入作为输入的Vision Transformer(ViT)[17]。他们表明,在监督图像分类任务中,一个在大型专有数据集(包含3亿张图像的JFT数据集)上预训练的ViT可以取得优异的性能。DeiT[53]和T2T-ViT[63]进一步证明,仅在ImageNet-1K(约130万张图像)上从头开始预训练的ViT也可以实现有前景的性能。许多工作都集中在通过滑动窗口[36]、相对位置编码[61]、细化注意力图[68]或结合卷积[12,21,60]等方法来改进Transformer的令牌混合方法。除了基于注意力的令牌混合器外,[51,52]令人惊讶地发现,仅仅采用MLP作为令牌混合器仍然可以实现有竞争力的性能。这一发现挑战了基于注意力的令牌混合器的主导地位,并在研究界引发了关于哪种令牌混合器更好的热烈讨论[7,26]。然而,本工作的目标既不是参与这一争论,也不是设计新的复杂令牌混合器以达到最新的技术水平。相反,我们探讨了一个基本问题:Transformer及其变体的成功真正归因于什么?我们的答案是通用架构,即MetaFormer。我们仅利用池化作为基本的令牌混合器来探究MetaFormer的潜力。

同时,一些工作也有助于回答同样的问题。Dong等人证明,没有残差连接或MLP,输出会双指数收敛到一个秩一矩阵[16]。Raghu等人[43]比较了ViT和CNN之间的特征差异,发现自注意力允许早期收集全局信息,而残差连接极大地促进了特征从较低层到较高层的传播。Park等人[42]表明,多头自注意力通过使损失景观平坦化来提高准确性和泛化能力。不幸的是,他们并没有将Transformer抽象为一个通用架构,并从通用框架的角度进行研究。

3. 方法

3.1. MetaFormer

我们首先提出本工作的核心概念“MetaFormer”。如图1所示,MetaFormer是从Transformer[56]中抽象出来的一种通用架构,其中令牌混合器(token mixer)未具体指定,而其他组件则与Transformer保持一致。输入首先通过输入嵌入处理,如对于ViT的块嵌入[17],

其中表示嵌入令牌,序列长度为,嵌入维度为。

然后,嵌入令牌被输入到重复的MetaFormer块中,每个块包含两个残差子块。具体来说,第一个子块主要包含一个令牌混合器,用于令牌之间的信息传递,该子块可以表示为

其中表示归一化操作,如层归一化[1]或批归一化[28];表示主要用于混合令牌信息的模块。它在最近的视觉Transformer模型[17,63,68]中通过各种注意力机制实现,或在类MLP模型[51,52]中通过空间MLP实现。请注意,令牌混合器的主要功能是传播令牌信息,尽管一些令牌混合器(如注意力机制)也可以混合通道。

第二个子块主要由一个带有非线性激活的双层MLP组成,

其中和是可学习参数,MLP扩展比率为;是非线性激活函数,如GELU[25]或ReLU[41]。

MetaFormer的实例化。MetaFormer描述了一种通用架构,通过指定令牌混合器的具体设计,可以立即获得不同的模型。如图1(a)所示,如果令牌混合器被指定为注意力或空间MLP,则MetaFormer分别变为Transformer或类MLP模型。

3.2. PoolFormer

自从Transformer[56]被引入以来,许多工作都非常重视注意力机制,并专注于设计各种基于注意力的令牌混合器组件。相比之下,这些工作对通用架构(即MetaFormer)的关注较少。

在本工作中,我们认为这种MetaFormer通用架构在很大程度上促成了近期Transformer和类MLP模型的成功。为了证明这一点,我们故意采用了一个非常简单的操作——池化(pooling),作为令牌混合器。这个操作没有可学习的参数,它只是让每个令牌平均地聚合其附近令牌的特征。

由于本工作针对的是视觉任务,我们假设输入是以通道优先的数据格式,即。池化操作可以表示为:

其中是池化大小。由于MetaFormer块已经有一个残差连接,因此在等式(4)中加上了输入本身的减法。池化的PyTorch风格代码如算法1所示。

众所周知,自注意力和空间MLP的计算复杂度与要混合的令牌数量成二次关系。更糟糕的是,当处理更长的序列时,空间MLP会带来更多的参数。因此,自注意力和空间MLP通常只能处理数百个令牌。相比之下,池化需要的计算复杂度与序列长度成线性关系,且没有任何可学习的参数。因此,我们通过采用类似于传统CNN[24,31,49]和最近的分层Transformer变体[36,57]的分层结构来利用池化。图2展示了PoolFormer的总体框架。具体来说,PoolFormer有四个阶段,分别包含、、和个令牌,其中和分别表示输入图像的宽度和高度。有两种嵌入尺寸组合:1) 小型模型,其嵌入维度分别为64、128、320和512,对应于四个阶段;2) 中型模型,其嵌入维度分别为96、192、384和768。假设总共有个PoolFormer块,则第1、2、3和4阶段将分别包含、、和个PoolFormer块。MLP扩展比率设置为4。根据上述简单的模型缩放规则,我们获得了5种不同大小的PoolFormer模型,其超参数如表1所示。

4. 实验

4.1. 图像分类

设置。ImageNet-1K [14] 是计算机视觉领域使用最广泛的数据集之一。它包含约130万张训练图像和5万张验证图像,涵盖常见的1000个类别。我们的训练方案主要遵循[53]和[54]。具体来说,我们使用了MixUp [65]、CutMix [64]、CutOut [66]和RandAugment [11]进行数据增强。模型使用AdamW优化器 [29,37] 训练300个周期,权重衰减为0.05,峰值学习率 (\mathrm{lr}=1 e^{-3} \cdot \text{batch size}/1024)(本文中使用批量大小为4096,学习率为(4 e^{-3}))。预热周期为5,使用余弦调度来衰减学习率。标签平滑 [50] 设置为0.1。禁用了Dropout,但使用了随机深度 [27] 和LayerScale [54] 来帮助训练深层模型。我们修改了Layer Normalization [1],以便与原始Layer Normalization仅沿通道维度计算均值和方差相比,它还沿令牌和通道维度进行计算。修改后的Layer Normalization(MLN)可以通过在PyTorch中将组数指定为1并使用GroupNorm API来实现,适用于通道优先的数据格式。如第4.4节所示,PoolFormer倾向于使用MLN。超参数的更多详细信息见附录。我们的实现基于Timm代码库 [58],实验在TPU上运行。

结果。表2展示了PoolFormer在ImageNet分类任务上的性能。定性结果见附录。令人惊讶的是,尽管使用了简单的池化令牌混合器,PoolFormer仍然能够与卷积神经网络(CNN)和其他MetaFormer类模型相比,实现极具竞争力的性能。例如,PoolFormer-S24达到了超过80%的top-1准确率,而仅需要2100万个参数和3.4 G MACs。相比之下,成熟的ViT基线DeiT-S [53]的准确率略低,为79.8%,并且需要多35%的MACs(4.6 G)。为了获得相似的准确率,类似MLP的模型ResMLP-S24 [52]需要多43%的参数(3000万)和多76%的计算量(6.0 G),但仅达到79.4%的准确率。即使与更先进的ViT和MLP类变体 [35,57] 相比,PoolFormer仍表现出更好的性能。具体来说,金字塔Transformer PVTMedium使用4400万个参数和6.7 G MACs获得了81.2%的top-1准确率,而PoolFormer-S36在参数(3100万)和MACs(5.0 G)上分别比PVT-Medium少30%和25%,却达到了81.4%的准确率。

此外,与RSB-ResNet(“ResNet反击”)[59]相比,ResNet [24]使用改进的训练程序进行了相同的300个周期的训练,PoolFormer仍然表现更好。RSB-ResNet-34 [59]在约2200万个参数/3.7 G MACs下获得了75.5%的准确率,而PoolFormerS24可以获得80.3%的准确率。由于池化层的局部空间建模能力远不及神经卷积层,PoolFormer的竞争力只能归因于其通用架构MetaFormer。

池化操作使每个令牌均匀地聚合其附近令牌的特征,因此它是一个非常基本的令牌混合操作。然而,实验结果表明,即使使用这种极其简单的令牌混合器,MetaFormer仍然能够获得极具竞争力的性能。图3清楚地表明,PoolFormer在MACs和参数更少的情况下超越了其他模型。这一发现表明,在设计视觉模型时,我们真正需要的是通用架构MetaFormer。通过采用MetaFormer,可以确保派生的模型具有实现合理性能的潜力。

4.2. 目标检测和实例分割

设置。我们在具有挑战性的COCO基准数据集[34]上评估了PoolFormer,该数据集包括118K张训练图像(train2017)和5K张验证图像(val2017)。模型在训练集上进行训练,并报告在验证集上的性能。PoolFormer被用作两个标准检测器(即RetinaNet[33]和Mask R-CNN[23])的主干网络。我们使用在ImageNet上预训练的权重来初始化主干网络,并使用Xavier[20]初始化添加的层。训练采用AdamW[29,37],初始学习率为,批量大小为16。按照[23,33]中的设置,我们采用训练计划,即检测模型训练12个周期。训练图像被调整为短边800像素,长边不超过1333像素。在测试时,图像的短边也被调整为800像素。实现基于mmdetection[4]代码库,实验在8个NVIDIA A100 GPU上进行。

结果。在配备RetinaNet进行目标检测的情况下,基于PoolFormer的模型在表3中始终优于其可比较的ResNet对应模型。例如,PoolFormer-S12达到36.2 AP,大大超过了ResNet-18(31.8 AP)。在基于Mask R-CNN的目标检测和实例分割模型中,也观察到了类似的结果。例如,PoolFormer-S12在目标检测(bounding box AP 37.3 vs. 34.0)和实例分割(mask AP 34.6 vs. 31.2)方面都大大超过了ResNet-18。总体而言,对于COCO目标检测和实例分割任务,PoolFormer取得了具有竞争力的性能,始终优于ResNet对应模型。

4.3. 语义分割

设置。为了评估语义分割模型,我们选择了具有挑战性的场景解析基准ADE20K[67]。该数据集在训练集和验证集中分别包含20K和2K张图像,覆盖了150个细粒度语义类别。PoolFormer被评估为与Semantic FPN[30]相结合的主干网络。我们使用在ImageNet1K上训练的检查点来初始化主干网络,并使用Xavier[20]来初始化其他新添加的层。按照常规做法[5,30],我们以批量大小为16训练模型80K次迭代。为了加速训练,我们将批量大小加倍到32,并将迭代次数减少到40K。训练采用AdamW[29,37],初始学习率为,采用多项式衰减计划,衰减指数为0.9。图像被调整为进行训练,并在测试时调整为短边512像素。我们的实现基于mmsegmentation[10]代码库,实验在8个NVIDIA A100 GPU上进行。

结果。表4显示了使用FPN[30]的不同主干网络的ADE20K语义分割性能。基于PoolFormer的模型在性能上始终优于基于CNN的ResNet[24]和ResNeXt[62]以及基于Transformer的PVT作为主干网络的模型。例如,PoolFormer-12的mIoU达到37.1,分别比ResNet-18和PVT-Tiny高出4.3和1.5。

这些结果表明,尽管PoolFormer仅使用池化作为基本的信息传递方式,但作为主干网络,它在语义分割任务上仍能达到具有竞争力的性能。这进一步证明了MetaFormer的巨大潜力,并支持了我们的观点,即MetaFormer正是我们所需要的。

4.4. 消融研究

消融研究实验在ImageNet-1K数据集[14]上进行。表5报告了PoolFormer的消融研究结果。我们根据以下方面对消融研究进行讨论。

标记混合器。与Transformer相比,PoolFormer的主要变化是使用简单的池化作为标记混合器。我们首先通过直接用恒等映射替换池化来对这个操作进行消融研究。令人惊讶的是,使用恒等映射的MetaFormer仍然可以达到74.3%的top-1准确率,这支持了MetaFormer实际上是我们保证合理性能所需的关键组件的论点。

然后,我们用全局随机矩阵替换了每个块的池化操作。该矩阵使用区间[0,1)上的均匀分布随机值进行初始化,然后利用Softmax对每个行进行归一化。在随机初始化后,矩阵参数被冻结,并通过进行标记混合,其中是输入标记特征,标记长度为N,通道维度为C。由于第一阶段标记长度极长,随机矩阵的标记混合器为S12模型引入了额外的21M冻结参数。即使使用这种随机的标记混合方法,模型仍然可以达到75.8%的合理准确率,比恒等映射高出1.5%。这表明,即使使用随机标记混合,MetaFormer也能很好地工作,更不用说其他设计良好的标记混合器了。

进一步地,我们将池化替换为具有可学习参数的深度可分离卷积[9,38],用于空间建模。毫不奇怪,由于其更好的局部空间建模能力,所得到的模型在top-1准确率上仍然达到了78.1%的高度竞争力,比PoolFormer-S12高出0.9%。到目前为止,我们已经在MetaFormer中指定了多个标记混合器,并且所有得到的模型都保持了有前景的结果,很好地支持了MetaFormer是保证模型竞争力的关键组件的论点。由于池化的简单性,它主要被用作演示MetaFormer的工具。

池化大小。我们测试了池化大小对PoolFormer的影响。当池化大小为3、5和7时,我们观察到类似的性能。然而,当池化大小增加到9时,性能明显下降了0.5%。因此,我们为PoolFormer采用了默认的池化大小为3。

归一化。我们将层归一化[1]修改为改进的层归一化(MLN),与仅沿通道维度计算的原始层归一化相比,MLN沿标记和通道维度计算均值和方差。MLN的可学习仿射参数的形状与层归一化相同,即。通过在PyTorch中将组数设置为1,可以使用GroupNorm API来实现MLN。详细信息见附录。我们发现PoolFormer更倾向于MLN,其准确率比层归一化或批量归一化高出0.7%或0.8%。因此,MLN被设置为PoolFormer的默认值。当移除归一化时,模型无法很好地收敛,其性能急剧下降到只有46.1%。

激活函数。我们将GELU[25]更改为ReLU[41]或SiLU[18]。当采用ReLU作为激活函数时,观察到性能明显下降0.8%。对于SiLU,其性能几乎与GELU相同。因此,我们仍然采用GELU作为默认的激活函数。

其他组件。除了上述讨论的标记混合器和归一化之外,残差连接[24]和通道MLP[46,47]是MetaFormer中的另外两个重要组件。没有残差连接或通道MLP,模型无法收敛,并且仅达到0.1%/5.7%的准确率,证明了这些组件的不可或缺性。

混合阶段。在基于池化、注意力和空间MLP的标记混合器中,基于池化的混合器可以处理更长的输入序列,而注意力和空间MLP擅长捕获全局信息。因此,很自然地想到在底层阶段堆叠基于池化的MetaFormer来处理长序列,并在顶层阶段使用基于注意力或空间MLP的混合器,因为此时序列已经被大大缩短。因此,我们在PoolFormer的顶层一个或两个阶段中,将标记混合器池化替换为注意力或空间FC。从表5中可以看出,混合模型表现相当好。在底层两个阶段使用池化、在顶层两个阶段使用注意力的变体实现了高度竞争力的性能。它仅使用16.5M参数和2.5G MACs就达到了81.0%的准确率。相比之下,ResMLP-B24需要的参数(116M)和的MACs(23.0G)才能达到相同的准确率。这些结果表明,将池化与其他标记混合器结合用于MetaFormer可能是进一步提高性能的一个有前途的方向。

5. 结论与未来工作

在本文中,我们将Transformer中的注意力机制抽象为一个标记混合器,并将整个Transformer视为一种通用架构,称为MetaFormer,其中标记混合器并未具体指定。我们指出,与其关注特定的标记混合器,MetaFormer才是我们实现合理性能所真正需要的。为了验证这一点,我们故意将MetaFormer的标记混合器指定为极其简单的池化操作。结果发现,由此得出的PoolFormer模型能在不同的视觉任务上取得具有竞争力的性能,这很好地支持了“MetaFormer正是视觉任务所需”的观点。

未来,我们将在更多不同的学习设置下进一步评估PoolFormer,如自监督学习和迁移学习。此外,探索PoolFormer是否仍能在NLP任务上发挥作用,以进一步支持“MetaFormer正是你所需”的论断,这将是一个有趣的研究方向。我们希望这项工作能激发更多未来研究,专注于改进基础架构MetaFormer,而不是过分关注标记混合器模块。

致谢

作者感谢Sea AI Lab的Quanhong Fu在本文技术写作方面的帮助。Weihao Yu感谢TPU Research Cloud (TRC)计划和Google Cloud研究积分对部分计算资源的支持。本项目部分由新加坡国立大学教师研究委员会资助(WBS: A-0009440-00-00)。Shuicheng Yan和Xinchao Wang是本文的通讯作者。

附录

A. ImageNet1K上的详细超参数

PoolFormer。在ImageNet-1K分类基准测试中,我们使用表6中所示的超参数来训练本文中的模型。根据表6中批量大小和学习率之间的关系,我们将批量大小设置为4096,学习率设置为。对于随机深度,我们遵循原始论文[27],将底层块的丢弃层概率从0.0线性增加到顶层块的。

混合模型。我们使用表6中的超参数来训练所有模型,除了那些使用池化和注意力作为标记混合器的混合模型。对于这些混合模型,我们发现将批量大小设置为1024,学习率设置为,并使用Layer Normalization[1]进行归一化时,它们的性能要好得多。

B. 更长的训练周期

在本文中,PoolFormer模型在ImageNet-1K上默认训练了300个周期。对于DeiT[53]/ResMLP[52],观察到它们在400/800个周期后性能趋于饱和。因此,我们也对PoolFormer-S12进行了更长时间的训练实验,结果如表7所示。我们观察到PoolFormer-S12在大约2000个周期后性能趋于饱和,且Top-1准确率提高了1.8%。然而,为了与其他ViT/MLP类模型进行公平比较,我们仍默认训练PoolFormer 300个周期。

C. 定性结果

我们使用Grad-CAM[48]来可视化在ImageNet-1K上训练的不同模型的结果。我们发现,虽然ResMLP[52]也激活了一些不相关的部分,但所有模型都能定位到语义对象。在图中,DeiT[53]和ResMLP[52]的激活部分更为分散,而RSB-ResNet[24,59]和PoolFormer的激活部分更为集中。

D. Layer Normalization与Modified Layer Normalization的比较

我们将Layer Normalization[1]修改为Modified Layer Normalization(MLN)。与原始Layer Normalization仅沿通道维度计算均值和方差不同,MLN沿空间和通道维度计算。MLN的可学习仿射参数的形状与Layer Normalization相同,即。在PyTorch中,可以通过将组数设置为1来使用GroupNorm API实现MLN。比较细节如算法2所示。

E. PyTorch代码

我们在算法3中提供了与PoolFormer块中使用的模块相关的PyTorch风格代码。算法4进一步展示了使用这些模块构建的PoolFormer块。

测试结果

代码语言:javascript
复制
yolov9-c summary: 591 layers, 53489824 parameters, 0 gradients, 221.8 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 15/15 00:03
                   all        230       1412      0.973      0.983      0.992      0.754
                   c17        230        131      0.994          1      0.995      0.843
                    c5        230         68      0.982      0.971      0.993      0.851
            helicopter        230         43      0.965      0.977      0.977      0.656
                  c130        230         85      0.991      0.988      0.995      0.709
                   f16        230         57      0.982       0.94      0.986      0.702
                    b2        230          2      0.905          1      0.995      0.748
                 other        230         86          1      0.915      0.983      0.579
                   b52        230         70          1      0.966      0.988      0.848
                  kc10        230         62      0.997      0.984      0.989      0.858
               command        230         40      0.995          1      0.995      0.843
                   f15        230        123          1       0.96      0.995      0.682
                 kc135        230         91      0.988      0.989       0.99      0.707
                   a10        230         27          1      0.962      0.988      0.537
                    b1        230         20      0.998          1      0.995      0.761
                   aew        230         25      0.952          1      0.995      0.789
                   f22        230         17          1      0.954      0.995       0.74
                    p3        230        105          1          1      0.995      0.801
                    p8        230          1      0.854          1      0.995      0.796
                   f35        230         32          1      0.942      0.995      0.561
                   f18        230        125      0.989      0.992       0.99      0.828
                   v22        230         41      0.995          1      0.995      0.709
                 su-27        230         31      0.991          1      0.995       0.84
                 il-38        230         27      0.992          1      0.995       0.88
                tu-134        230          1      0.861          1      0.995      0.796
                 su-33        230          2      0.926          1      0.995      0.597
                 an-70        230          2      0.921          1      0.995      0.848
                 tu-22        230         98      0.996          1      0.995      0.852

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI智韵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 论文翻译:《MetaFormer 实际上就是你所需要的视觉模型》
  • 1. 引言
  • 2. 相关工作
  • 3. 方法
    • 3.1. MetaFormer
      • 3.2. PoolFormer
      • 4. 实验
        • 4.1. 图像分类
          • 4.2. 目标检测和实例分割
            • 4.3. 语义分割
              • 4.4. 消融研究
              • 5. 结论与未来工作
              • 致谢
              • 附录
                • A. ImageNet1K上的详细超参数
                  • B. 更长的训练周期
                    • C. 定性结果
                      • D. Layer Normalization与Modified Layer Normalization的比较
                      • 测试结果
                      相关产品与服务
                      GPU 云服务器
                      GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档