【ICCV2023】Scale-Aware Modulation Meet Transformer

Scale-Aware Modulation Meet Transformer, ICCV2023

论文:https://arxiv.org/abs/2307.08579

代码:https://github.com/AFeng-x/SMT

解读:ICCV2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花? - 知乎 (zhihu.com)

摘要

本文提出了一种新的视觉变换器——尺度感知调制变换器(Scale-Aware Modulation Transformer, SMT),通过将CNN和ViT相结合,可以有效地处理各种下游任务。SMT中提出的尺度感知调制(SAM)包括两个主要的新颖设计:

  • 多头混合卷积(MHMC)模块,该模块可以捕捉多尺度特征并扩展感受野。
  • 规模感知聚合(SAA)模块,该模块重量轻但有效,能够实现不同头部的信息融合。通过利用这两个模块,卷积调制得到了进一步增强。

此外,本文提出一种进化混合网络(Evolutionary Hybrid Network,EHN),它可以有效地模拟随着网络变得更深而从捕获局部依赖性到全局依赖性的转变,从而获得更优的性能。在ImagNet、COCO以及ADE20k等任务上都验证了该模型的有效性。SMT在ImageNet-22k上预训练后以仅仅80.5M的参数量在ImageNet-1k上达到了88.1%的精度。

简介

对于多层级的网络架构来说,由于浅层特征图分辨率大的原因,使用ViT的自注意力的二次复杂性会带来严重的计算负担。因此,如何为浅层stage设计高效的attention计算机制是十分重要的。

  • 以往的大部分Hierarchical(Multi-scale)的模型,以Swin为代表,以及CvT,PvT,Shunted Transformer等等,其贡献点都是设计一种更高效的attention计算单元。
  • 另外一些方法并不直接改善attention,而是将CNN与Transformer结构混合,降低计算成本,并融合两种结构的优势。

ViT论文中提出,Transformer模型的注意力捕捉依赖关系为,浅层捕捉local信息,深层捕捉global信息,而这种特性在多层级网络架构上也会出现。在浅层使用CNN替代Transformer可以有效地降低attention计算成本,还能更好地建模局部信息。

但,简单地把卷积直接作用于特征图并不能有效获取所需信息。卷积调制网络,利用卷积调制可以聚合周围的上下文并自适应地调制,使得其建模能力更强。

因此,本文提出一种新的卷积调制,尺度感知调制(Scale-Aware Modulation,SAM),包括两个模块:多头混合卷积(Multi-Head Mixed Convolution,MHMC) 和 尺度感知聚合(Scale-Aware Aggregation,SAA)

  • MHMC模块旨在增强感受野并同时捕捉多尺度特征。
  • SAA模块旨在有效地聚合不同头部的功能,同时保持轻量级架构。

尽管有这些改进,但SAM在捕捉长期依赖方面没有达到自我关注机制。为此,提出了一种新的混合调制变压器架构,称为进化混合网络(Evolutionary Hybrid Network,EHN)。

  • 具体而言,在前两个阶段引入SAM区块,在后两个阶段纳入Transformer区块,同时在倒数第二阶段引入新的堆叠策略。该体系结构不仅模拟了从浅层到深层的长程依赖关系的变化,而且使每个阶段的每个块都能匹配其计算特性,从而提高了各种下游任务的性能。

总体而言,提出的架构称为尺度感知调制转换器(SMT)。

SMT方法

SMT网络包括四个阶段,每个阶段的下采样率为{4, 8, 16, 32}。

  • 首先在前两个阶段采用尺度感知调制(SAM),
  • 然后在倒数第二个阶段中依次堆叠一个SAM Block和一个多头自注意力(MSA) Block,以建模从捕捉局部到全局依赖关系的转变。
  • 对于最后一个阶段,仅使用MSA块来有效地捕捉长距离依赖关系。

Scale-Aware Modulation

SAM模块包括两个关键部分:MHMC 和 SAA 。 

 Multi-Head Mixed Convolution(MHMC)

引入了具有不同卷积核大小的多个卷积层,使其能够捕捉多个尺度上的空间特征。当N head设置得较大时,能够引入大卷积核来扩大感受野,增强其建模长距离依赖关系的能力。如图2(b)所示,MHMC将输入通道分为N个头,对每个头应用独立的深度可分离卷积。将卷积核大小初始化为3x3,并逐头递增。通过调整头的数量来调节感受野的范围和多粒度信息。

​​​​

如图4(a)所示,每个不同的卷积特征图都学习以自适应的方式关注不同的粒度特征,正如预期的那样。值得注意的是,当通过可视化图中的调制图来比较单头和多头时。4(b),发现多头下的可视化在第一阶段准确地描绘了前景和目标对象,同时有效地过滤了背景信息。此外,随着网络的深入,它仍然可以呈现目标对象的整体形状,而与细节相关的信息在单头卷积下丢失。这表明,MHMC在浅层阶段比单个头部更好地捕捉局部细节,同时随着网络的深入,保持目标对象的详细和语义信息。

Scale-Aware Aggregation

为了增强MHMC中多个头之间的信息交互,引入了一种新的轻量化聚合模块,称为多尺度感知聚合(SAA),如图2(c)所示。SAA首先对MHMC生成的不同粒度的特征进行重组和分组。具体而言,从每个头中选择一个通道来构建一个组,然后在每个组内进行up-down的特征融合,从而增强多尺度特征的多样性。Num_group = C / N_head,C为输入通道数,这意味着组的数量与MHMC中头的数量成反比,每个组里只包含N个特征通道。随后,使用1x1卷积进行组内-组间模式的跨组信息融合,从而实现轻量且高效的聚合效果。

图5显示,SAA模块明确地增强了语义相关的低频信号,并精确地关注了目标对象的最重要部分。例如,在第2阶段,眼睛、头部和身体被清楚地突出显示为目标对象的基本特征,从而显著提高了分类性能。与卷积映射预聚合相比,SAA模块展示了更好的能力来捕捉和表示视觉识别任务的基本特征。

Scale-Aware Modulation Transformer

在使用MHMC捕捉多尺度空间特征并通过SAA进行聚合后,获得一个输出特征图,称为调制器Modulator。然后,使用标量乘积采用这个调制器来调制 V。

 

Evolutionary Hybrid Network 

提出根据网络的捕捉范围依赖关系的变化模式重新分配适当的计算模块,以实现更好的计算性能。提出两种混合堆叠策略用于倒数第二个阶段,(i) 依次堆叠一个SAM块和一个MSA块。(ii) 在stage的前半部分使用SAM块,在后半部分使用MSA块。(i)混合堆叠策略更加有效。

计算了倒数第二个阶段中MSA块的相对感受野。浅层layer的相对感受野开始阶段有一个轻微的下降趋势。这种下降可以归因于SAM对早期MSA Block的影响,将这种现象称为计算单元磨合适应期。而随着网络的加深,可以看到感受野呈平稳上升的趋势,这表明提出的进化混合网络有效地模拟了从局部到全局依赖捕捉的过渡。

实验

对比实验

分类任务: 

 

目标检测任务: 

 

分割任务: 

 

 消融实验

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三,创建订单微服务消费者 第三章

4.3 修改pom添加依赖 <dependencies><!--web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--监控--><dependency><groupId&g…

Windows安装postgresql时,启动报1053错误

用SQL shell 连接时显示拒绝连接&#xff0c;是因为postgreSql没有启动。 点击“服务”启动却报 1053错误 点击postgreSql服务&#xff0c;选择 登录-》选择本地系统账户&#xff0c;方可启动服务

网络安全 Day19-计算机网络基础知识04(网络协议)

计算机网络基础知识04&#xff08;网络协议&#xff09; 1. ARP1.1 ARP通讯原理1.2 arp欺骗1.3 ARP欺骗与预防1.4 排查ARP病毒 2. DHCP工作原理&#xff08;自动分配内网IP&#xff09;3. TCP协议三次握手、四次挥手原理4. DNS协议工作原理 1. ARP Linux查看arp&#xff1a;ar…

Mysql错误日志、通用查询日志、二进制日志和慢日志的介绍和查看

一.日志 1.日志和备份的必要性 日志刷新 2.mysql的日志类型 &#xff08;1&#xff09;错误日志 查看当前错误日志和是否记录警告设置 &#xff08;2&#xff09;通用查询日志 查看通用查询日志的设置 &#xff08;3&#xff09;二进制日志 查看二进制文件的设置&…

Hadoop 之 Hbase 配置与使用(四)

Hadoop 之 Hbase 配置与使用 一.Hbase 下载1.Hbase 下载 二.Hbase 配置1.单机部署2.伪集群部署&#xff08;基于单机配置&#xff09;3.集群部署1.启动 hadoop 集群2.启动 zookeeper 集群3.启动 hbase 集群4.集群启停脚本 三.测试1.Pom 配置2.Yml 配置3.Hbase 配置类4.Hbase 连…

关于PyTorch中一维卷积Conv1d的理解

首先明确一点&#xff0c;PyTorch中的一维卷积是从左往右做的&#xff0c;不是从上往下。 然后明确第二点&#xff0c;一维卷积和二维卷积最大的区别在于&#xff0c;一维卷积的卷积方向只有一个维度&#xff0c;一维卷积的卷积核不像二维卷积核一样可以左右和上下两个维度移动…

【使用时空RBF-NN进行非线性系统识别】实现了 RBF、分数 RBF 和时空 RBF 神经网络,用于非线性系统识别研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 2.1 算例1 2.2 算例2 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 本文用于非线性系统识别任务的径向基函数神经网络&#xff08;RBF-NN&#xff09;的三种变体。特别是&#xff0c;我实现…

大模型,开源干不掉闭源

开源大模型对闭源大模型的冲击&#xff0c;变得非常猛烈。 今年3月&#xff0c;Meta发布了Llama&#xff08;羊驼&#xff09;&#xff0c;很快成为AI社区内最强大的开源大模型&#xff0c;也是许多模型的基座模型。有人戏称&#xff0c;当前的大模型集群&#xff0c;就是一堆各…

刘铁猛C#教程笔记——操作符

C#语言中的操作符 表中位于同一行的操作符优先级相同&#xff0c;从上到下优先级依次减弱&#xff1b; 操作符的用法举例 成员访问运算符——“.”&#xff1a;用于访问类中的成员或者访问位于某个名空间中的类&#xff0c;如&#xff1a; using System; using System.Collec…

25.3 matlab里面的10中优化方法介绍——Nelder-Mead法(matlab程序)

1.简述 fminsearch函数用来求解多维无约束的线性优化问题 用derivative-free的方法找到多变量无约束函数的最小值 语法 x fminsearch(fun,x0) x fminsearch(fun,x0,options) [x,fval] fminsearch(...) [x,fval,exitflag] fminsearch(...) [x,fval,exitflag,output] fmins…

使用sftp

一、背景 新项目组前端部署方式是Build打包生成dist文件&#xff0c;交由后端部署。后来知道了vscode安装sftp前端可以自行部署。 二、实操 1、vscode安装sftp 2、 配置 ①F1 / ctrlshiftp ②命令行输入sftp -> 选择 sftp: Config ③配置信息介绍 {"name"…

vscode默认gbk编码格式打开

目录 1. 问题描述2. 解决方案 1. 问题描述 每次打开vscode都是utf-8格式打开文件&#xff0c;然后满屏的中文乱码&#xff0c;自己手动换成gbk编码 后中文显示正常&#xff0c;但是换多了很烦。 2. 解决方案 ctrlshiftP 点首选项&#xff1a;打开用户设置 加上这行在最后&…

SpringBoot静态资源访问及参数处理

静态资源访问&#xff1a; 资源访问&#xff1a; 1&#xff1a;Spring Boot 支持静态和模板化的欢迎页面。它首先在配置的静态内容位置中查找index.html文件。如果未找到&#xff0c;则查找index相关模板。如果找到任一&#xff0c;它将自动用作应用程序的欢迎页面。 2&…

Elasticsearch笔记

一、ElasticSearch概述 ElasticSearch&#xff08;简称ES&#xff09;是一个分布式、RESTful 风格的搜索引擎、数据分析引擎。ES底层是基于Apache Lucene搜索引擎库实现的&#xff0c;但是ES的目的是通过简单的RESTful API来隐藏Lucene的复杂性&#xff0c;从而让全文搜索变得简…

Redisson实现简单消息队列:优雅解决缓存清理冲突

在项目中&#xff0c;缓存是提高应用性能和响应速度的关键手段之一。然而&#xff0c;当多个模块在短时间内发布工单并且需要清理同一个接口的缓存时&#xff0c;容易引发缓存清理冲突&#xff0c;导致缓存失效的问题。为了解决这一难题&#xff0c;我们采用Redisson的消息队列…

【MCU学习】RTthread工程介绍

RT-Thread架构 RT-Thread诞生于2006年&#xff0c;是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写&#xff0c;浅显易懂&#xff0c;且具有方便移植的特性&#xff08;可快速移植到多种主流 MCU 及模组芯片上&#xff09;。RT-Thread把面…

cocosCreator 之 ScrollView

版本&#xff1a;3.4.0 参考&#xff1a;ScrollView组件 简介 ScrollView组件作为滚动容器来使用&#xff0c;它的实现通过ScrollBar组件来展示内容的位置和Mask组件显示指定区域&#xff0c;来保证有限的区域内显示更多的内容。 它的构成部分&#xff1a; ScrollBar滚动条相…

03 shell 编程

变量 语言型 编译型语言 解释型语言 shell脚本语言是解释型语言shell脚本的本质&#xff1a;shell命令的有序集合 shell 编程的基本过程 基本过程分为三步&#xff1a; step1. 建立 shell 文件 包含任意多行操作系统命令或shell命令的文本文件; step2. 赋予shell文件执行…

23 自定义控件

案例&#xff1a;组合Spin Box和Horizontal Slider实现联动 新建Qt设计师界面&#xff1a; 选择Widget&#xff1a; 选择类名&#xff08;生成.h、.cpp、.ui文件&#xff09; 在smallWidget.ui中使用Spin Box和Horizontal Slider控件 可以自定义数字区间&#xff1a; 在主窗口w…

脑电信号处理与特征提取——1. 脑电、诱发电位和事件相关电位(胡理)

目录 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 1.2 经典的ERPs成分及研究 1.2.1 ERPs命名规则及分类 1.2.2 常见的脑电成分 1.2.3 P300及Oddball范式 1.2.4 N400成分 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 EEG(Electroencephalogram)&#x…