【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Networks

news2024/10/10 10:32:04

(ELA)Efficient Local Attention for Deep Convolutional Neural Networks

论文链接:ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org)

作者:Wei Xu, Yi Wan

单位:兰州大学信息科学与工程学院,青海省物联网重点实验室,青海师范大学

引用:Xu W, Wan Y. ELA: Efficient Local Attention for Deep Convolutional Neural Networks[J]. arXiv preprint arXiv:2403.01123, 2024.

摘要

请参阅标题

众所周知,图像的空间维度包含关键的位置信息,而现有的注意力机制要么无法有效利用这种空间信息,要么以降低通道维数为代价。为了解决这些局限性,本文提出了一种高效局部注意力(Efficient Local Attention,ELA)方法,通过分析Coordinate Attention(CA) method的局限性,确定了Batch Normalization中泛化能力的缺乏、降维对通道注意力的不利影响以及注意力生成过程的复杂性。为了克服这些挑战,提出了结合一维卷积和Group Normalization特征增强技术。这种方法通过有效地编码两个一维位置特征图,无需降维即可精确定位感兴趣区域,同时允许轻量级实现。与2D卷积相比,1D卷积更适合处理序列信号,并且更轻量、更快。GN与BN相比,展现出可比较的性能和更好的泛化能力。
在这里插入图片描述

与 CA 类似,ELA 采用strip pooling在空间维度上获取水平和垂直方向的特征向量,保持窄核形状以捕获长程依赖关系,防止不相关区域影响标签预测,从而在各自方向上产生丰富的目标位置特征。ELA 针对每个方向独立处理上述特征向量以获得注意力预测,然后使用点乘操作将其组合在一起,从而确保感兴趣区域的准确位置信息。

Method

Coordinate Attention

CA包括两个主要步骤:坐标信息嵌入和坐标注意力生成。在第一步中,通过使用strip pooling而不是spatial global pooling来捕捉长距离的空间依赖性。

考虑一个卷积块的输出为 R H × W × C R ^{H \times W \times C} RH×W×C ,分别H,W,C代表高度、宽度和通道维度(即卷积核的数量)。第一步中,为了应用strip pooling,分别在两个空间范围内对每个通道执行平均池化: ( H , 1 ) (H,1) (H,1) 在水平方向上和 ( 1 , W ) (1,W) (1,W) 在垂直方向上,数学表示如下:

z c h ( h ) = 1 H ∑ 0 ≤ i < H x c ( h , i ) z _ { c } ^ { h } ( h ) = \frac { 1 } { H } \sum _ { 0 \leq i < H } x _ { c } ( h , i ) zch(h)=H10i<Hxc(h,i)

z c w ( w ) = 1 W ∑ 0 ≤ j < W x c ( j , w ) z _ { c } ^ { w } \left( w \right) = \frac { 1 } { W } \sum _ { 0 \leq j < W } x _ { c } ( j , w ) zcw(w)=W10j<Wxc(j,w)

第二步中,由上述两个方程生成的特征图被聚合成为新的特征图,然后被送入共享转换函数 F 1 F_1 F1(一个2D卷积)以及批量归一化(BN),可以表示如下。

f = δ ( B N ( F 1 ( [ z h , z w ] ) ) ) f = \delta ( B N ( F _ { 1 } ( \left[ z ^ { h } , z ^ { w } \right] ) ) ) f=δ(BN(F1([zh,zw])))

其中,级联操作 [ . , . ] [.,.] [.,.] 沿空间维, δ \delta δ 表示非线性激活函数。中间特征图 R C / r × ( H + W ) R^{C / r \times ( H + W )} RC/r×(H+W),是水平和垂直编码后得到的。随后, f h ∈ R C / r × H f ^ { h } \in R ^ { C / r \times H } fhRC/r×H f h ∈ R C / r × H , f w ∈ R C / r × W f ^ { h } \in R ^ { C / r \times H } , f ^ { w } \in R ^ { C / r \times W } fhRC/r×H,fwRC/r×W,沿着空间维度。此外,另外两个 1 × 1 1×1 1×1卷积变换 F h F_h Fh F w F_w Fw用于生成与输入通道数相同的张量。

g c h = σ ( F h ( f h ) ) g _ { c } ^ { h } = \sigma ( F _ { h } ( f ^ { h } ) ) gch=σ(Fh(fh))

g c w = σ ( F w ( f w ) ) g _ { c } ^ { w } = \sigma ( F _ { w } ( f ^ { w } ) ) gcw=σ(Fw(fw))

其中, δ \delta δ 表示sigmoid函数。为了降低计算开销,通常适当的减少 f f f的通道数,比如32。最后得到输出 g c h g _ { c } ^ { h } gch g c w g _ { c } ^ { w } gcw ,被扩展并用作注意力权重,分别对应于水平和垂直方向。最终,CA 模块的输出可以表示为 Y Y Y

y c ( i , j ) = x c ( i , j ) × g c h ( i ) × g c w ( j ) y _ { c } ( i , j ) = x _ { c } ( i , j ) \times g _ { c } ^ { h } ( i ) \times g _ { c } ^ { w } ( j ) yc(i,j)=xc(i,j)×gch(i)×gcw(j)

通道维度的降低旨在减少模型的复杂性,但会影响通道与它们对应权重之间的关联,这可能会对整体的注意力预测产生不利影响。

Shortcomings of Coordinate Attention

在这里插入图片描述

BN极大地依赖于小批量的大小,当小批量过小时,BN计算出的均值和方差可能无法充分代表整个数据集,这可能会损害模型的总体性能。最开始CA中获得的坐标信息嵌入表示了每个通道维度内的序列信息,将BN放置在处理序列数据的网络中并不是最佳选择,特别是对于CA。

因此,CA可能会对较小的网络架构产生负面影响。相反,当GN被用作CA中BN的替代品,并融入到较小的网络架构中时,性能立即出现显著提升。此外,对CA结构的深入分析可以揭示额外的挑战。在第二步的开始,两个方向的特征图和被拼接成一个新的特征图,随后进行编码。然而,两个方向的特征图和具有独特的特性。因此,一旦合并并捕捉到它们的特点,它们各自连接处的相互影响可能会削弱每个方向上注意力预测的准确性

Efficient Local Attention

CA方法通过利用strip pooling来捕获空间维度中的长距离依赖,显著提高了准确度,尤其是在更深层的网络中。基于之前的分析,可以看出BN阻碍了CA的泛化能力,而GN(组归一化)则解决了这些不足

因为第一步中得出的位置信息嵌入是通道内的序列信号。因此,通常更合适的是使用1D卷积而不是2D卷积来处理这些序列信号。1D卷积不仅擅长处理序列信号,而且与2D卷积相比,它更加轻量化。在CA的情况下,尽管两次使用了2D卷积,但它使用的是 1 × 1 1×1 1×1 的卷积核,这限制了特征提取能力。因此,ELA采用5或7大小的1D卷积核,这有效地增强了位置信息嵌入的交互能力,使得整个ELA能够准确找到感兴趣的区域

z h z_h zh z w z_w zw 不仅捕捉了全局感知场,还捕捉了精确的位置信息。为了有效地利用这些特征,作者设计了一些简单的处理方法。对两个方向(水平和垂直)上的位置信息应用一维卷积以增强其信息。随后,使用组归一化 G n G_n Gn 来处理增强的位置信息,可以得到在水平和垂直方向上的位置注意力的表示:

y h = σ ( G n ( F h ( z h ) ) ) y w = σ ( G n ( F w ( z w ) ) ) \begin{matrix} y ^ { h } = \sigma ( G _ { n } ( F _ { h } ( z _ { h } ) ) ) \\ y ^ { w } = \sigma ( G _ { n } ( F _ { w } ( z _ { w } ) ) ) \end{matrix} yh=σ(Gn(Fh(zh)))yw=σ(Gn(Fw(zw)))

其中, σ \sigma σ 为非线性激活函数, F h F _ { h } Fh F w F _ { w } Fw 表示一维卷积,卷积核设置为5或7。尽管参数数量略有增加,但大小为 7 7 7 的卷积核表现更好。

Multiple ELA version settings

为了在考虑参数数量的同时优化ELA的性能,引入了四种方案:ELA-Tiny(ELA-T),ELA-Base(ELA-B),ELA-Small(ELA-S)和ELA-Large(ELA-L)。

  1. ELA-T的参数配置为 kernel size = 5, groups = in channels, num group = 32;
  2. ELA-B的参数配置为 kernel size = 7, groups = in channels, num group = 16;
  3. ELA-S的参数配置为 kernel size = 5, groups = in channels/8, num group = 16;
  4. ELA-L的参数配置为 kernel size = 7, groups = in channels/8, num group = 16;

Visualization

为了评估ELA方法的有效性,作者在ImageNet上进行了两组实验:ResNet(不包含注意力模块)和ELA-ResNet(包含ELA)。为了评估性能,作者使用了五张图像进行测试。通过使用GradCAM生成视觉 Heatmap ,作者在第四层(最后一个阶段的最后瓶颈)展示了两组模型的成果。下图说明了作者提出的ELA模块成功指导整个网络更精确地聚焦于目标细节的相关区域。这一演示突显了ELA模块在提高分类准确度方面的有效性。

在这里插入图片描述

Implementation

在这里插入图片描述

实验

在这里插入图片描述

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

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

相关文章

高效测量“芯”搭档 | ACM32激光测距仪应用方案

激光测距仪概述 激光测距仪是利用激光对目标的距离进行准确测定的仪器。激光测距仪在工作时向目标射出一束很细的激光&#xff0c;由光电元件接收目标反射的激光束&#xff0c;计时器测定激光束从发射到接收的时间&#xff0c;计算出从观测者到目标的距离。激光测距仪分为手持激…

4核8G服务器租用优惠价格418元一年,可买3年

京东云4C8G云服务器优惠价格418元1年、1899元三年&#xff0c;配置为&#xff1a;轻量云主机4C8G-180G SSD系统盘-5M带宽-500G月流量&#xff0c;京东云主机优惠活动 atengyun.com/go/jd 可以查看京东云服务器详细配置和精准报价单&#xff0c;活动打开如下图&#xff1a; 京东…

【MySQL探索之旅】MySQL数据表的增删查改——约束

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

魔众众包系统——革命性的在线任务接单平台

魔众众包系统&#xff0c;一个革命性的在线任务接单平台&#xff0c;最新版本为v1.9.0&#xff0c;发布日期为2024年3月10日。这个平台不仅提供了一个高效的任务分配和管理环境&#xff0c;还通过其先进的技术架构&#xff0c;确保了系统的稳定性和可靠性。无论是对于企业还是个…

金蝶云星空和旺店通·旗舰奇门接口打通对接实战

金蝶云星空和旺店通旗舰奇门接口打通对接实战 对接源平台:金蝶云星空 金蝶K/3Cloud&#xff08;金蝶云星空&#xff09;是移动互联网时代的新型ERP&#xff0c;是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”&#xff0c;旨在帮助企业…

『大模型笔记』提示工程、微调和RAG之间对比

提示工程、微调和RAG之间对比 文章目录 一. 提示工程、微调和RAG之间对比二. 参考文章文章:Prompt Engineering vs Finetuning vs RAG一. 提示工程、微调和RAG之间对比 Prompt EngineeringFinetuning

2024年MathorCup数学建模思路B题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

综合实验1

一、配置IP地址 [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [AR1-GigabitEthernet0/0/0]int se4/0/0 [AR1-Serial4/0/0]ip add 15.1.1.1 24 [AR1-Serial4/0/0] [AR2]int g0/0/0 [AR2-GigabitEthernet0/0/0]ip add 192.168.2.254 24 [AR2-Giga…

阿里云2核4G云服务器165元一年,ECS u1优惠价格199元一年

阿里云2核4G服务器租用优惠价格&#xff0c;轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图&#xff1a; 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…

【python】深入探讨flask是如何预防CSRF攻击的

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

【八大排序】一篇文章搞定所有排序

文章目录 1.排序的概念2.常见排序算法的实现2.1 插入排序2.1.1直接插入排序2.1.2希尔排序 2.2选择排序2.2.1直接选择排序:2.2.2堆排序 2.3交换排序2.3.1冒泡排序2.3.2快速排序Hoare法前后指针法挖坑法非递归版本 2.4归并排序递归版本非递归版本 2.5计数排序3.排序的比较 1.排序…

这款3D的小米su7的网页体验,你一定要进来看看

这款3D的小米su7的网页体验&#xff0c;你一定要进来看看 一、背景介绍二、技术介绍三、网站演示四、总结 大家好&#xff0c;这里是程序猿代码之路。今天主要给大家介绍一款3D的小米su7的网页体验背后的技术。随着互联网技术的不断进步&#xff0c;3D可视化已经成为在线展示和…

蓝桥杯基础练习汇总详细解析(一)——数列排序、十六进制转八进制、十六进制转十进制、十进制转十六进制、特殊回文数(代码实现、解题思路、Python)

试题 基础练习 数列排序 资源限制 内存限制&#xff1a;512.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 给定一个长度为n的数列&#xff0c;将这个数列按从小到大的顺序排列。1<n<200 输入格式 第…

FalconHound:一款专为蓝队设计的BloodHound增强与自动化测试工具

关于FalconHound FalconHound是一款专为蓝队研究人员设计的多功能安全测试工具&#xff0c;该工具允许广大研究人员以更加自动化的形式增强BloodHound的能力&#xff0c;并将其整合进渗透测试活动中。除此之外&#xff0c;该工具还可以跟SIEM或其他日志聚合工具一起使用。 Fal…

【滑动窗口】Leetcode 将 x 减到 0 的最小操作数

题目解析 1658. 将 x 减到 0 的最小操作数 算法讲解 这道题按照题目要求的话会变得很难&#xff0c;因为不仅需要考虑数字减到0&#xff0c;还需要考虑最小的操作数。正难则反&#xff0c;按照这个思路&#xff0c;我们来解析题目 这道题本质上无非就是在左边寻找一段区间&a…

Flink CDC 同步数据到Doris

Flink CDC 同步数据到Doris Flink CDC 是基于数据库日志 CDC(Change Data Capture)技术的实时数据集成框架,支持了全增量一体化、无锁读取、并行读取、表结构变更自动同步、分布式架构等高级特性。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量…

翔云身份证实名认证接口-PHP调用方法

网络平台集成实名认证接口&#xff0c;是顺应当下网络实名制规定&#xff0c;有效规避法律风险。互联网平台若没有实名认证功能&#xff0c;那么便无法保证网民用户身份的真实性&#xff0c;很有可能被虚假用户攻击&#xff0c;特别是在当网络平台产生垃圾信息乃至是违法信息时…

【JavaSE】java刷题——基础语法熟练应用

前言 通过本篇题目&#xff0c;可以让初学Java的小伙伴们更加熟练Java的基础语法~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 题1&#xff1a;数字9 出现的次数 题述&#xff1a;编写程序数一下 1到 100 的所有整数中…

芒果YOLOv8改进145:全新风格原创YOLOv8网络结构解析图

&#x1f4a1;本篇分享一下个人绘制的原创全新风格 YOLOv8网络结构图 感觉搭配还行&#xff0c;看着比较直观。 该专栏完整目录链接&#xff1a; 芒果YOLOv8深度改进教程 订阅了专栏的读者 可以获取一份 <可以自行修改 / 编辑> 的 YOLOv8结构图修改源文件 YOLOv8结构图…

MAC上好用的文件查找软件

和windows上的everything很像&#xff0c;不过就是要钱&#xff0c;我简单测试了一下还可以蛮好用的&#xff0c;