EPSANet学习笔记

2023-11-06

EPSANet学习笔记

EPSANet: An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network

Abstract

最近,研究表明,在深度卷积神经网络中嵌入注意力模块可以有效提高其性能。在这项工作中,提出了一种新的轻量级和有效的注意力方法,称为金字塔挤压注意力(PSA)模块。通过在ResNet的瓶颈块中用PSA模块替换3x3卷积,获得了一种新的表示块,称为有效金字塔挤压注意力(EPSA)。EPSA块可以很容易地作为即插即用组件添加到成熟的主干网络中,并且可以显著提高模型性能。因此,本文通过堆叠这些ResNet风格的EPSA块,开发了一种简单高效的主干架构EPSANet。相应地,所提出的EPSANet可以为各种计算机视觉任务提供更强的多尺度表示能力,包括但不限于图像分类、对象检测、实例分割等。在没有任何细节的情况下,所提出的EPSANet的性能优于大多数最先进的通道注意力方法。与SENet-50相比,在ImageNet数据集上,Top-1精度提高了1.93%,在MS-COCO数据集上使用mask RCNN进行对象检测时,获得了+2.7 box AP的更大幅度,并提高了+1.7 mask AP,例如分割。我们的源代码位于:https://github.com/murufeng/EPSANet.

1 Introduction

注意力机制广泛应用于许多计算机视觉领域,如图像分类、对象检测、实例分割、语义分割、场景解析和动作定位[1、2、3、4、5、6、7]。具体来说,有两种类型的注意方法,即通道注意和空间注意。最近,已经证明,可以通过使用通道注意、空间注意或两者来实现显著的性能改进[8、9、10、11、12]。信道注意力最常用的方法是挤压和励磁(SE)模块[13],它可以显著提高性能,成本相当低。SENet的缺点是它忽略了空间信息的重要性。因此,提出了Bottleneck Attention Module(BAM)[14]和卷积块注意力模块(CBAM)[5],通过有效结合空间和通道注意力来丰富注意力图。然而,仍然存在两个重要且具有挑战性的问题。第一个问题是如何有效地捕获和利用不同尺度特征地图的空间信息,以丰富特征空间。 第二个问题是,通道或空间注意只能有效捕获局部信息,但无法建立长期的通道依赖。相应地,提出了许多方法来解决这两个问题。提出了基于多尺度特征表示和跨通道信息交互的方法,如PyConv[15]、Res2Net[16]和HS-ResNet[17]。另一方面,一个大范围的通道依赖被展示在 [2, 18, 19].然而,所有上述方法都带来了更高的模型复杂度,因此网络承受着沉重的计算负担。基于以上观察,我们认为有必要开发一种低成本但有效的注意力模块。在这项工作中,提出了一种低成本、高性能的新型模块,称为金字塔挤压注意力(PSA)。该PSA模块能够在多个尺度上处理输入张量。具体来说,通过使用多尺度金字塔卷积结构来集成输入特征图的信息。同时,通过压缩输入张量的通道维数,可以有效地从每个通道特征图中提取不同尺度的空间信息。通过这样做,可以更精确地合并上下文特征的邻居尺度。最后,通过提取多尺度特征地图的通道方向注意权重来建立跨维度交互。Softmax操作用于重新校准相应信道的注意力权重,从而建立长程信道依赖关系。因此,通过在ResNet的瓶颈块中用PSA模块替换3x3卷积,获得了一个名为高效金字塔压缩注意力(EPSA)的新块。此外,通过将这些EPSA块堆叠为ResNet样式,提出了一个名为EPSANet的网络。如图1所示,拟议的EPSANet不仅在Top-1精度方面优于现有技术,而且在所需参数方面也更有效。这项工作的主要贡献总结如下:

1)提出了一种新的高效金字塔压缩注意力块(EPSA),该块可以在更细粒度的水平上有效地提取多尺度空间信息,并形成长距离的信道依赖性。所提出的EPSA块非常灵活和可扩展,因此可以应用于各种网络架构,以完成许多计算机视觉任务。

2)提出了一种新的主干结构EPSANet,它可以学习更丰富的多尺度特征表示,并自适应地重新校准跨维度通道注意权重。

3)大量实验表明,该EPSANet可以在ImageNet和COCO数据集上实现图像分类、目标检测和实例分割。

image-20220711103554673

2 Related Work

Attention mechanism

注意机制用于加强信息量最大的特征表达式的分配,同时抑制不太有用的特征表达式,从而使模型自适应地关注上下文中的重要区域。[13]中的挤压和激发(SE)注意力可以通过选择性地调节通道的规模来捕捉通道相关性。[5]中的CBAM可以通过为具有大尺寸内核的通道注意力添加最大池特征来丰富注意力图。受CBAM的启发,[20]中的GSoP提出了一种二阶池方法来提取更丰富的特征聚合。最近,提出了非局部块[19]来构建密集的空间特征图,并通过非局部操作捕捉长期依赖关系。基于非局部块,双注意力网络(A2Net)[8]引入了一种新的关系函数,将注意力与空间信息嵌入到特征地图中。[21]中的SKNet引入了一种动态选择注意机制,允许每个神经元根据输入特征图的多个尺度自适应调整其感受野大小。ResNeSt[12]提出了一种类似的分割注意力块,该块允许跨输入特征图组的注意力。Fcanet[9]提出了一种新的多光谱信道注意,它在频域中实现了信道注意机制的预处理。GCNet[1]引入了一个简单的空间注意模块,因此开发了一种远程信道依赖。ECANet[11]采用一维卷积层来减少完全连接层的冗余。DANet[18]通过对来自不同分支的这两个注意力模块求和,自适应地将局部特征与其全局依赖性相结合。上述方法要么侧重于设计更复杂的注意力模块,这不可避免地会带来更大的计算成本,要么它们无法建立远程信道依赖。因此,为了进一步提高效率并降低模型复杂度,提出了一种新的注意力模块PSA,该模块旨在以较低的模型复杂度学习注意力权重,并有效地整合局部和全局注意力,以建立远程信道依赖。

**Multi-scale Feature Representations **

多尺度特征表示的能力对于各种视觉任务至关重要,例如实例分割[22]、人脸分析[23]、目标检测[24]、显著目标检测[25]和语义分割[7]。对于视觉识别任务来说,设计一个能够更有效地提取多尺度特征的良好算子至关重要。通过将多尺度特征提取算子嵌入卷积神经网络(CNN),可以获得更有效的特征表示能力。另一方面,CNN可以通过卷积算子堆栈自然地学习从粗到细的多尺度特征。因此,设计更好的卷积算子是改进神经网络多尺度表示的关键

3 Method

3.1 Revisting Channel Attention

Channel attention

通道注意机制允许网络选择性地加权每个通道的重要性,从而生成更多信息输出。让 X ∈ R C × H × W X∈ R^{C×H×W} XRC×H×W表示输入特征图,其中数量H、W、C分别表示其高度、宽度和输入通道数。SE块由压缩和激励两部分组成,分别用于编码全局信息和自适应重新校准信道关系。通常,可以通过使用全局平均池来生成信道统计信息,全局平均池用于将全局空间信息嵌入到信道描述符中。全局平均池算子可以通过以下等式计算

image-20220711103759492

SE块中第c通道的注意力权重可以写为

image-20220711103826830

其中,符号δ表示[26]中所述的线性单元(ReLU)操作 W 0 ∈ R C × C / r W_0∈ R^{C×C/r} W0RC×C/r W 1 ∈ R C / r × C W_1∈ R^{C/r×C} W1RC/r×C表示完全连接(FC)层。通过两个完全连接的层,可以更有效地组合通道之间的线性信息,并且有助于高通道维度和低通道维度信息的交互。符号σ表示激励函数,实践中通常使用Sigmoid函数。通过使用激励函数,我们可以在通道交互后为通道分配权重,从而更有效地提取信息。上面介绍的生成通道注意力权重的过程在[13]中被命名为SEWeight模块,SEWeight模块的图如图2所示。

image-20220711104216573

3.2 PSA Module

这项工作的动机是建立一个更有效的通道注意机制。因此,提出了一种新的金字塔压缩注意力(PSA)模块。如图3所示,PSA模块主要分四个步骤实现。首先,通过实现所提出的Squeeze and Concat (SPC)模块,获得通道方向上的多尺度特征图。其次,通过使用SEWeight模块提取不同尺度特征地图的注意力,获得通道方向的注意力向量。第三,通过使用Softmax重新校准通道方向的注意向量,获得多尺度通道的重新校准权重。第四,将元素乘积的操作应用于重新校准的权重和相应的特征图。最后,可以获得多尺度特征信息更丰富的细化特征图作为输出。

image-20220711104609964

如图4所示,在拟议的PSA中实现多尺度特征提取的基本算子是SPC,我们以多分支方式提取输入特征图的空间信息,每个分支的输入通道维数为C。通过这样做,我们可以获得更丰富的输入张量位置信息,并在多个尺度上并行处理。因此,可以获得包含单一类型内核的特征图。相应地,可以通过在金字塔结构中使用多尺度卷积核来生成不同的空间分辨率和深度。通过压缩输入张量的通道维数,可以有效地提取每个通道特征图上不同尺度的空间信息。最后,具有不同比例 F i F_i Fi的每个特征映射具有公共通道维数 C ′ = C / S C^{'}=C/S C=C/S i = 0 , 1 , ⋅ , S − 1 i=0,1,·,S−1 i=01S1.注意,C应该可以被S整除。对于每个分支,它独立学习多尺度空间信息,并以局部方式建立跨通道交互。然而,随着内核大小的增加,参数数量将得到巨大的改善。为了在不增加计算成本的情况下处理不同核尺度下的输入张量,引入了一种组卷积方法并将其应用于卷积核。

此外,我们设计了一种新的准则,用于在不增加参数数量的情况下选择群大小。多尺度核大小和组大小之间的关系可以写成

image-20220711105639884

其中,数量K是内核大小,G是组大小。烧蚀实验验证了上述方程,特别是当k×k等于3×3,G的默认值为1时。最后,通过以下公式给出了多尺度特征地图生成函数:

image-20220711110859781

其中,第i个核大小 k i = 2 × ( i + 1 ) + 1 k_i=2×(i+1)+1 ki=2×i+1+1,第i个组大小 G i = 2 k i − 1 / 2 G_i=2^{k_i−1/2} Gi=2ki1/2 F i ∈ R C ′ × H × W F_i∈ R^{C^{'}×H×W} FiRC×H×W表示不同比例的特征图。整个多尺度预处理特征图可以通过级联方式获得,如下所示:

image-20220711111359403

其中 F ∈ R C × H × W F∈ R^{C×H×W} FRC×H×W是获得的多尺度特征图。通过从多尺度预处理特征图中提取通道注意权重信息,得到不同尺度的注意权重向量。从数学上讲,注意力权重向量可以表示为

image-20220711111757050

这里 Z i ∈ R C ′ × 1 × 1 Z_i∈ R^{C^{'}×1×1} ZiRC×1×1是注意力权重。SEWeight模块用于从不同比例的输入特征图中获取注意力权重。通过这样做,我们的PSA模块可以融合不同尺度的上下文信息,并为高级特征地图产生更好的像素级注意力。此外,为了实现注意力信息的交互,并在不破坏原始通道注意力向量的情况下融合交叉维度向量。因此,整个多尺度信道注意向量以级联方式获得,如下所示:

image-20220711111941194

这里⊕ 是concat算子, Z i Z_i Zi F i F_i Fi中的注意力值,Z是多尺度注意力权重向量。在紧凑的特征描述符 Z i Z_i Zi的引导下,跨通道使用软注意自适应地选择不同的空间尺度。软分配权重由以下公式得出:

image-20220711112127676

其中,Softmax用于获得多尺度信道的重新校准权重 a t t i att_i atti,其中包含空间上的所有位置信息和信道中的注意力权重。通过这样做,实现了局部和全局通道注意力之间的交互。然后,以级联方式融合和拼接特征重新校准的通道注意,从而可以获得整个通道注意向量,如下所示:

image-20220711112224890

其中,att表示注意力交互后的多尺度通道权重。然后,我们将多尺度通道注意力 a t t i att_i atti的重新校准权重与相应尺度 F i F_i Fi的特征图相乘为

image-20220711112324324

这里$\odot $表示通道乘法,Yi是指具有获得的多尺度通道注意力权重的特征图。**concatenation算子比求和更有效,因为它可以完整地维护特征表示,而不会破坏原始特征映射的信息。**总之,获得精细输出的过程可以写成

image-20220711112528116

如上述分析所示,我们提出的PSA模块可以将多尺度空间信息和跨通道注意力集成到每个特征组的块中。因此,我们提出的PSA模块可以在局部和全局通道注意力之间获得更好的信息交互。

3.3 Network Design

如图5所示,通过在ResNet的bottelneck块中的相应位置用PSA模块替换3x3卷积,进一步获得了一个名为高效金字塔压缩注意力(EPSA)块的新块。我们的PSA模块将多尺度空间信息和跨通道注意力集成到EPSA块中。因此,EPSA块可以在更细粒度的级别上提取多尺度空间信息,并形成远程信道依赖性。相应地,通过将提出的EPSA块堆叠为ResNet风格,开发了一种新的高效骨干网络EPSANet。该EPSANet继承了EPSA块的优点,因此具有强大的多尺度表示能力,可以自适应地重新校准跨维度通道权重。如表1所示,提出了EPSANet的两种变体,EPSANet(小)和EPSANet(大)。对于拟议的EPSANet(小),在SPC模块中,内核和组大小分别设置为(3,5,7,9)和(1,4,8,16)。拟议的EPSANet(大)具有更高的组大小,并在SPC模块中设置为(32,32,32,32)。

image-20220711112557767

image-20220711112630441

4 Experiments

image-20220711113700230

image-20220711113715450

image-20220711113731974

image-20220711113739941

5 Conclusion

本文提出了一种高效、轻量级的即插即用注意力模块,称为金字塔挤压注意力(PSA)。该PSA模块能够充分提取多尺度空间信息和通道注意向量中跨维度的重要特征。提出的高效金字塔压缩注意力块(EPSA)可以在更细粒度的水平上提高多尺度表示能力,并发展远程信道依赖性。该EPSANet可以有效地整合多尺度上下文特征和图像级分类信息。通过大量的定性和定量实验,验证了与其他传统的通道注意方法相比,所提出的EPSANet在图像分类、对象检测和实例分割方面可以实现最先进的性能。作为我们未来的工作,我们将研究在更轻量级的CNN架构中添加PSA模块的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EPSANet学习笔记 的相关文章

  • Python中range()函数的用法

    先列几个range 函数的几个用法 函数原型 range start end scan 参数含义 start 计数从start开始 默认是从0开始 例如range 5 等价于range 0 5 end 技术到end结束 但不包括end 例如
  • 配置环境变量后,mysql依旧提示“'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件”

    在启动菜单搜索 cmd 搜索到后不要点击运行 右击选择以管理员的身份运行 之后输入mysql u 用户名 p 密码 就可以了 在此输入 cmd 找到 命令提示符 右击选择 以管理员的身份运行 之后正常操作就可以了 ps 此外如果之前操作没问
  • Docker安装使用记录

    Docker使用 Docker简介 Docker 架构 Docker安装 Docker CE 镜像源站 使用官方安装脚本自动安装 仅适用于公网环境 手动安装帮助 阿里云ECS可以通过内网安装 见注释部分内容 Ubuntu 14 04 16
  • Linux笔记:命令进阶使用相关功能

    文章目录 目的 通配符 转义符 流程控制 管道符 重定向 环境变量 总结 目的 使用linux时用户可以通过一个又一个的命令来完成各种操作 除了基础的各个命令外linux还提供了各种便利的功能来协调使用这些命令 这些功能让用户在使用linu
  • jenkins 持续集成/项目部署

    前置操作可查阅 docker 安装 jenkins https xijia blog csdn net article details 127021367 spm 1001 2014 3001 5502 win安装及 jenkins 前置配

随机推荐

  • C5.0决策树算法及性能提升

    C5 0算法是基于C4 5开发的新版本 它能适用于很多类型的问题 同神经网络 支持向量机等复杂算法相比 它几乎可以表现地一样优秀 并且更容易理解和部署 这里我们将用UCI机器学习网站http archive ics uci edu ml i
  • GPIO使用教程(学习笔记)

    目录 前言 一 GPIO简介 1 1GPIO框图讲解 二 需驱动的寄存器 2 1时钟 2 2总线 2 3时钟配置 2 4寄存器配置 三 编程环境搭建 3 1完整程序 四 小结 前言 本文主要讲解如何驱动GPIO外设的相应寄存器搭建GPIO的
  • MyBatis 学习笔记:Java 中的数据持久化框架

    MyBatis 学习笔记 Java 中的数据持久化框架 数据持久化是大多数应用程序的关键需求之一 在 Java 开发中 MyBatis 是一个流行的数据持久化框架 它提供了一种简单而强大的方式来管理数据库访问 本文将介绍 MyBatis 的
  • 出门旅行懂链改这些问题都好解决

    每到旅游热潮结束后 各大平台都会纷纷晒出出游 成绩单 国内很多人都是 报复式出游 各大景区都是人山人海 有些人旅游是为了修身养性 放松身心 有些人是为了观赏大自然风光 享受一场视觉盛宴 有些人是为了探索未知事物 追求一种差异化 个性化的旅游
  • 环形队列设计思路

    环形队列设计思路 一 数据结构 数据存储在一段连续的内存空间 通过写位置 读位置来控制数据的输入输出 二 数据操作 1 判断空逻辑 写位置 读位置 2 判断满逻辑 写位置 1 MAX SIZE 读位置 3 写数据逻辑 判断数据不满 在当前写
  • GPG error: http://debian.cn99.com testing Release: Unknown error executing gpgv

    mail apt get updateGet 1 http debian cn99 com testing Release gpg 189B Hit http debian cn99 com testing ReleaseErr http
  • Servlet上传文件

    一 核心方法 1 HttpServletRequest类相关方法 方法 描述 Part getPart String name 获取请求中给定name的文件 Collection
  • java爬虫,提供链接直接爬取网页代码

    其实我只想要爬到整个网页的源代码的就好 通过java的一个包jsoup 就可以直接爬取了 后面有下载源代码 含jsoup包 的链接 输入 网页链接 输出 网页源代码 代码比较简单 解析都在代码中 import org jsoup Jsoup
  • python中lower函数是什么意思_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法 upper函数 有将小写转为大写的需要 那也有将大写转为小写的情况 本文主要介绍在python中可以将字符串大写自摸转换为小写字母的lower函数 1 lowe
  • CreateThread()和_beginthread()有什么不同?

    CreateThread 和 beginthread 有什么不同 我们知道在Windows下创建一个线程的方法有两种 一种就是调用Windows API CreateThread 来创建线程 另外一种就是调用MSVC CRT的函数 begi
  • Chart控件的用法和部署

    最近 导师让我做统计图 因为以前没有接触过 所以动起手来 难免会遇到很多的问题 经过一段时间的搜集资料和亲手操作 终于实现了我需要的功能 为了方便大家以后会更好的使用Chart控件和节省大家的时间 因此和大家分享一下我做的过程 首先 需要安
  • 时序数据的内存服务

    说明 既要坚定锻炼成熟架构的道路 也要在合理的范围内重塑设计 计算时序数据的特征 少不了 Rolling 类的操作 过去 直接采用pandas进行rolling 效率很不错 但是在实战应用时不太行 反思下来 离线的操作拓展困难 很多都是一次
  • set常用方法及遍历方式

    set常用方法 Set 接口继承 Collection 接口 而且它不允许集合中存在重复项 所有原始方法都是现成的 没有引入新方法 具体的 Set 实现类依赖添加的对象的 equals 方法来检查等同性 public int size 返回
  • Qt之QGraphicsView进阶篇

    前言 上一章节介绍了 QGraphicsView 中的基础内容 具体请参考 Qt之QGraphicsView入门篇 这一章节我们来具体了解一下 GraphicsView 框架中有哪些特性 缩放与旋转 QGraphicsView 通过 QGr
  • 查看windows mstsc远程登陆日志(client ip)

    最近有个需求 要看一下windows MSTSC的登陆日志 测试环境 win10 参考 https social technet microsoft com Forums windows en US efabde54 be5e 4be2 b
  • [C6064]警告以及解决方法

    对于函数scanf s 当出现C6064这个警告的时候 预示着缺少一个整形参量 该参量的功能是表明输入字符的长度 可以使用sizeof strlen 等函数 例子如下 scanf s s book title sizeof book tit
  • 【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值

    往期博客 Matlab BP神经网络遗传算法 BP GA 函数极值寻优 非线性函数求极值 Matlab GRNN神经网络遗传算法 GRNN GA 函数极值寻优 非线性函数求极值 Matlab RBF神经网络遗传算法 RBF GA 函数极值寻
  • elementUI表格编辑状态下,如何获取修改过的行

    表格再编辑状态 需要获取到哪一行数据被修改了 面对这样一个场景 我们可以结合element的row click事件以及动态的监听 watch来实现 tableList 代表表格的数据 rowIds代表需要记录的id数组的集合 isUpdat
  • 外设驱动库开发笔记22:ADXL345三轴数字加速度计驱动

    移动设备的广泛应用增加对移动过程中各种参数的检测需求 ADXL345三轴数字加速度计可以用来检测加速度 进而测量倾斜角度等 在这一篇中 我们将讨论ADXL345三轴数字加速度计驱动程序的设计与实现 1 功能概述 ADXL345是一款小而薄的
  • EPSANet学习笔记

    EPSANet学习笔记 EPSANet An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network Abstract 最近 研究表明 在深度卷积神