位置: IT常识 - 正文

深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)

编辑:rootadmin
深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)

目录

常用的注意力机制模型

SE Attention

CBAM Attention

CBAM Attention 模型结构​

CBAM Attention 代码实现(Pytorch版):

 注意力机制加到网络的哪里合适


常用的注意力机制模型

推荐整理分享深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)

常用的注意力机制多为SE Attention和CBAM Attention。它们基本都可以当成一个简单的网络。例如SE注意力机制,它主要就是由两个全连接层组成,这就是一个简单的MLP模型,只是它的输出变了样。所以,在我们把注意力机制加入主干网络里时,所选注意力机制的复杂程度也是我们要考虑的一个方面,因为增加注意力机制,也变相的增加了我们网络的深度,大小。

SE Attention

详见这篇博文

经典网络模型-SENet注意力机制_L888666Q的博客-CSDN博客_senet网络模型

CBAM Attention

CBAM(Convolutional Block Attention Module) 表示卷积模块的注意力机制模块。是一种结合了空间(spatial)和通道(channel)的注意力机制模块。一般情况下,相比于SEnet只关注通道(channel)的注意力机制可以取得更好的效果。其中CBAM的结构如下面两张图,由Channel Attention和 Spatial Attention这两个模块组成,其中Channel Attention模块和SENet是十分相似的,只是在池化上做了最大和平均池化,把FC层换成了卷积。至于Spatial Attention模块,这个更为简单,本质上就是一个卷积层。论文地址

CBAM Attention 模型结构CBAM Attention 代码实现(Pytorch版):import numpy as npimport torchfrom torch import nnfrom torch.nn import initclass ChannelAttention(nn.Module): def __init__(self,channel,reduction=16): super().__init__() self.maxpool=nn.AdaptiveMaxPool2d(1) self.avgpool=nn.AdaptiveAvgPool2d(1) self.se=nn.Sequential( nn.Conv2d(channel,channel//reduction,1,bias=False), nn.ReLU(), nn.Conv2d(channel//reduction,channel,1,bias=False) ) self.sigmoid=nn.Sigmoid() def forward(self, x) : max_result=self.maxpool(x) avg_result=self.avgpool(x) max_out=self.se(max_result) avg_out=self.se(avg_result) output=self.sigmoid(max_out+avg_out) return outputclass SpatialAttention(nn.Module): def __init__(self,kernel_size=7): super().__init__() self.conv=nn.Conv2d(2,1,kernel_size=kernel_size,padding=kernel_size//2) self.sigmoid=nn.Sigmoid() def forward(self, x) : max_result,_=torch.max(x,dim=1,keepdim=True) avg_result=torch.mean(x,dim=1,keepdim=True) result=torch.cat([max_result,avg_result],1) output=self.conv(result) output=self.sigmoid(output) return outputclass CBAMBlock(nn.Module): def __init__(self, channel=512,reduction=16,kernel_size=49): super().__init__() self.ca=ChannelAttention(channel=channel,reduction=reduction) self.sa=SpatialAttention(kernel_size=kernel_size) def forward(self, x): b, c, _, _ = x.size() residual=x out=x*self.ca(x) out=out*self.sa(out) return out+residual 注意力机制加到网络的哪里合适

注意力机制是一个独立的块,一般来说加在哪里都是可以的,但是,注意机制加入我们的网络中时,他是会影响我们网络的特征提取的,即它注意的特征不一定都是我们重要的特征。所以注意力机制加入我们网络的位置就比较重要了。当我我们使用一个注意力机制不知道加在哪里时可以去看看提出注意力机制作者的源代码。如CBAM注意力机制的源代码,加在了残差网络(以resnet18为例)的残差块后面。如果我们使用的网络不是注意力机制作者使用的网络,建议加在最后一个卷积层后面或者第一个全连接层前面。当然并不是每个注意力机制或者每个网络都适用,因为不同的注意力机制注意的地方可能都不一样,所以加到主干网络的地方可能也不一样。  

本文链接地址:https://www.jiuchutong.com/zhishi/295880.html 转载请保留说明!

上一篇:VsCode安装yarn:yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名(vscode安装python3)

下一篇:元宇宙、区块链 通俗易懂(元宇宙区块链数字货币)

  • 国产动画经济学 , 二次元营销到底靠不靠谱?(动漫中的经济学ppt)

    国产动画经济学 , 二次元营销到底靠不靠谱?(动漫中的经济学ppt)

  • vivo手机怎么改时间日期(vivo手机怎么改锁屏壁纸)

    vivo手机怎么改时间日期(vivo手机怎么改锁屏壁纸)

  • 红米note11机身材质是什么(红米note11厚度)

    红米note11机身材质是什么(红米note11厚度)

  • app内购买是什么意思花钱吗(app内购买是花钱吗)

    app内购买是什么意思花钱吗(app内购买是花钱吗)

  • Redmi Note 9 Pro Max是全面屏还是打孔屏

    Redmi Note 9 Pro Max是全面屏还是打孔屏

  • 微信红包可以退回吗(微信红包可以退换回去吗)

    微信红包可以退回吗(微信红包可以退换回去吗)

  • ios13什么时候出公测(iphone13什么时候出)

    ios13什么时候出公测(iphone13什么时候出)

  • 为什么oppo手机没有录屏功能(为什么oppo手机打不开)

    为什么oppo手机没有录屏功能(为什么oppo手机打不开)

  • 线程间通信的几种方法(线程间通信的几种机制)

    线程间通信的几种方法(线程间通信的几种机制)

  • 微信能改微信号嘛(微信能改微信号了吗)

    微信能改微信号嘛(微信能改微信号了吗)

  • 传输层pdu是什么(传输层定义)

    传输层pdu是什么(传输层定义)

  • iphone11摇晃有声音正常吗(iphone11pro摇晃有声音)

    iphone11摇晃有声音正常吗(iphone11pro摇晃有声音)

  • 应用运行异常怎么解决(应用异常如何解决?)

    应用运行异常怎么解决(应用异常如何解决?)

  • 淘宝评价追评能删除吗(淘宝评价追评之后能再追评吗)

    淘宝评价追评能删除吗(淘宝评价追评之后能再追评吗)

  • 855plus与865区别(855plus和865哪个好)

    855plus与865区别(855plus和865哪个好)

  • iphone11pro无线充电功率(iphone11pro无线充电最大功率)

    iphone11pro无线充电功率(iphone11pro无线充电最大功率)

  • 电脑上微信怎么艾特好友(电脑上微信怎么识别二维码)

    电脑上微信怎么艾特好友(电脑上微信怎么识别二维码)

  • 信息出现叹号怎么回事(信息出现感叹号)

    信息出现叹号怎么回事(信息出现感叹号)

  • 苹果手表1代有什么功能(苹果手表1代有血氧)

    苹果手表1代有什么功能(苹果手表1代有血氧)

  • 手机qq日志怎么删除(手机QQ日志怎么删除)

    手机qq日志怎么删除(手机QQ日志怎么删除)

  • 手机怎么挂在脖子上(手机怎么挂挂饰)

    手机怎么挂在脖子上(手机怎么挂挂饰)

  • 如何查自己的拼多多ID(如何查自己拼多多总共花了多少钱)

    如何查自己的拼多多ID(如何查自己拼多多总共花了多少钱)

  • 开蓝牙对人体有害吗(开蓝牙对人体有什么危害)

    开蓝牙对人体有害吗(开蓝牙对人体有什么危害)

  • 华为p30锁屏签名为什么不显示(华为p30锁屏签名能调整位置吗)

    华为p30锁屏签名为什么不显示(华为p30锁屏签名能调整位置吗)

  • 怎么把文章发到朋友圈(怎么把文章发到qq邮箱)

    怎么把文章发到朋友圈(怎么把文章发到qq邮箱)

  • 【新星计划】如何写好你的博客,涨粉技巧总结(新星计划会限流吗)

    【新星计划】如何写好你的博客,涨粉技巧总结(新星计划会限流吗)

  • 深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构(深入理解linux内核)

    深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构(深入理解linux内核)

  • 电子税务局如何删除办税人员
  • 公司购买的意外险属于个人还是公司
  • 小规模所得税税负率怎么计算
  • 自然人税收管理系统换了电脑怎么恢复数据
  • 房产税原值是否包括土地
  • 事业单位固定资产
  • 购买材料产生的运杂费怎么做分录
  • 公司和员工之间
  • 开具的发票是否为印花税的应税凭证?
  • 有关税收的征收管理规定介绍
  • 查账征收所得税计税依据
  • 企业盈利后又亏损怎么算
  • 建筑行业劳务费会计分录
  • 货物损失怎么处理
  • 收到的税收返还包括
  • 公司的投资额和实际不符
  • 当年的成本发票必须当年结算吗
  • 库存商品无发票所得税怎么调增
  • windows10.0
  • 房地产预缴所得税的计税基础
  • php初学者常见问题和答案
  • 与资产相关的政府补助,如果相关资产在使用寿命结束时
  • 农产品专票可以开零税率吗
  • mac 查看当前用户
  • 超过认证期的发票怎么办
  • 财务人员应计入什么科目
  • vue组件继承并重写属性方法
  • 油猴脚本插件官网
  • 预付账款的会计编码是多少?
  • 职工福利费用怎么入账
  • 存货盘亏的账务处理进项税额转出
  • 快速搞懂Pinia及数据持久化存储(详细教程)
  • 可供出售债权投资
  • 代扣费用会计分录
  • 购买土地需要缴纳增值税吗
  • 织梦模板转讯睿模板
  • 厂房出租一年多少钱
  • 一般纳税人接受的下列服务中不得抵扣进项税额的有
  • sqlserver2016维护计划
  • 个人所得税计提会计分录怎么做
  • 申报纳税的步骤
  • 银行开的手续费发票开错了
  • 增值税销项税额抵减账务处理
  • 大家怎么看理想这个牌子
  • 固定资产的类别
  • 支付设备款怎么做账
  • 政府给企业的奖励能给个人吗
  • 借款怎么收回来
  • 公司给员工结婚红包
  • 出口确认收入的时间
  • 出口货物两张报关单
  • 公司场地租赁交什么税
  • 公司购药品入什么科目
  • 新成立的公司如何申请资质
  • 企业财务会计是应用在各类企业
  • 商业企业购进商品的分录
  • mysql多字段排序原理
  • mysql导入sql脚本指定编码
  • centos6.9 yum
  • sql server怎么使用sql语句
  • window部署服务
  • mac如何更换系统
  • centos云服务器
  • win8更新一直停着不动
  • Linux/Ubuntu chmod命令详解使用格式和方法
  • 安装软件报错1606
  • window10找不到安装的软件
  • win8.1玩游戏好不好
  • linux cpan
  • 铁嘴的故事
  • django自定义模板标签
  • vue+node+webpack环境搭建教程
  • dos 改名
  • JavaScript中length属性的使用方法
  • jquery中什么方法用于模拟光标悬停事件
  • js 竖线
  • JavaScript 事件对象介绍
  • doctype报错
  • 河北电子税务局移动端
  • 土地增值税法定扣除项目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设