ICCV 2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花?

news2024/9/29 15:34:38

作者 | 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©所示。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链接:

https://arxiv.org/pdf/2307.08579.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1073225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管…

基于ssm的少儿编程网上报名系统+vue【附PPT|万字文档(LW)和搭建文档】

主要功能 前台登录: 注册用户:用户名、密码、姓名、联系电话 用户: ①首页、课程信息推荐、课程资讯、查看更多 ②课程详情、点我收藏、购买、评论、留言反馈 ③个人中心、修改用户名、密码、姓名、性别、头像、手机号、我的收藏等 后台登录…

Pycharm调试时,到达断点后,一直connected

Pycharm调试时,到达断点后,一直connected,画了一上午时间,最后发现是因为我dataloader使用的是多进程, 选中Gevent兼容后解决。

九方云学堂学员告诉你学习可以掌握哪些内容

在当前的股票市场环境下,存在许多不确定性因素和风险。虽然不少新兴行业的诞生,为投资者带来了更多的投资机会,但是风险同样会与日俱增。在这种情况下,作为一名投资者,想要在不断变化的市场环境中,提高投资胜率,做到复利,完整、科学的投资策略,成为了越来越多投资者关注的焦点。…

软信天成:物料主数据的标准管理

在制造企业加工生产的过程中,物料管理尤为重要。严格的原料管控将直接影响产品的品质、工作效率以及制造成本。相较于其他主数据,物料主数据是一种最复杂、数据量最大也是最关键的主数据,其准确性和规范程度将直接决定系统是否顺畅运行。 因此…

Python教程:方法重载

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 方法重载 方法重载在Python中起着关键作用。 方法有时接受零参数,有时接受一个或多个参数。 当我们以不同的方式调用同一个方法时,这就被称为方法…

Windows mysql 5.7 msi版、mysql 8.0 msi版下载、安装教程,附详细图文

大家好,今天为大家带来的是 mysql 5.7 msi , MySql 8.0 版本的下载、安装教程,附详细图文。本文以 5.7 版本为例子,帮助大家讲解。希望对大家有所帮助 文章首发地址 一、下载地址 这里提供一下 CSDN 镜像下载地址,有…

ESP-07S进行TCP 通信测试

一,TCP Server 为 AP 模式,TCP Client 为 Station 模式。 这里电脑pc作为TCP Server,ESP-07S作为TCP Client 。 二,电脑端配置。 1,开启热点。 2,转到“设置”,编辑热点信息。 3,关闭…

ROS2 Galactic安装

ROS2 Galactic安装 ROS2 Galactic安装字体编码检查添加ros2仓库到本机安装ROS2系统测试ROS卸载ros2 ROS2 Galactic安装 字体编码检查 安装需要设置本级为UTF-8字体,使用如下指令检查: locale # check for UTF-8sudo apt update && sudo apt …

【C++】空间配置器 allocator:原理及底层解析

文章目录 空间配置器一级空间配置器二级空间配置器1. 内存池2. SGI-STL中二级空间配置器设计 - - 哈希桶3. 二级空间配置器的空间申请 空间配置器的默认选择空间配置器的在封装:添加了数据类型大小空间配置器对象的构造与析构 容器中的 allocator 空间配置器 提到空…

移动办公管理系统低代码解决方案

随着企业数字化转型的加速,人工智能、云计算、大数据等技术应用的愈加广泛,数字化的办公系统在企事业内部编织起一套高效、畅通的信息互联体系,极大推动了企事业单位生产力的发展。 但与此同时,由于需要依赖固定的办公场所和固定…

最值得收藏的顶级专业数据恢复软件列表 [持续更新]

互联网上充斥着很多的数据恢复软件,每个软件都声称自己是最好的。现在该同意谁的观点呢?我们创建了 2023 年顶级专业数据恢复软件列表。下载顶级一流数据恢复专业软件的免费试用版,我们强烈建议用户评估演示版本,然后选择付费版本…

Python 樱花

Python实现樱花 效果图 (源码在下面) 源码: from turtle import * from random import * from math import *def tree(n, l):pd() # 下笔# 阴影效果t cos(radians(heading() 45)) / 8 0.25pencolor(t, t, t)pensize(n / 3)forward(l…

面试经典 150 题 1 —(数组 / 字符串)— 88. 合并两个有序数组

88. 合并两个有序数组 方法一&#xff1a; class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {for(int i 0; i<n;i){nums1[mi] nums2[i];}sort(nums1.begin(),nums1.end());} };方法二&#xff1a; clas…

CRMEB 标准版商城系统新增主题风格颜色【超级完整教程】

一、后台 1.新增主题图片 assets/images/brown.jpg和assets/images/brownsign.png 2.修改admin/src/pages/setting/themeStyle/index.vue 3.修改admin/src/pages/marketing/sign/index.vue 4.修改admin/src/pages/system/group/visualization.vue &#xff08;第三步和第四步…

Rust专属开发工具——RustRover发布

JetBrains最近推出的Rust集成开发工具——RustRover已经发布&#xff0c;官方网站&#xff1a;RustRover: Rust IDE by JetBrains JetBrains出品过很受欢迎的开发工具IntelliJ IDEA、PyCharm等。 RustRover优势 Rust集成环境&#xff0c;根据向导可自动下载安装rust开发环境提…

企业APP混乱繁杂?WorkPlus助您实现统一入口管理

在现代企业中&#xff0c;随着移动应用的不断发展和应用&#xff0c;公司内部往往存在着各种各样的APP。这些APP不仅需要单独下载和安装&#xff0c;而且管理起来也显得非常繁琐。为了解决这一问题&#xff0c;公司统一APP入口逐渐成为了企业的追求。而在众多选择中&#xff0c…

充电保护芯片TP4054国产替代完全兼容DP4054DP4054H 锂电充电芯片

■产品概述 DP4054H是-款完整的采用恒定电流/恒定电压单节锂离子电池充电管理芯片。其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件&#xff0c;DP4054H可 以适合USB电源和适配器电源工作。 由于采用了内部PMOSFET架构&#xff0c;加上防倒充电路,所以不需要外…

一文图解Golang管道Channel

在 Go 语言发布之前&#xff0c;很少有语言从底层为并发原语提供支持。大多数语言还是支持共享和内存访问同步到 CSP 的消息传递方法。Go 语言算是最早将 CSP 原则纳入其核心的语言之一。内存访问同步的方式并不是不好&#xff0c;只是在高并发的场景下有时候难以正确的使用&am…

CTF | CTF比赛题解分享

本文由掌控安全学院 - sbhglqy 投稿 前言&#xff1a;由于此次比赛的题目较多&#xff0c;所以这是这个比赛的第一篇wp&#xff0c;共20题&#xff0c;先记录一下&#xff0c;防止忘记。里面有些题目是新手题较为简单&#xff0c;但也有许多有意思的题目&#xff0c;真的是做的…