【深度学习注意力机制系列】—— SCSE注意力机制(附pytorch实现)

news2024/11/18 9:41:47

SCSE注意力模块(来自论文[1803.02579] Concurrent Spatial and Channel Squeeze & Excitation in Fully Convolutional Networks (arxiv.org))。其对SE注意力模块进行了改进,提出了cSE、sSE、scSE三个模块变体,这些模块可以增强有意义的特征,抑制无用特征。今天我们就分别讲解一下这三个注意力模块。

1、cSE模块(通道维度的SE注意力机制)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SMHvhcuu-1691560496641)(E:\学习笔记\深度学习笔记\深度学习基础知识\注意力机制\SCSE.assets\image-20230809131542884.png)]

cSE模块引入了通道注意力机制,可有效的对通道维度的特征信息进行整合增强,这一点与SE等传统通道注意力机制近似,其最大不同的是其对得到的注意力权重进行了降维再升维的操作,类似与resnet中的瓶颈结构以及Fast RCNN目标检测网络最后的全连接加速层,这种操作方式有些奇异值分解的意思,在深度学习模型中十分常见,可有效的整合通道信息,并且简化模块复杂度,减小模型计算量,提升计算速度

实现机制

  • 将特征图通过全局平均池化层将维度从[C, H, W]变为[C, 1, 1]。
  • 然后使用两个1×1卷积进行信息的处理(即降维与升维操作),最终得到C维的向量。
  • 然后使用sigmoid函数进行归一化,得到对应的权重向量文件。
  • 最后通过channel-wise与原始特征图相乘,得到经过通道信息真个校准过的特征图。

代码实现

class CSE(nn.Module):
    def __init__(self, in_channels, reduction=16):
        super(CSE, self).__init__()
        self.cSE = nn.Sequential(
            nn.AdaptiveAvgPool2d(1),
            nn.Conv2d(in_channels, in_channels // reduction, 1),
            nn.ReLU(inplace=True),
            nn.Conv2d(in_channels // reduction, in_channels, 1),
            nn.Sigmoid(),
        )
   
    def forward(self, x):
        return x * self.cSE(x)

2、sSE模块(空间维度的SE注意力机制)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xWAJQhNS-1691560496643)(E:\学习笔记\深度学习笔记\深度学习基础知识\注意力机制\SCSE.assets\image-20230809131552369.png)]

sSE模块在特征图的空间维度展开信息增强整合,同通道维度一样,其也是通过先提取权重信息,再将权重信息同原始特征图相乘得到注意力增强效果,不过在提取权重信息时是在空间维度展开,不再是使用全局平均池化层,而是使用输出通道为1,卷积核大小为1×1 的卷积层,进行信息整合

这里我们顺便简介一下1×1卷积层的作用

改变通道数 (即升维降维)

信息整合(可实现跨通道的信息交互)

增加非线性(基于奇异值分解,结合非线性激活函数,加深模型)

实现机制

  • 将特征图通过一个输出通道为1,卷积核大小为1×1 的卷积层,得到一个维度为(1, H, W)的权重矩阵。
  • 将权重矩阵进行sigmod归一化处理,得到最终的权重矩阵。
  • 将权重矩阵同原始特征图在空间维度相乘,得到最终空间信息增强特征图结果。

代码实现

class SSE(nn.Module):
    def __init__(self, in_channels):
        super(SSE, self).__init__()
        self.sSE = nn.Sequential(nn.Conv2d(in_channels, 1, 1), nn.Sigmoid())

    def forward(self, x):
        return x * self.sSE(x)

3、scSE模块(混合维度的SE注意力机制)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7I26uui-1691560496643)(E:\学习笔记\深度学习笔记\深度学习基础知识\注意力机制\SCSE.assets\image-20230809131630998.png)]

scSE模块是sSE模块和cSE模块的综合体,即同时对空间维度和通道维度进行信息整合增强,将两者的特征结果沿着通道维度进行相加(结果和原始特征图维度相同)。

实现机制

  • 将特征图通过cSE模块,得到特征图结果1。
  • 将特征图通过sSE模块,得到特征图结果2.
  • 将特征图结果1和2沿着通道维度相加,得到最终信息校正结果(前后特征图维度不变)。

代码实现

class SCSE(nn.Module):
    def __init__(self, in_channels, reduction=16):
        super(SCSE, self).__init__()
        self.cSE = nn.Sequential(
            nn.AdaptiveAvgPool2d(1),
            nn.Conv2d(in_channels, in_channels // reduction, 1),
            nn.ReLU(inplace=True),
            nn.Conv2d(in_channels // reduction, in_channels, 1),
            nn.Sigmoid(),
        )
        self.sSE = nn.Sequential(nn.Conv2d(in_channels, 1, 1), nn.Sigmoid())

    def forward(self, x):
        return x * self.cSE(x) + x * self.sSE(x)

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

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

相关文章

爬虫ip池越大越好吗?

作为一名资深的程序员,今天我要给大家分享一些关于爬虫ip池的知识。关于ip代理池的问题,答案是肯定的,池子越大越好。下面跟我一起来盘点一下ip池大的好处吧! 1、提高稳定性 爬虫ip池越大,意味着拥有更多可用的爬虫ip…

推荐几个不错的昇腾AscendCL学习资源

AscendCL(Ascend Computing Language)是一套用于在昇腾平台上开发深度神经网络推理应用的API库,支持C&C、Python语言,提供Device管理、Context管理、Stream管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等AP…

恒运资本:定向增发一般多久完成?

随着现代企业的不断发展壮大,企业需求的资金也越来越多,而定向增发成为了企业融资的一个不可或缺的方法之一。那么,定向增发一般需求多长时刻来完结呢?本文将从多个角度进行剖析,以期对此问题有更深化的了解。 一、 定…

智慧图书馆:数字发展时代的文化粮仓

以下内容来自于易知微官网,进入官网可以了解更多详情。 注意:案例数据均为虚拟数据 书籍犹如灯塔指引着人们前进的方向,同时图书馆也是一个城市的灵魂。图书馆在为我们提供学习场所的同时,也在城市文明建设过程中起着不可替代的…

如何设置文字颜色和背景颜色?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 设置文字颜色(color属性)⭐ 设置背景颜色(background-color属性)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你…

建议收藏!总结了 42 种前端常用布局方案

对 CSS 布局掌握程度决定你在Web开发中的开发页面速度。随着Web技术的不断革新,实现各种布局的方式已经多得数不胜数了。 本篇文章总结了四十二种CSS的常见布局,这四十二种布局可以细分为如下几类: 水平居中垂直居中水平垂直居中两列布局三…

# Linux下最好用的歌词工具:OSD Lyrics安装使用指引

Linux下最好用的歌词工具:OSD Lyrics安装使用指引 文章目录 Linux下最好用的歌词工具:OSD Lyrics安装使用指引1 安装1.1 直接安装1.2 源码安装 2 错误解决3 快捷方式与软件设置(很重要)4 首选项相关界面5 最后 OSD Lyrics 是一个桌…

聚焦AIGC与大模型,和鲸ModelWhale荣登“2023数字生态500强”优秀案例解决方案榜单

8月4日,2023 数字生态大会在北京盛大举行,大会聚焦并锁定 AIGC 及大模型热点,以“ AIGC 新生态 数智新时代”为主题,由 B.P 商业伙伴联合盛景网联共同举办。 为深入发挥在产业领域的启迪借鉴价值作用,本次大会重磅发布…

android 如何分析应用的内存(十七)——使用MAT查看Android堆

android 如何分析应用的内存(十七)——使用MAT查看Android堆 前一篇文章,介绍了使用Android profiler中的memory profiler来查看Android的堆情况。 如Android 堆中有哪些对象,这些对象的引用情况是什么样子的。 可是我们依然面临…

多功能翻译工具——图片翻译器

这是一款多功能的翻译工具,简单几步即可完成图片翻译操作,支持多种语言的翻译,包括英语、法语、德语、西班牙语等,并支持文档翻译、pdf翻译、同声传译等形式的翻译功能。可以轻松翻译图片、pdf、execl、txt、word等格式的文档&…

Python-OpenCV中的图像处理-图像平滑

Python-OpenCV中的图像处理-图像平滑 图像平滑平均滤波高斯模糊中值模糊双边滤波 图像平滑 使用低通滤波器可以达到图像模糊的目的。这对与去除噪音很有帮助。其实就是去除图像中的高频成分(比如:噪音,边界)。所以边界也会被模糊…

Netty 4.1.95.Final 正式发布,Java 网络应用框架

导读Netty 4.1.95 稳定版已发布。Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 此版本主要是修复错误,同时添加了一些新特性: 添加资源泄漏侦听器 (resource leak listener) (#13466)减少…

郑州市管城回族区区长丁晓永莅临中创算力走访调研重点企业

为持续优化营商环境,助力企业高质量发展。8月8日,郑州市管城回族区区长丁晓永、副区长李建安等领导深入辖区重点企业中创算力走访调研,与企业负责人座谈交流,了解企业诉求,为企业纾困解难。 中创算力董事长许伟威、技…

如何选择合适的GPU进行渲染?最佳渲染GPU推荐

选择正确 GPU 进行渲染的技巧 以下是为 3D 艺术选择显卡的一些技巧: 考虑一下您的预算:显卡的价格从几百元到几万元不等。在开始购物之前确定您愿意花多少钱。阅读评论:网上有很多关于显卡的评论,阅读它们以了解特定卡的性能如何…

SuperMap GIS基础产品桌面GIS FAQ集锦(5)

SuperMap GIS基础产品桌面GIS FAQ集锦(5) 【iDesktop】【iDesktopX】态势推演怎么使用? 【解决办法】 1、要先新建一个CAD数据集,然后将标绘加到CAD数据集中。 2、再使用态势推演管理器,右键新建分组。 3、选中场景中的…

ChatGPT会取代搜索引擎吗?BingChat、GoogleBard与ChatGPT区别

目前暂时不会,ChatGPT为代表的聊天机器人很可能会直接集成到搜索中,而不是取代它。微软已经通过Bing Chat和Bing做到了这一点,它将“聊天”选项卡直接放入Bing搜索的菜单中。Google、百度也分别开始尝试通过其AI生成技术将Google Bard、文心一…

十大排序——3.快速排序

这篇文章我们来介绍一下快速排序,主要分为:单边快排,双边快排,随机数基准点,算法优化四部分内容。 目录 1.快速排序的核心思想 2.具体实现方法 2.1单边循环(lomuto分区) 2.1.1单边循环&…

这些录音转文字软件真好用,快来试试吧

我活了这么多年,最擅长的竟然是语音翻译,你们没想到吧! 为什么我擅长语音翻译呢?事情是这样的: 以前我只要一上网课,就会心不在焉地错过许多重要的知识点,以至于学习成绩一落千丈。 在学会语…

商品推荐系统浅析 | 京东云技术团队

一、综述 本文主要做推荐系统浅析,主要介绍推荐系统的定义,推荐系统的基础框架,简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学,本人水平有限,欢迎大家指正。 二、商品…

5G RedCap

5G RedCap指的是3GPP所提出的5G标准。与之前发布的5G标准相比,功能更加精简。5G RedCap于2019年6月首次被纳入3GPP R17研究项目。 把一些不必要的功能去掉就可以带来模组价格的降低。背后的基本想法是:为物联网应用定义一种新的、不那么复杂的NR设备。 …