ICCV 2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花?
作者 | AFzzz
1 文章介绍
近年来,基于Transformer和CNN的视觉基础模型取得巨大成功。有许多研究进一步地将Transformer结构与CNN架构结合,设计出了更为高效的hybrid CNN-Transformer Network,但它们的精度仍然不尽如意。本文介绍了一种新的基础模型SMT(Scale-Aware Modulation Transformer),它以更低的参数量(params)和计算量(flops)取得了大幅性能的提升。
不同于其他CNN-Transformer结合的方案,SMT基于卷积计算设计了一个新颖的轻量尺度感知调制单元Scale-Aware Modulation(SAM) ,它能够捕捉多尺度特征的同时扩展感受野,进一步增强卷积调制能力。此外,SMT提出了一种进化混合网络Evolutionary Hybrid Network(EHN) ,它能够有效地模拟网络从浅层变深时捕捉依赖关系从局部到全局的转变,从而实现更优异的性能。在ImagNet、COCO以及ADE20k等任务上都验证了该模型的有效性。值得一提的是,SMT在ImageNet-22k上预训练后以仅仅80.5M的参数量在ImageNet-1k上达到了88.1%的精度。
2 出发点
-
对于多层级的网络架构来说,由于浅层特征图分辨率大的原因,自注意力的二次复杂性会带来严重的计算负担。因此,如何为浅层stage设计高效的attention计算机制是十分重要的。
回顾以往的大部分Hierarchical(Multi-scale)的模型,以Swin为代表,以及后续的CvT,PvT,Shunted Transformer等等,它们的主要贡献点都是设计出了一种更高效的attention计算单元,比如local attention,lightweight convolution attention等等。
-
ViT论文中提出,Transformer模型的注意力捕捉依赖关系为,浅层捕捉local信息,深层捕捉global信息,而这种特性在多层级网络架构上也会出现。
作者认为,模拟并建模这种捕捉依赖过渡是重要且有效的。
3 SMT框架算法
SMT的总体框架如图1所示。整个网络包括四个阶段,每个阶段的下采样率为{4, 8, 16, 32}。我们并非和FocalNet一样构建一个无注意力机制的网络,而是首先在前两个阶段采用文章提出的尺度感知调制(SAM),然后在倒数第二个阶段中依次堆叠一个SAM Block和一个多头自注意力(MSA) Block,以建模从捕捉局部到全局依赖关系的转变。对于最后一个阶段,我们仅使用MSA块来有效地捕捉长距离依赖关系。
3.1 Scale-Aware Modulation模块
- 多头混合卷积MHMC(Multi-Head Mixed Convolution)
在MHMC中,我们引入了具有不同卷积核大小的多个卷积层,使其能够捕捉多个尺度上的空间特征。当我们将N head设置得较大时,能够引入大卷积核来扩大感受野,增强其建模长距离依赖关系的能力。如图2(b)所示,MHMC将输入通道分为N个头,对每个头应用独立的深度可分离卷积。我们将卷积核大小初始化为3x3,并逐头递增。这种方法使得我们能够人为的通过调整头的数量来调节感受野的范围和多粒度信息。
- 多尺度感知聚合SAA(Scale-Aware Aggregation)
为了增强MHMC中多个头之间的信息交互,我们引入了一种新的轻量化聚合模块,称为多尺度感知聚合(SAA),如图2(c)所示。SAA首先对MHMC生成的不同粒度的特征进行重组和分组。具体而言,我们从每个头中选择一个通道来构建一个组,然后在每个组内进行up-down的特征融合,从而增强多尺度特征的多样性。值得注意的是,Num_group = C / N_head,C为输入通道数,这意味着组的数量与MHMC中头的数量成反比,每个组里只包含N个特征通道。随后,我们使用1x1卷积进行组内-组间模式的跨组信息融合,从而实现轻量且高效的聚合效果。
如图3所示,我们可视化出SAA前和SAA后的特征图,可以观察到SAA模块加强了语义相关的低频信号,并准确地聚焦于目标物体最重要的部分。与聚合之前的卷积映射相比,SAA模块展示了更好的能力来捕捉和表示视觉识别任务的关键特征。
- 尺度感知调制器SAM(Scale-Aware Modulation)
如图2(a)所示,在使用MHMC捕捉多尺度空间特征并通过SAA进行聚合后,我们获得一个输出特征图,我们称之为调制器Modulator。然后,我们使用标量乘积采用这个调制器来调制value V。
3.2 混合进化网络Evolutionary Hybrid Network
在本节中,我们提出根据网络的捕捉范围依赖关系的变化模式重新分配适当的计算模块,以实现更好的计算性能。我们提出了两种混合堆叠策略用于倒数第二个阶段,(i) 依次堆叠一个SAM块和一个MSA块。(ii) 在stage的前半部分使用SAM块,在后半部分使用MSA块。为了评估这两种混合堆叠策略的有效性,我们在ImageNet-1K上评估了它们的top-1准确率。可以看到,(i)混合堆叠策略更加有效。
不仅如此,我们还计算了倒数第二个阶段中MSA块的相对感受野。值得注意的是,浅层layer的相对感受野开始阶段有一个轻微的下降趋势。作者认为这种下降可以归因于SAM对早期MSA Block的影响,我们将这种现象称为计算单元磨合适应期。而随着网络的加深,我们可以看到感受野呈平稳上升的趋势,这表明我们提出的进化混合网络有效地模拟了从局部到全局依赖捕捉的过渡。
4 实验
4.1 分类实验
上表给出了不同模型大小在ImageNet-1k上的性能对比,从中可以看到:
- SMT在tiny、small和base规模上都以更低的参数量和计算量达到了更优的性能;
- SMT-B在仅仅32.0M和7.7GFlops下就取得了84.3%的精度,甚至比大多数80M和15G以上的模型更好。
- 当采用ImageNet-22k与大尺度数据预训练之后,SMT-L精度提升到87.1%和88.1%,优于现有的CNN和Transformer模型。特别地,SMT-L用4x低的参数量和3x低的计算量就超过了InternImage-XL(88.0%)
- 这些结果表明SMT是一个scalability能力很强的模型,在各种尺度参数下都具有优异的性能。
4.2 目标检测实验
上述三个表格是在多个检测框架上的性能对比实验,可以看到
- 在多个检测框架上,包括Mask R-CNN、Cascade R-CNN、RetinaNet、Sparse R-CNN、ATSS和DINO中,SMT都获得了更优的性能。
- 对于Mask R-CNN,在1x和3x中,SMT-B分别比Swin-B高2.1mAP和1.3mAP,同时参数量只有Swin-B的一半。
- 对于DINO检测框架,SMT-S仅仅用39.9M的参数量就达到了54.0mAP,超越了现有同等规模大小的其他模型。
4.3 分割实验
上表给出了ADE20K分割任务上的性能对比,从中可以看到当我们使用uperNet框架时,SMT在不同尺度下拥有更低的参数量和计算量,同时精度也优于其他模型。
4.4 消融实验
5 总结与展望
总的来说,在视觉基础模型backbone的探索路程中,我们有着对未来的展望:
- 以视觉Transformer为例,除了在自监督学习等预训练中依旧用着ViT这种plain Vision Transformer,大部分视觉基础模型都以Swin和PvT这种Hierarchical架构为基础设计范式。而这种范式需要解决的问题就是如何在浅层stage中设计更高效的注意力机制计算来解决自注意力的二次复杂性带来的计算负担。是否有更优秀的计算模块能够代替SAM或者是MSA是我们后续需要继续探索的路。
- 2023年,更多的视觉Transformer模型和CNN基础大模型被提出,它们在各大榜单上你追我赶,可以发现CV领域中CNN依旧有着一席之地。如果Transformer不能够在CV领域完全替代cnn神经网络,那么将两者的优势结合起来是否是更好的选择?因此,我们希望SMT可以作为Hybrid CNN-Transformer方向新的baseline,推动该领域的进步和发展。
● Arxiv地址:
https://arxiv.org/abs/2307.08579
● Github地址:
https://github.com/AFeng-x/SMT
● modelscope地址:
https://modelscope.cn/models/PAI/SMT/summary
● 论文链接:
https://arxiv.org/pdf/2307.08579.pdf
● 代码链接:
https://github.com/AFeng-x/SMT
Reference
[1] Scale-Aware Modulation Meet Transformer[https://arxiv.org/abs/2307.08579]
[2] An image is worth 16x16 words transformers for image recognition at scale [https://arxiv.org/pdf/2010.11929.pdf]
[2] Focal Modulation Network [https://arxiv.org/abs/2203.11926]
[3] MixConv: Mixed Depthwise Convolutional Kernels [https://arxiv.org/abs/1907.09595]
[4] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows [https://arxiv.org/abs/2103.14030]
[5] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions [https://arxiv.org/abs/2211.05778]
论文信息
● 论文标题:
Scale-Aware Modulation Meet Transformer
● 论文作者:
林炜丰、吴梓恒、陈佳禹、黄俊、金连文
● 论文PDF链接:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java21上手体验-分代ZGC和虚拟线程 | 京东云技术团队
一、导语 几天前Oracle刚刚发布了Java21, 由于这是最新的LTS版本,引起了大家的关注。 我也第一时间在个人项目中进行了升级体验。 一探究竟,和大家分享。 二、Java21更新内容介绍 官方release公告: https://jdk.java.net/21/release-notes 开源中国介绍: https://my.oschina.net/waylau/blog/10112170 新特性一览: JEP 431:序列集合 JEP 439:分代 ZGC JEP 440:记录模式 JEP 441:switch 模式匹配 JEP 444:虚拟线程 JEP 449:弃用 Windows 32 位 x86 移植 JEP 451:准备禁止动态加载代理 JEP 452:密钥封装机制 API JEP 430:字符串模板(预览) JEP 442:外部函数和内存 API(第三次预览) JEP 443:未命名模式和变量(预览) JEP 445:未命名类和实例主方法(预览) JEP 446:作用域值(预览) JEP 453:结构化并发(预览) JEP 448:Vector API(孵化器第六阶...
- 下一篇
云原生周刊:Docker 推出 Docker Debug | 2023.10.9
开源项目推荐 SchemaHero SchemaHero 是一个 Kubernetes Operator,用于各种数据库的声明式架构管理。SchemaHero 有以下目标: 数据库表模式可以表示为可以部署到集群的 Kubernetes 资源。 可以编辑数据库模式并将其部署到集群。SchemaHero 将计算所需的更改(ALTER TABLE 语句)并应用它。 SchemaHero 可以管理部署到集群或集群外部的数据库(RDS、Google CloudSQL 等)。 copacetic copacetic 是一款基于 buildkit 并用 Go 编写的 CLI 工具,可用于根据 Trivy 等流行工具的漏洞扫描结果直接修补容器镜像。 Kueue Kueue 是一套用于作业队列的 API 和控制器。它是作业级管理器,可决定何时允许作业启动(如创建 pod),何时停止作业(如删除活动 pod)。 Spyglass Spyglass 是一款开源工具,允许用户在一个集中位置监控 Kubernetes 集群指标并跟踪集群部署成本。 文章推荐 多租户 2400 小时的生存之道: 我现在知道了什么 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境