【ICCV2023】Scale-Aware Modulation Meet Transformer

news2024/9/27 16:53:36

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的影响,将这种现象称为计算单元磨合适应期。而随着网络的加深,可以看到感受野呈平稳上升的趋势,这表明提出的进化混合网络有效地模拟了从局部到全局依赖捕捉的过渡。

实验

对比实验

分类任务: 

 

目标检测任务: 

 

分割任务: 

 

 消融实验

 

 

 

 

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

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

相关文章

C# 复习笔记

文章目录 Visual C# Step By StepC# 7.0核心技术指南面向对象是怎样工作的 Visual C# Step By Step 1.Net FrameWork:为开发应用程序而创建的一个平台(可以是运行在windows ,也可以是运行在其他操作系统)。例如Mono,它…

第119天:免杀对抗-二开CSShellcode函数修改生成模版修改反编译重打包(下)

知识点 #知识点: 1、CS-表面特征消除 2、CS-HTTP流量特征消除 3、CS-Shellcode特征消除#章节点: 编译代码面-ShellCode-混淆 编译代码面-编辑执行器-编写 编译代码面-分离加载器-编写 程序文件面-特征码定位-修改 程序文件面-加壳花指令-资源 代码加载面…

C语言-print字符串打印-转义字符妙用

这里有两个有关打印的小知识 打印的字符串内容由两部分组成:可见字符、转义字符;各种字母、数字、以及空格,均属于可见字符,“\”等属于转义字符 举例: 1.直接print里面打印内容,内容直接出现 2.这里想将一…

iptable防火墙

主要作用: 隔离功能,在工作中,防火墙 的主要作用决定哪些数据可以被外网访问以及哪些数据可以进入内网访问 一般部署在网络边缘或者主机边缘,作用于网络层 安全技术: 1、入侵检测系统: 检测病毒、木马&a…

如何进行SQL优化

一、SQL优化的主要步骤 在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生…

Oracle转Mysql出现的问题记录

学海无涯,旅“途”漫漫,“途”中小记,如有错误,敬请指出,在此拜谢! 文章目录 前言函数错误concat函数使用有区别代码示例导致问题区别及分析解决方法 时间相减代码示例导致问题区别与分析解决方法 or 不走索…

入门Linux基本指令(1)

本篇文章介绍Linux中的一些常用基本指令来供大家学习和参考。 目录 ls指令 pwd指令 cd指令 .和.. touch指令与mkdir指令 rm指令 man指令 ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与…

无符号数和有符号数的“bug”

1. 起因 在实现kmp算法时&#xff0c;出现了诡异的现象&#xff0c;看下面的代码&#xff1a; int KMP (const char *s, const char *t) {int lenS strlen (s);int lenT strlen (t);int next[lenT];get_next (next, t);int i 0;int j 0;while (i < lenS && j …

C#安装包制作过程详解

本文讲解C#安装包制作过程。 文章目录 一、安装打包插件二、项目的部署与安装三、制作安装包时注意路径一、安装打包插件 打开VS2017:工具 --> 扩展和更新 --> 联机,搜索Microsoft Visual Studio Installer Projects,如图: 下载Microsoft Visual Studio Installe…

PostgreSQL数据库动态共享内存管理器——Dynamic shared memory areas

dsm.c提供的功能允许创建后端进程间共享的共享内存段。DSA利用多个DSM段提供共享内存heap&#xff1b;DSA可以利用已经存在的共享内存&#xff08;DSM段&#xff09;也可以创建额外的DSM段。和系统heap使用指针不同的是&#xff0c;DSA提供伪指针&#xff0c;可以转换为backend…

Hbase基础概念

HBase 一、HBase的数据模型1.HBase数据存储结构2.HBase存储概念3.HBase基本架构 二、HBase Shell1.DDL(Data Definition Language)2.DML&#xff08;Data Manipulation Language&#xff09; 三、HBase组成架构1. Master架构2. RegionServer架构 四、HBase读写流程1.写流程MemS…

AI数字人:金融数字化转型的“关键先生”

今年年初ChatGPT的火热&#xff0c;在全球掀起一阵生成式AI&#xff08;AIGC&#xff09;热潮。国外的OpenAI、国内的百度等企业&#xff0c;都在AIGC上强力布局。 各种应用场景中&#xff0c;AIGC助力的数字人引起了市场注意。 事实上&#xff0c;数字人不是个新鲜事。早在1…

Linux 系统下 “Verilog” 编程配置

文章目录 简介Verilog HDLIverilogGtkwave 环境搭建软件的安装Vim 之 Verilog 语法高亮配置 简单的计数器示例计数器程序的编写仿真测试 简介 Verilog HDL Verilog HDL 是一种用于设计数字电路的硬件描述语言&#xff0c;它可以用来描述数字电路的功能和结构&#xff0c;并且可…

云服务器AccessKey执行命令

人之所以痛苦&#xff0c;在于追求错误的东西。如果你不给自己烦恼&#xff0c;别人也永远不可能给你烦恼。因为你自己的内心&#xff0c;你放不下。 好好的管教你自己&#xff0c;不要管别人。 漏洞实战 查看所有实例信息 A.exe -a xxx -s xxx ecs -list执行命令 A.exe -a…

新能源汽车充电桩最重要的模块设备是什么

你是否曾经遇到过充电桩无法给你电动汽车提供电源的问题?或者你曾经怀疑过为什么充电桩速度如此缓慢?其实&#xff0c;这一切都可能与充电桩最重要的模块设备——控制主板有关。 交流充电桩由充电桩外壳、控制主板、刷卡模块、计费控制、显示屏、通信模块、继电器、开关电源等…

JumpServer堡垒机

文章目录 JumpServer堡垒机堡垒机介绍堡垒机产生的原因堡垒机主要功能 Jumpserver安装与配置Jumpserver Web界面用户管理资产管理添加Linux主机 命令过来规则创建审计台操作说明会话审计日志审计 工作台操作说明邮箱配置 JumpServer堡垒机 堡垒机介绍 下图来自百度百科 堡垒机…

面试常问八股文之java篇

JAVA篇 1、为什么重写equals方法的时候要重写hashCode方法&#xff1f; 为了不违背“相同对象必须要有相同hash值"的约定&#xff0c;对于基本数据类型比较的是数值是否相等&#xff0c;对于引用类型数据比较的是对象地址是否同等&#xff0c;在object中equal方法也是默…

(学习笔记-IP)IP协议相关技术

DNS 我们在上网的时候&#xff0c;通常使用的方式是域名&#xff0c;而不是IP地址&#xff0c;因为域名方便人类记忆。 那么实现这一技术的就是DNS域名解析器&#xff0c;DNS可以将域名网址自动转换为具体的IP地址。 域名的层级关系 DNS中的域名都是用句点来分隔的&#xff0…

软件升级相关

文章目录 一、升级方案1、移动端升级2、window 升级SquirrelSparkle 一、升级方案 1、移动端升级 腾讯Bugly &#xff0c;支持Android 平台、iOS平台、Cocos2D、Unity3D。 2、window 升级 windows的exe的打包及升级工具 Squirrel Squirrel 是一款免费的开源exe升级工具&a…

NFT市场泡沫破裂了吗?投资NFT是否仍然安全?

近期&#xff0c;NFT市场的价格出现了明显的下跌趋势&#xff0c;许多人开始担心NFT市场是否已经进入了泡沫破裂的阶段。但是&#xff0c;我们需要认真分析这个问题&#xff0c;并且探讨投资NFT是否仍然安全。 NFT&#xff08;Non-Fungible Token&#xff09;是一种非同质化代币…