论文阅读——Slide-Transformer(cvpr2023)

Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention

一、分析

1、改进transformer的几个思路:

(1)将全局感受野控制在较小区域,如:PVT,DAT,使用稀疏全局注意力来从特征图选择稀疏的键对值,并且在所有查询中共享它们。

(2)就是Swin Transformer这条窗口注意力范式,输入被分为特殊设计的窗口,特征在窗口中提取并融合。非常有效,但是有一些局限性,一方面,稀疏全局注意力在捕捉局部特征方面往往较差,并且容易受到关键和值位置的影响,在这些位置,其他区域中的信息特征可能会被丢弃。另一方面,窗口注意可能会阻碍跨窗口通信,这又引入了额外的设计,如窗口偏移,从而对模型结构设置限制。

一个自然有效的替代方案不是缩小全局感受野,而是通过将每个查询的感受野约束在其自己的相邻像素中来采用局部注意力。与前面提到的注意力模式相比,局部注意力具有与平移等变和局部归纳偏差卷积的优点,同时也享有自注意机制的灵活性和数据依赖性。许多工作已经研究了将局部注意力应用于现代卷积或Transformer模型。然而,他们要么使用低效的Im2Col函数,这会导致推理时间的大幅增加,要么依赖于精心编写的CUDA内核,这限制了在没有CUDA支持的设备上的适用性。因此,开发一个既高效又可推广的局部注意力模块仍然具有挑战性。

PVT将特征图中的稀疏位置采样视为键值对。DAT采取了进一步的步骤,并以数据相关的方式将固定位置向不同的方向移动。MViT在输入上使用池化函数,以获得键和值对,这可以被视为特征图的较低分辨率。Swin Transformer使用窗口+位移,CSwin Transformer在此基础上使用十字形窗口,进一步提高模型能力。local attention限制每个查询的感受野在周围的像素。

2、Attention Patterns(即总结一下)

(1) 稀疏全局注意力考虑选择一组稀疏的键值对,而不是密集的特征图。然而,这也限制了将特征提取到有限的输入子集中的潜力。此外,键和值对对于所有查询都是相同的。这种查询不可知的选择策略可能导致整个特征图中的特征同质化。

(2) 窗口注意力是另一种将输入小心地完全划分为特定窗口的选项,在特定窗口中提取特征。尽管部分解决了查询不可知的键值对的限制,但所设计的模式可能会导致不自然的情况,即不同窗口边缘的特征尽管在特征图中很近,但却被完全隔离。此外,窗口模式需要在连续的块之间转换,以促进跨窗口的连接,这涉及到模型结构中的额外设计。

(3) 局部注意力将每个查询的感受野约束在其自己的相邻像素中,与卷积共享相似的模式。与以前的模式相比,局部注意力同时具有卷积和自我注意力的优点:1)以查询为中心的注意力模式产生的局部归纳偏差;2) 像传统卷积一样的平移等方差,显示出对输入偏移方差的鲁棒性;3) 涉及很少的人工设计,对模型架构设计的限制最小。

3、 Local Attention Implementation

不同方法的效率:

二、方法

1. New Perspective on Im2Col

图(1)是原本的Im2Col的基于列的试图。图2是基于行的试图,是作者发现的。以k=3为例,如果我们首先将原始特征图向9个不同的方向移动(图3(2.b)),然后将这些特征展平成行,最后将它们连接成列(图3的2.c)),则所获得的键/值矩阵被证明等效于HW局部窗口,该窗口可以恢复与原始Im2Col函数完全相同的输出(图3中的1.c))。

2. Shift as Depthwise Convolution

采用一个精心设计卷积核的深度卷积来代替低效的特征偏移。如上图(3.(3))

3. Deformed Shifting Module

引入了一种并行卷积路径,其中核参数在训练过程中被随机初始化并可学习。与将特征向不同方向转移的固定内核相比,可学习内核可以被解释为所有局部特征的线性组合。

(1) 局部注意力中的关键和价值对由一个更灵活的模块来处理,该模块大大提高了模型容量,并可以捕捉各种特征。(2) 可学习卷积核与DCN中的可变形技术表现出相似性。类似于DCN中四个相邻像素的双线性插值,我们的变形移位模块可以被视为局部窗口内特征的线性组合。这最终有助于增强输入的空间采样位置和模型几何变换。(3) 我们使用重新参数化技术[8]将两条平行路径转换为单个卷积。这样,我们可以在保持推理效率的同时提高模型容量。

结果:

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

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

相关文章

山西电力市场日前价格预测【2023-12-28】

日前价格预测 预测说明: 如上图所示,预测明日(2023-12-28)山西电力市场全天平均日前电价为814.30元/MWh。其中,最高日前电价为1500.00元/MWh,预计出现在08:00~08:45,17:00~20:15。最低日前电价为394.61元/…

FairyGUI-Cocos Creator官方Demo源码解读

博主在学习Cocos Creator的时候,发现了一款免费的UI编辑器FairyGUI。这款编辑器的能力十分强大,但是网上的学习资源比较少,坑比较多,主要学习方式就是阅读官方文档和练习官方Demo。这里博主进行官方Demo的解读。 从gitee上克隆项目…

Java多线程<二>多线程经典场景

leetcode 多线程刷题 上锁上一次,还是上多次? 同步的顺序。 1. 交替打印字符 使用sychronize同步锁使用lock锁使用concurrent的默认机制使用volitale关键字 Thread.sleep() / Thread.yield机制使用automic原子类 方式1 :使用互斥访问st…

Linux上管理不同版本的 JDK

当在 Linux 上管理不同版本的 JDK 时,使用 yum 和 dnf 可以方便地安装和切换不同的 JDK 版本。本文将介绍如何通过这两个包管理工具安装 JDK 1.8 和 JDK 11,并利用软连接动态关联这些版本。 安装 JDK 1.8 和 JDK 11 使用 yum 安装 JDK 1.8 打开终端并…

Linux 内存数据 Metrics 指标解读

过去从未仔细了解过使用 free、top 等命令时显式的内存信息,只关注了已用内存 / 可用内存。本文我们详解解读和标注一下各个数据项的含义,同时和 Ganglia 显式的数据做一个映射。开始前介绍一个小知识,很多查看内存的命令行工具都是 cat /pro…

Pytorch框架基础

参考资料 pytorch框架基础 Pycharm 页面卡住解决方案 使用ps命令结合grep来查找PyCharm相关的进程 ps aux | grep pycharm kill -9 [PID]关于怎么找这个卡住的进程,据初步观察,卡住进程打印的信息是最长的,此外,在卡住进程的打…

贪心算法—会议安排

与其明天开始,不如现在行动! 文章目录 1 安排会议1 题目描述2 解决思路3 代码实现 💎总结 1 安排会议 1 题目描述 一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间 你来…

MendelianRandomization | 孟德尔随机化神包更新啦!~(一)(小试牛刀)

1写在前面 今天发现MendelianRandomization包更新v0.9了。😜 其实也算不上更新。🫠 跟大家一起分享一下这个包做MR的用法吧。🤩 还有一个包就是TwoSampleMR,大家有兴趣可以去学一下。😅 2用到的包 rm(list ls())# ins…

壮志酬筹>业务被裁>副业转正>收入回正。一个前黑马程序员老师的2023

从年初时的踌躇满志,到年中时整个业务线被砍。全职做前端训练营,四个多月的时间帮助100多名同学拿到了满意的offer,同时也让我的收入重归正轨。仅以这个视频记录我,一个普通程序员的 2023 。 视频版可直接访问 Hello,大…

【年度征文】回顾2023,迎接2024

转眼一年~~2023又到年底了,CSDN年度征文如约而至!不知不觉又在CSDN平台写了488篇博文,非常感谢CSDN提供的平台,同时也感谢关注和支持博主的粉丝们,在马上到来新的一年里,我会继续努力!也非常感谢…

mysql突然找不到,任务管理器里也没有了(图文详细解决)

右键开始键,选终端(管理员) 2.点↓的命令提示符,进到以管理员打开命令指示符 3.输入命令: mysqld.exe -install 如果出现这个Service successfully installed. 就代表成功了 4.输入: net start mysql MySO…

如何解决“电脑缺失msvcp110.dll”错误,msvcp110.dll文件解决方法

“msvcr110.dll丢失”。那么,msvcr110.dlll丢失到底是什么意思呢?它对我们的电脑有什么影响?本文将详细介绍msvcr110.dll的作用以及msvcr110.dll丢失对电脑的影响,并提供5个解决方案来解决这个问题。 一、msvcr110.dll的作用 ms…

【三维目标检测/自动驾驶】IA-BEV:基于结构先验和自增强学习的实例感知三维目标检测(AAAI 2024)

系列文章目录 论文:Instance-aware Multi-Camera 3D Object Detection with Structural Priors Mining and Self-Boosting Learning 地址:https://arxiv.org/pdf/2312.08004.pdf 来源:复旦大学 英特尔Shanghai Key Lab /美团 文章目录 系列文…

交互式笔记Jupyter Notebook本地部署并实现公网远程访问内网服务器

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下…

Java guava partition方法拆分集合自定义集合拆分方法

日常开发中&#xff0c;经常遇到拆分集合处理的场景&#xff0c;现在记录2中拆分集合的方法。 1. 使用Guava包提供的集合操作工具栏 Lists.partition()方法拆分 首先&#xff0c;引入maven依赖 <dependency><groupId>com.google.guava</groupId><artifa…

Leetcode算法系列| 10. 正则表达式匹配

目录 1.题目2.题解C# 解法一&#xff1a;分段匹配法C# 解法二&#xff1a;回溯法C# 解法三&#xff1a;动态规划 1.题目 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 1.‘.’ 匹配任意单个字符 2.‘.’ 匹配任意单个字…

SimpleCG小游戏开发系列(2)--贪吃蛇

一、前言 在之前的C语言小游戏开发系列我们已经介绍了扫雷游戏的开发&#xff0c;本篇我们继续此系列第二篇&#xff0c;同样是比较简单但好玩的一个游戏--贪吃蛇。因为有了之前的游戏框架&#xff0c;我们只需要直接搬来原来的框架即可&#xff0c;可以省去不少活。 先看看游…

布隆过滤器-使用原理和场景

一、概述 布隆过滤器&#xff08;Bloom Filter&#xff09;主要用来检索一个元素是否在一个集合中。它是一种数据结构bitMap,优点是高效的插入和查询&#xff0c;而且非常节省空间。缺点是存在误判率和删除困难。 二、应用场景 1、避免缓存穿透&#xff0c;当redis做缓…

图像的颜色及Halcon颜色空间转换transfrom_rgb/trans_to_rgb/create_color_trans lut

图像的颜色及Halcon颜色空间转换 文章目录 图像的颜色及Halcon颜色空间转换一. 图像的色彩空间1. RGB颜色 2. 灰度图像3. HSV/ HSI二. Bayer 图像三. 颜色空间的转换1. trans_from_rgb算子2. trans_to_rgb算子3. create_color_trans_lut算子 图像的颜色能真实地反映人眼所见的真…

C++的面向对象学习(7):面向对象编程的三大特性之:继承

文章目录 前言一、继承&#xff1a;继承的类除了拥有上一级类的共性&#xff0c;也拥有自己的特性。二、继承方式&#xff1a;公有继承&#xff08;public inheritance&#xff09;、私有继承&#xff08;private inheritance&#xff09;和保护继承&#xff08;protected inhe…
最新文章