《Shunted Transformer: Shunted Self-Attention》CVPR 2022 oral

news2024/10/2 14:28:51

在这里插入图片描述
论文链接:https://openaccess.thecvf.com/content/CVPR2022/papers/Ren_Shunted_Self-Attention_via_Multi-Scale_Token_Aggregation_CVPR_2022_paper.pdf
代码链接:https://github.com/OliverRensu/Shunted-Transformer​

1. 动机

视觉转换器(ViT)模型具有通过self-attention对图像patch/token的长期依赖进行建模的能力。然而,这些模型通常为每一层中的每个token特性指定相似的感受野(如下图,相同大小的圆圈表示相应token的感受野大小)。它们在很大程度上忽略了注意层内场景对象的多尺度性质,这使得它们在涉及不同大小目标的野外场景中很脆弱

在这里插入图片描述

2. 解决办法

提出Shunted Transformer,如下图所示,其主要核心为shunted selfattention (SSA) block组成。
在这里插入图片描述
SSA明确地允许同一层中的自注意头分别考虑粗粒度和细粒度特征,有效地在同一层的不同注意力头同时对不同规模的对象进行建模,使其具有良好的计算效率以及保留细粒度细节的能力。如下图所示,不同颜色的圆圈表示不同大小的目标:
在这里插入图片描述

3. shunted selfattention (SSA) block

如下图所示,shunted selfattention block主要由shunted selfattention (SSA)和detail specific feed-forward组成。
在这里插入图片描述

3.1 shunted selfattention (SSA)

SSA可以看做是对 PVT 中 K K K V V V 下采样的操作进行多尺度化改进,如下图所示。不同head的 K , V K,V KV长度不同,以捕获不同粒度的信息,从而给出了多尺度token聚合(MTA)。具体来说, K K K V V V i i i索引的不同head进行了不同大小的下采样。即,
在这里插入图片描述
这里的 M A T ( ⋅ ; r i ) MAT(·;r_i) MAT(⋅;ri)是第 i i i个头中的多尺度token聚合层,下采样率为 r i r_i ri。在实际应用中,作者采用核大小为 r i r_i ri,步长为 r i r_i ri的卷积层来实现下采样。 L E ( ⋅ ) LE(·) LE()是MTA通过深度卷积对 V V V进行局部增强的分量,这样,相比于spatial-reduction,保留了更多细粒度、低层次的细节。

在这里插入图片描述
然后,SSA能被定义为:
在这里插入图片描述
多亏了多尺度的key和value,本文的SSA在捕捉多尺度物体时更加强大。计算成本的降低可能取决于 r r r的值,因此,可以很好地定义模型和 r r r来权衡计算成本和模型性能。当 r r r变大时, K , V K, V K,V中合并的token更多, K , V K, V K,V的长度更短,因此计算成本较低,但仍保留了捕获大对象的能力。相比之下,当 r r r变小时,虽然保留了更多的细节,但也带来了更多的计算成本。将各种 r r r集成到一个自注意层中,使其能够捕获多粒度的特征。

3.2 detail specific feed-forward

考虑到传统的feed-forward network中,全连接层是逐点的,不能学习cross token信息。在这里,未来通过指定前馈层中的细节来补充局部信息,作者提出detail specific feed-forward,如下图所示。具体地,通过在前馈层的两个全连接层之间添加特定于数据的层来补充前馈层中的局部细节。即
在这里插入图片描述
其中在 D S ( ⋅ ; θ ) DS(·;θ) DS(⋅;θ)是带有参数 θ θ θ的细节特定层,在实践中通过深度卷积实现。
在这里插入图片描述

3.3 Shunted Transformer变体

本文提出了三种不同的模型配置,以便在相似的参数和计算成本下进行公平的比较。如下表1所示, h e a d head head N i N_i Ni分别表示一个block中head的个数和一个stage中block的个数。变量只来自于不同stage的层数。具体来说,每个block中的head数设置为2、4、8、16。patch嵌入的卷积范围为1 ~ 3。
在这里插入图片描述

4. 实验结果

  • ImageNet-1K图像分类任务
    在这里插入图片描述
  • 目标检测和实例分割任务
    在这里插入图片描述
  • 消融实验
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

vscode怎么对选定的代码格式化?ctrl+k,ctrl+f(格式化代码)

先选中代码: 然后按CTRL K 再按CTRLF 也可以先选择要格式化的代码块,ctrlshiftp,搜索format,然后第二个就是:

助你掌握搜索神器,10个实用的Elasticsearch查询技巧

前言 Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧,并配上详细的代码示例&#xff…

Python基础实战1-简单介绍python

1 Python介绍 Python是一门优雅而健壮的编程语言,它继承了传统编程语言的强大性和通用性,同时也借鉴了脚本语言和解释语言的易用性。 1.1 Python的历史 Python是由创始人贵铎范罗萨姆(Guido van Rossum)在阿姆斯特丹于1989年圣…

在数字化质变“奇点”时刻,看数字生产力跃升的华为观

(华为轮值董事长孟晚舟) 进入2023年,以大语言模型为代表的新AI,打开了全球对于数字生产力的全新认知:高盛集团经济学家认为,ChatGPT等生成式AI最终可能在10年的时间里使得全球年GDP增长7%(近7万…

pinia持久化存储方案——pinia-storage(自己写的,持续更新)

pinia持久化存储方案——pinia-storage pinia-storagepinia-storage Introduction版本更新说明(update introduction)安装(install)npm 安装(npm install) QuickStartcreate piniastore/indexstore/indexPinia.tsstore/indexPinia.js main.ts | main.jsA…

Direct3D 12——几何着色器——几何着色器概念

几何着色器 几何着色器这个可选阶段便位于顶点着色器与像素着色器之间。几何着色器所输出的图元由顶点列表定义而成。在退岀几何着色器时,必将顶点的位置变换到齐次 裁剪空间。换言之,经过几何着色器阶段的处理后,我们就得到了位于齐次裁剪空…

MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZE

文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZEEXPLAIN ANALYZE介绍EXPLAIN ANALYZE的特性EXPLAIN 和EXPLAIN ANALYZE的结果对比例题例题解析参考 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZE EXPLAIN…

部门来了个测试人,听说是00后,上来一顿操作给我看呆了...

今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…

网络原理(TCP/UDP)

目录 一. 网络基础 1. IP地址 2. 端口号 3. 协议 4. OSI七层模型 二. UDP协议 2.1 UDP的协议端格式: 2.2 UDP的特点 三. TCP协议 3.1 TCP协议段格式 3.2 TCP原理 (1)确认应答机制 (2)超时重传机制 &#xff…

CmBacktrace库在工程中的添加和应用

CmBacktrace 介绍在工程中添加CmBacktrace断言打印全局变量的值循环输出错误信息串口处理看门狗处理 介绍 CmBacktrace下载 CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错…

Javaee Spring template实现查询数据库表内容 基于半xml半注解

昨天用基于xml配置实现template查询数据库,今天基于半xml半注解方式实现,使用注解需要导入spring-aop-5.3.8.jar 导入jar包 项目结构: 其他代码在,先前上一篇文章已经给出 AccountServiceImpl package wwx.dao;import org.springframework…

定时器中断实验

实现内容 利用TIM3的定时器中断来控制DS1的翻转,在主函数用DS0 的翻转来提示程序正在运行。 定时器介绍 定时器可以认为是一个计数器;给定计数器一个初值,每当计数一次,就会走过一个固定的时间,当达到我们给定的初值…

强大的图像处理:ImageKit10.E ActiveX Crack

强大的图像处理! ImageKit10 ActiveX 是一个组件,允许您快速轻松地向应用程序添加图像处理功能。使用 ImageKit10 ActiveX,您可以编写从 TWAIN 扫描仪和数码相机检索图像的应用程序;加载和保存图像文件并将图像从一种格式转换为另一种格式;编…

数字电路和模拟电路-半导体三极管

目录 1 什么是三极管? 1.1 放大状态时的偏执条件 1.1.1发射结加正向电压,扩散运动形成发射极电流IE 1.1.2扩散到基区的自由电子与空穴的复合运动形成基极电流IB 1.1.3集电结加反向电压,漂移运动形成集电极电流Ⅰc 2 三极管工作原理 2.…

5.图论(0x3f:从周赛中学算法 2022下)

来自0x3f【从周赛中学算法 - 2022 年周赛题目总结(下篇)】:https://leetcode.cn/circle/discuss/WR1MJP/ 周赛中的图论题目比较少,除了下面选的 DFS、BFS、拓扑排序、基环树、二分图判定等,还有最短路、DFS 时间戳等&a…

CloudCompare二次开发之如何设计界面ui与功能实现?

文章目录 0.引言1.创建界面ui相关文件2.添加界面ui相关文件到CloudCompare工程3.修改工程相关文件4.结果展示 0.引言 CloudCompare源代码编译成功后,即可进行二次开发,可以通过修改源码实现二次开发,二次开发基础功能见(CloudComp…

什么是文件共享软件?文件传输软件如何共享?

它是一个文件共享软件应用程序,可让强大的数据保护层下将任何大小的文件发送到世界上的任何地方。以光速发送和共享无限数量的文件。可以提交门户并使用语言,品牌,存储等自定义门户。可以选择一个存储点,例如文件传输软件&#xf…

[入门必看]数据结构4.2:串的模式匹配

[入门必看]数据结构4.2:串的模式匹配 第四章 串4.2 串的模式匹配知识总览4.2.1_朴素模式匹配算法4.2.2_1_KMP算法4.2.2_2_求next数组4.2.3_KMP算法的进一步优化 4.2.1_朴素模式匹配算法什么是字符串的模式匹配朴素模式匹配算法通过数组下标实现朴素模式匹配算法代码…

http(1)

主要介绍http 1.0 我们在浏览器中输入一个网址,稍等片刻就看见了网页 客户端会发送一个http请求,要求返回cn.bing.com这个网址,服务器收到请求后就会返回一个html页面 (服务器根据请求找到客户端想要的资源,然后把这个…

[LeetCode]路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…