ImageNet新记录!MetaFormer开源(颜水成团队最新)

作者 | happy  编辑 | 极市平台

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【transformer综述】获取2022最新ViT综述论文!

导读

 

原班人马对MetaFormer进行了进一步的探索:依托MetaFormer引入了最基本的Mixer,提出了4个基线模型且都取得了相当不错的效果。

0792677066abb99dd9e02481e76c5fc9.jpeg

MetaFormer论文链接:https://arxiv.org/abs/2210.13452

MetaFormer:https://github.com/sail-sg/metaformer

PoolFormer论文链接:https://arxiv.org/abs/2111.11418

PoolFormer:https://github.com/sail-sg/poolformer

Transformer在CV领域的成功到底是什么呢?最近两年来各种Transformer与MLP架构设计意义真的有那么大呢?CV老将“水哥”颜水成团队于2021年11月份提出的MetaFormer之PoolFormer可能提供了一个非常有价值的参考。

近日,原班人马对MetaFormer进行了进一步的探索:依托MetaFormer引入了最基本的Mixer,提出了几个基线模型并取得了喜人的性能,得出以下几个发现:

  • MetaFormer确保了模型的性能下限:当采用Identity作为Mixer时(IdentityFormer)时,取得了>80%的精度;

  • MetaFormer对任意Mixer均表现良好:甚至采用随机矩阵进行Mixer(RandFormer)时,模型仍可取得>81%的精度;

  • MetaFormer可以毫不费力的达成SOTA指标:(1) 当采用深度分离卷积进行Mixer(ConvFormer,可视作纯CNN方案),具有比ConvNeXt更佳的性能;(2) 当在bottom阶段使用深度分离卷积,在top阶段使用普通自注意力时(CAFormer),模型取得了新的SOTA指标85.5%(尺寸测试,无需额外数据或蒸馏)。

除了上述发现外,作者还发现了一种新的激活函数StarReLU:相比GELU,其计算量可减少71%,同时性能更高。具体来讲,StarReLU是SquaredReLU的变种,它被用于消除分布偏移(distribution shift)。

92b8d08ae01c538329a36282f0715a51.jpeg

MetaFormer

MetaFormer脱胎于Transformer的一种广义架构,它并未指定Token Mixer的实现方式。具体来说,输入首先转为为特征序列(即token序列,笔者往往将其称之为词):

然后,这些特征序列将送入到MetaFormerBlock中进行处理:

当指定TokenMixer的实现方式后,MetaFormer将演变为特定的模型。正式介绍之前,先来"剧透"一下本文所提到的IdentityFormer、RandomFormer、ConvFormer、CAFormer架构体系。

ff295f485d04a8161edcd61c5f1b583a.jpeg

Technique to improve MetaFormer

本文并未引入复杂的Mixer技术,相反,作者提出了一种新的激活函数StarReLU与两种改进以改善MetaFormer性能。

StarReLU

ReLU与GELU分别表示如下:

从计算复杂度角度来看,对于每个单元来讲,ReLU为1FLOPs,GELU则为14FLOPs。为简化GELU,有研究发现可以通过ReLU进行替换,得到如下表示:

相比GELU,SquaredReLU每个单元计算量为2FLOPs。尽管如此,作者发现:对某些分类模型而言,SquaredReLU的性能不如GELU。作者认为:该性能退化源自分布偏移。假设输入服从正太分布,此时有:

为消除分布偏移作者提出了如下StarReLU方案:

然而,上述关于输入的假设过强,为使得该激活函数可以适用于不同条件(不同模型、不同初始化)。作者进一步将其重写如下:

相比GELU,StarReLU的计算复杂度仅为4FLOPs,同时可以取得更高的性能。

Other modifications

Scaling branch output 为提升Transformer模型深度,Hugo等人提出了LayerScale

类似地,也有学者提出ResScale对残差分支添加scaling参数:

上述两者的合并则得到了BranchScale:

作者发现:ResScale表现最佳。因此,MetaFormer默认选择ResScale

Disabling Biases 在MetaFormer模块中,移除了全连接层的偏置参数,该操作不会降低性能,甚至对个别模型还可以轻微提升。为简单起见,MetaFormer默认禁用biases

IdentityFomer and RandFormer

延续PoolFormer理念,我们尝试将TokenMixer进行实例化以进一步探索MetaFormer的性能。

首先,作者考虑了Identity Mapping:

当然,Identity Mapping并未进行任何Mixer。

然后,作者引入另一种Mixer操作:Global Random Mixing:

注:在随机初始化后冻结。下图给出了两者的实现参考Code。

9c52f94fa0675a37a0fc834f4126fd47.jpeg

在模型构建方面,作者仍延续了PoolFormer的4阶段方式构建了不同大小的模型,详见下表。需要注意的是:考虑到RandomMixing带来的额外参数量与计算消耗,RandFormer在前两个阶段使用IdentityMapping,仅在后两个阶段使用RandomMixing。此外,为更公平的与Poolformer对比, 作者将前面提到的技术用于PoolFormer得到了PoolFormerV2.

b39f49a1617302aa9d7195eda6828e4c.jpeg

ConvFormer and CAFormer

前面的方案采用最基本的Mixer方式探索了模型的性能下限。接下来,作者采用常见的Mixer方式以探索模型的上线。

首先登场的是深度分离卷积,作者延续了MobileNetV2的逆分离卷积模块设计,所得模型称之为ConvFormer:

参考ConvNeXt,作者将深度卷积核尺寸设置为,扩展比例设为2,参考实现代码如下。

45be2f038d12186f68bdc75841e5d424.jpeg

除了卷积外,另一种常见的Mixer为Transformer中的自注意力,它具有更好的全局建模能力,但是会导致较高的计算复杂度。受启发于CoAtNet,作者在前两个阶段使用卷积进行Mixer,后两个阶段使用自注意力,进而构建了CAFormer。关于ConvFormer与CAFormer的参数配置可参考下表。

e02055dd0a60879a41a7f625bfd89001.jpeg

本文实验

ee4f021bbb6ff2f0683cfe41c802264c.jpeg

上表给出了本文几种方案的性能对比,从中可以看到:

  • 哪怕采用最简单的Identity,IdentityFormer仍可表现很好。在小模型方面,IdentityFormer-S12/S24分别比RSB-ResNet-18/34高出4.0%/2.7%;进一步扩大后,IdentityFormer-M48取得了80.4%的指标,超过了RSB-ResNet-50的79.8%。IdentityFormer表征了MetaFormer的性能下限,也就是说,当MetaFormer基础上进一步探索时,IdentityFormer-M48大小的模型性能不会低于80%!

  • 在IdentityFormer的后两个阶段引入随机混合后,RandFormer可以进一步提升性能。小尺寸模型RandFormer-S12/M48分别取得了76.6%/81.4%;中尺寸模型RandFormer-M36取得了81.2%,与RSB-ResNet101相当;大尺寸模型RandFormer-M 48取得了81.4%。这说明:MetaFormer对任意TokenMixer机制均表现很好,验证了其统一性。

  • 相比PoolFormerV2,RandomFormer的性能差异可能源自pooling操作引入的局部归纳偏置。

0c7f91a78c92016566fa6f891577ea70.jpeg

上表给出了ConvFormer、CAFormer与业界其他方案的性能对比,可以看到:

  • ConvFormer(实际上是一种纯CNN架构)具有比ConvNeXt更优的性能。ConvFormer-B36比ConvNeXt-B高出0.5%,且仅需51%参数量,66%计算量。与此同时,ConvFormer比Swin、CoAtNet等方案性能更高,参数量与计算量更少。

  • 相比ConvFormer,CAFormer取得了更高的性能。值得一提的是,CAFormer在ImageNet上取得了新的SOTA记录85.5%(常规监督训练,224尺寸,无额外数据或蒸馏) 。

ecec3207866f59d18ab255f3c49b8600.jpeg

此外,当引入ImageNet21K预训练后,ConvFormer-B36与CAFormer-B36可以进一步提升到87.0%、87.4%(相比ConvNeXt-L,ConvFormer-B36指标高出0.2%且参数量少49%,计算量少34%);当测试分辨率提升到384后,指标还可以进一步提升到87.6%、88.1% 。

仅仅使用上述"old-fashioned"Mixer机制,MetaFormer已取得了惊人的性能,CAFormer甚至打下一个新记录。这意味着:MetaFormer具有取得SOTA性能的潜力。当采用更优的Mixer机制或更好的训练策略后,MetaFormer的性能有可能进一步取得新的记录。

13662d89ee46153e8ba546dd7f2d4109.png

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

e6f034dcfe139f6b3bdf0c22401ce5f0.jpeg

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值