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

news2025/4/24 13:08:35

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.coloradmin.cn/o/1345605.html

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

相关文章

Mysql 容易忘的 sql 指令总结

目录 一、操作数据库的基本指令 二、查询语句的指令 1、基本查询语句 2、模糊查询 3、分支查询 4、 分组查询 5、分组查询 6、基本查询总结: 7、子查询 8、连接查询 三、MySQL中的常用函数 1、时间函数 2、字符串函数 3、聚合函数 4、运算函数 四、表…

使用element中el-cascader级联选择器实现省市区街道筛选(非动态加载)

<template><el-form ref"form" :model"form" label-width"80px"><el-form-item label"地址:" prop"addressList"><el-cascaderv-model"form.addressList":props"props":options&q…

NModbus-一个C#的Modbus协议库实现

NModbus-一个基于C#实现的Modbus通信协议库 最近在学习C#的时候&#xff0c;因为之前做过环保设备时使用C做过环保设备采集使用到了Modbus协议&#xff0c;当时看了一下基于C语言开发的libmodbus库。所以特意搜索看了一下C#下有什么Modbus协议库&#xff0c;在Github上面找了一…

代数结构与图论

文章目录 图的基本概念欧拉图与哈密顿图树平面图代数系统群与环格与布尔代数 图的基本概念 图的阶&#xff1a;图中的顶点数 &#xff0c;n 个顶点被称为 n 阶图零图&#xff1a;一条边都没有 平凡图&#xff1a;一阶零图基图&#xff1a;将有向图的各条有向边改成无向边所得到…

基于CNN神经网络的手写字符识别实验报告

作业要求 具体实验内容根据实际情况自拟&#xff0c;可以是传统的BP神经网络&#xff0c;Hopfield神经网络&#xff0c;也可以是深度学习相关内容。 数据集自选&#xff0c;可以是自建数据集&#xff0c;或MNIST&#xff0c;CIFAR10等公开数据集。 实验报告内容包括但不限于&am…

Gin 源码深度解析及实现

介绍 什么是 gin &#xff1f; 一个轻量级高性能 HTTP Web 框架。 Introduction | Gin Web Framework (gin-gonic.com) Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API&#xff0c;但性能比 Martini 快 40 倍。 为什么使用 gin &#xff1f; In…

个人财务管理软件Money Pro mac功能特点

Money Pro mac是一款专为Mac用户设计的个人财务管理软件&#xff0c;具有全面的账户管理、智能的预算规划、强大的投资分析、丰富的报表和图表、安全的数据保护以及易于使用的界面设计等特点。 Money Pro mac功能和特点 全面的账户管理&#xff1a;支持多种账户类型&#xff0…

git 常用操作合集

✨专栏介绍 在当今数字化时代&#xff0c;Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序&#xff0c;就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术&#xff0c;以及各种框架、库和工具…

【Matlab】BP 神经网络时序预测算法

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88681507 一&#xff0c;概述 BP 神经网络是一种常见的人工神经网络&#xff0c;也是一种有监督学习的神经网络。其全称为“Back Propagation”&#xff0c;即反向传播算法。BP 神经网络主要由输入层、隐藏层…

二叉树的中序遍历,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 解题方法&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 注&#xff1a; 代码实现&#xff08;递归&#xff09;&#xff1a; 代码实现&#xff08;迭代&#xff09;&#xff1a; 题目地址&#xf…

独立站的个性化定制:提升用户体验的关键

随着电子商务的竞争加剧&#xff0c;用户体验成为了企业赢得市场的关键因素之一。独立站作为企业品牌形象和产品展示的重要平台&#xff0c;其个性化定制的程度直接影响着用户体验。本文将探讨独立站的个性化定制如何提升用户体验&#xff0c;并通过代码示例说明实现个性化定制…

项目中使用Java中List.subList()的注意事项

使用介绍 在Java中&#xff0c;subList是List接口的一个方法&#xff0c;用于获取原始列表的子列表 方法的声明如下 List<E> subList(int fromIndex, int toIndex);fromIndex&#xff1a;起始索引&#xff08;包括&#xff09;toIndex&#xff1a;结束索引&#xff08…

DrGraph原理示教 - OpenCV 4 功能 - 颜色空间

前言 前段时间&#xff0c;甲方提出明确需求&#xff0c;让把软件国产化。稍微研究了一下&#xff0c;那就转QT开发&#xff0c;顺便把以前的功能代码重写一遍。 至于在Ubuntu下折腾QT、OpenCV安装事宜&#xff0c;网上文章很多&#xff0c;照猫画虎即可。 这个过程&#xff0…

【JVM】一篇通关JMM内存模型

JMM内存模型 1. 原子性1-1. 问题分析1-2. 问题解决 2. 可见性2-1. 问题分析2-2. 问题解决 3. 有序性3-1. 问题分析3-2. 问题解决 4. CAS与原子性5. synchronized 优化 1. 原子性 很多人将【java 内存结构】与【java 内存模型】傻傻分不清&#xff0c;【java 内存模型】是 Java…

zookeeper之集群搭建

1. 集群角色 zookeeper集群下&#xff0c;有3种角色&#xff0c;分别是领导者(Leader)、跟随着(Follower)、观察者(Observer)。接下来我们分别看一下这三种角色的作用。 领导者(Leader)&#xff1a; 事务请求&#xff08;写操作&#xff09;的唯一调度者和处理者&#xff0c;保…

ARCGIS PRO SDK 访问Geometry对象

一、Geometry常用对象 二、主要类 1、ReadOnlyPartCollection&#xff1a;Polyline 和 Polygon 使用的 ReadOnlySegmentCollection 部件的只读集合&#xff0c;属性成员&#xff1a;​ 名字描述Count获取 ICollection 中包含的元素数。TIEM获取位于指定索引处的元素。Spatial…

STM32——F407定时器概述

1 定时器分类 定时器类型数量位号位宽时钟捕获/比较输出DMA请求计数互补输出基本2TIM6,TIM716bitAPB1-有递增-通用2TIM2,TIM532bitAPB14通道有递增、递减、中心对齐-通用2TIM3,TIM432bitAPB14通道有递增、递减、中心对齐-通用1TIM916bitAPB14通道有递增-通用2TIM10、TIM1116bi…

CorelDRAW2024新功能有哪些?CorelDRAW2024最新版本更新怎么样?

CorelDRAW2024新功能有哪些&#xff1f;CorelDRAW2024最新版本更新怎么样&#xff1f;让我们带您详细了解&#xff01; CorelDRAW Graphics Suite 是矢量制图行业的标杆软件&#xff0c;2024年全新版本为您带来多项新功能和优化改进。本次更新强调易用性&#xff0c;包括更强大…

Cisco模拟器-企业网络部署

某企业园区网有&#xff1a;2个分厂&#xff08;分别是&#xff1a;零件分厂、总装分厂&#xff09;1个总厂网络中心 1个总厂会议室&#xff1b; &#xff08;1&#xff09;每个分厂有自己的路由器&#xff0c;均各有&#xff1a;1个楼宇分厂网络中心 每个楼宇均包含&#x…

{MySQL}索引事务和JDBC

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、索引1.1索引是什么1.2作用1.3代码 二、事务2.1什么是事务2.2使用 三.JDBC总结 前言 接着上次&#xff0c;继续讲下MySQL 提示&#xff1a;以下是本篇文章正…