位置: IT常识 - 正文

注意力机制-CA注意力-Coordinate attention(注意力机制详解)

编辑:rootadmin
注意力机制-CA注意力-Coordinate attention 注意力机制学习--CA(Coordinate attention)简介CA注意力机制的优势:提出不足算法流程图代码最后简介

推荐整理分享注意力机制-CA注意力-Coordinate attention(注意力机制详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:注意力机制 cv,注意力机制 lstm,注意力机制 cv,注意力机制 cv,注意力机制 q k v,注意力机制 lstm,注意力机制cbam,注意力机制工作原理,内容如对您有帮助,希望把文章链接给更多的朋友!

CA(Coordinate attention for efficient mobile network design)发表在CVPR2021,帮助轻量级网络涨点、即插即用。

CA注意力机制的优势:注意力机制-CA注意力-Coordinate attention(注意力机制详解)

1、不仅考虑了通道信息,还考虑了方向相关的位置信息。 2、足够的灵活和轻量,能够简单的插入到轻量级网络的核心模块中。

提出不足

1、SE注意力中只关注构建通道之间的相互依赖关系,忽略了空间特征。 2、CBAM中引入了大尺度的卷积核提取空间特征,但忽略了长程依赖问题。

算法流程图

step1: 为了避免空间信息全部压缩到通道中,这里没有使用全局平均池化。为了能够捕获具有精准位置信息的远程空间交互,对全局平均池化进行的分解,具体如下: 对尺寸为C∗H∗WC*H*WC∗H∗W输入特征图InputInputInput分别按照XXX方向和YYY方向进行池化,分别生成尺寸为C∗H∗1C*H*1C∗H∗1和C∗1∗WC*1*WC∗1∗W的特征图。如下图所示(图片粘贴自B站大佬渣渣的熊猫潘)。 step2:将生成的C∗1∗WC*1*WC∗1∗W的特征图进行变换,然后进行concat操作。公式如下: 将zhz^hzh和zwz^wzw进行concat后生成如下图所示的特征图,然后进行F1操作(利用1*1卷积核进行降维,如SE注意力中操作)和激活操作,生成特征图f∈RC/r×(H+W)×1f \in \mathbb{R}^{C/r\times(H+W)\times1}f∈RC/r×(H+W)×1。 step3:沿着空间维度,再将fff进行split操作,分成fh∈RC/r×H×1f^h\in \mathbb{R}^{C/r\times H \times1}fh∈RC/r×H×1和fw∈RC/r×1×Wf^w\in \mathbb{R}^{C/r\times1\times W}fw∈RC/r×1×W,然后分别利用1×11 \times 11×1卷积进行升维度操作,再结合sigmoid激活函数得到最后的注意力向量gh∈RC×H×1g^h \in \mathbb{R}^{C \times H \times 1 }gh∈RC×H×1和gw∈RC×1×Wg^w\in \mathbb{R}^{C \times1\times W}gw∈RC×1×W。 最后:Coordinate Attention 的输出公式可以写成:

代码

代码粘贴自github。CoordAttention 地址:https://github.com/houqb/CoordAttention/blob/main/mbv2_ca.py

class CoordAtt(nn.Module): def __init__(self, inp, oup, groups=32): super(CoordAtt, self).__init__() self.pool_h = nn.AdaptiveAvgPool2d((None, 1)) self.pool_w = nn.AdaptiveAvgPool2d((1, None)) mip = max(8, inp // groups) self.conv1 = nn.Conv2d(inp, mip, kernel_size=1, stride=1, padding=0) self.bn1 = nn.BatchNorm2d(mip) self.conv2 = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0) self.conv3 = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0) self.relu = h_swish() def forward(self, x): identity = x n,c,h,w = x.size() x_h = self.pool_h(x) x_w = self.pool_w(x).permute(0, 1, 3, 2) y = torch.cat([x_h, x_w], dim=2) y = self.conv1(y) y = self.bn1(y) y = self.relu(y) x_h, x_w = torch.split(y, [h, w], dim=2) x_w = x_w.permute(0, 1, 3, 2) x_h = self.conv2(x_h).sigmoid() x_w = self.conv3(x_w).sigmoid() x_h = x_h.expand(-1, -1, h, w) x_w = x_w.expand(-1, -1, h, w) y = identity * x_w * x_h return y最后

CA不仅考虑到空间和通道之间的关系,还考虑到长程依赖问题。通过实验发现,CA不仅可以实现精度提升,且参数量、计算量较少。

简单进行记录,如有问题请大家指正。

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

上一篇:el-table(type=“selection“)多选框两种回显

下一篇:鸟瞰皮纳图博火山湖和山脉,菲律宾波拉克 (© Amazing Aerial Agency/Offset by Shutterstock)(bestars皮纳)

  • 不要被人看不起,首先要做好自己

    不要被人看不起,首先要做好自己

  • qq音乐无缝播放怎么开(qq音乐无缝播放怎么开电脑模式)

    qq音乐无缝播放怎么开(qq音乐无缝播放怎么开电脑模式)

  • 人脸识别是看眼睛瞳孔吗(人脸识别是看眼还是看脸)

    人脸识别是看眼睛瞳孔吗(人脸识别是看眼还是看脸)

  • 微信传视频最大多大(微信传视频最大文件是多少)

    微信传视频最大多大(微信传视频最大文件是多少)

  • 区分朋友圈屏蔽和清空(区分朋友圈屏蔽还是删除)

    区分朋友圈屏蔽和清空(区分朋友圈屏蔽还是删除)

  • oppo手机文件导入电脑(oppo手机导入文件)

    oppo手机文件导入电脑(oppo手机导入文件)

  • 大华电子秤不出纸怎么办(大华电子秤不出纸滴滴响)

    大华电子秤不出纸怎么办(大华电子秤不出纸滴滴响)

  • 微信聊天记录占内存吗(微信聊天记录占内存怎么查)

    微信聊天记录占内存吗(微信聊天记录占内存怎么查)

  • 电脑开始菜单栏不见了(电脑开始菜单栏怎么调整位置?)

    电脑开始菜单栏不见了(电脑开始菜单栏怎么调整位置?)

  • honor7x怎么隐藏软件(honor7怎么隐藏软件)

    honor7x怎么隐藏软件(honor7怎么隐藏软件)

  • 苹果xs开机按什么键呢(苹果手机xs开机键是哪个)

    苹果xs开机按什么键呢(苹果手机xs开机键是哪个)

  • 手机老是黑屏一闪一闪(手机老是黑屏一下又亮怎么办呢)

    手机老是黑屏一闪一闪(手机老是黑屏一下又亮怎么办呢)

  • 钉钉学生号有什么用(钉钉学生号什么意思)

    钉钉学生号有什么用(钉钉学生号什么意思)

  • 爆屏是什么意思(爆屏还能继续用吗?)

    爆屏是什么意思(爆屏还能继续用吗?)

  • 为什么有的朋友圈要点进去才能看到(为什么有的朋友圈刷不到但是点进去都可以看)

    为什么有的朋友圈要点进去才能看到(为什么有的朋友圈刷不到但是点进去都可以看)

  • 电脑长时间开机的危害(电脑长时间开机后自动关机)

    电脑长时间开机的危害(电脑长时间开机后自动关机)

  • 小米cc9是什么屏幕(小米cc9屏幕尺寸多大)

    小米cc9是什么屏幕(小米cc9屏幕尺寸多大)

  • 显卡驱动日期代表什么意思(显卡驱动程序日期)

    显卡驱动日期代表什么意思(显卡驱动程序日期)

  • 淘宝怎么解绑支付宝(淘宝怎么解绑支付宝和手机号)

    淘宝怎么解绑支付宝(淘宝怎么解绑支付宝和手机号)

  • mdt6是小米什么型号(小米mde6是什么手机)

    mdt6是小米什么型号(小米mde6是什么手机)

  • adb调试是什么意思(adb调试模式)

    adb调试是什么意思(adb调试模式)

  • 京东退货上门要多久(京东退货上门要给快递员钱吗)

    京东退货上门要多久(京东退货上门要给快递员钱吗)

  • realmex2pro采用什么散热系统(realmex2pro好不好)

    realmex2pro采用什么散热系统(realmex2pro好不好)

  • 小米6x屏幕是oled还是lcd(小米6x是oled屏吗)

    小米6x屏幕是oled还是lcd(小米6x是oled屏吗)

  • 手机怎么同时开wifi和热点

    手机怎么同时开wifi和热点

  • 什么是硬件描述语言,其主要作用是什么(什么是硬件描述工具)

    什么是硬件描述语言,其主要作用是什么(什么是硬件描述工具)

  • 微信红包找不到了怎么办(微信红包找不到了怎么回事儿)

    微信红包找不到了怎么办(微信红包找不到了怎么回事儿)

  • Win7系统中,放大镜的使用方法(在windows7中用来存放硬盘中被删除的文件或文件夹的是)

    Win7系统中,放大镜的使用方法(在windows7中用来存放硬盘中被删除的文件或文件夹的是)

  • 自动驾驶数据集(一):KITTI数据集介绍(自动驾驶数据集 mev)

    自动驾驶数据集(一):KITTI数据集介绍(自动驾驶数据集 mev)

  • 银行存款利息收税吗
  • 个体工商户要做帐吗
  • 个人独资企业税种有哪些
  • 资产负债表的其他流动资产包括哪些
  • 红冲以后怎么做账
  • 综合所得申报如何手工填写信息
  • 业务收入和营业收入关系
  • 租入住房用于职工福利,进项转出吗?
  • 农产品核定扣除增值税进项税额计算表
  • 无形资产建造期间的摊销记在哪里
  • 水泥销售成本怎么算
  • 预付账款改为什么科目
  • 股权转让资产怎么清算
  • 事业单位库存物品
  • 汽车固定资产清理账务处理
  • 产品销售返利模式
  • 年终红包怎么入账
  • 企业代扣代缴的个人所得税应通过税金及附加科目核算
  • 少交了增值税怎么补
  • 什么叫项目所在地
  • 经营用的固定资产
  • 怎么区分进和近
  • 消耗性生物资产与生产性生物资产的区别
  • 暂停水电
  • 合同负债属于什么费用
  • 香港公司的法人叫什么
  • 补缴城镇土地使用税会计分录怎么做
  • 个人其他应收款在贷方表示什么
  • 计提长期债券利息分录
  • system进程有什么用
  • php创建表单
  • 暂估入账收入会计分录
  • 处置控制的子公司有哪些
  • mom.exe是什么进程
  • neoCapture.exe - neoCapture是什么进程 有什么用
  • linux virt-manager
  • 销售房产营业税怎么算
  • 银行存款日记账怎么记账
  • 舍夫沙万的蓝色是什么意思
  • 劳务费支出计入什么科目?
  • 汽车定额发票怎么填写
  • framework core
  • axure rp 9视频教程
  • 视同销售的增值税怎么申报
  • 质保金如果以后可以退吗
  • js中的对象种类有哪些
  • sqlserver2019查看表
  • 房地产项目转让流程
  • 可以直接在企业所得税税前扣除的是
  • 工程项目怎么挣钱
  • 往来账款应该怎么记账
  • 购买金税盘抵税会计分录
  • 收到客户承兑怎么做账
  • 展会赠品
  • 车子租赁费开什么发票?多少税
  • 会计入职新公司
  • 编制利润表的主要根据是
  • 在centos上安装ftp服务应运行指令
  • 搜索框打开
  • for windows vista only
  • debian reference
  • 微软9月补丁
  • broadcom网卡配置
  • centos7日志管理
  • ubuntu系统服务器
  • ubuntu虚拟机与windows共享文件
  • ubuntu20.04怎么用
  • ubuntu系统安装程序
  • win8.1截图工具快捷键
  • win7无法保存对权限所作的更改
  • js基于对象的特点是什么
  • 安卓sdk目录下用来存放各种版本sdk的目录是
  • 用css滤镜实现的代码
  • jquery one()
  • js设置延时执行
  • js 模块 modules
  • 超链接打开比较合适的方式是什么
  • Android SDK Manager无法更新的解决方案
  • 哪个机场离东莞樟木头最近
  • 陕西省电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设