位置: 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皮纳)

  • 微信视频背景虚化怎么关(微信视频背景虚化怎么关闭)

    微信视频背景虚化怎么关(微信视频背景虚化怎么关闭)

  • 魅族 18 Pro采用的什么闪光灯(魅族18 pro使用感受)

    魅族 18 Pro采用的什么闪光灯(魅族18 pro使用感受)

  • 戴尔笔记本电脑黑屏按哪个键恢复(戴尔笔记本电脑开不了机)

    戴尔笔记本电脑黑屏按哪个键恢复(戴尔笔记本电脑开不了机)

  • 宽带没欠费却上不了网(宽带没欠费突然连不上网了)

    宽带没欠费却上不了网(宽带没欠费突然连不上网了)

  • 微云超级会员有什么用呢(微云超级会员有直升活动吗)

    微云超级会员有什么用呢(微云超级会员有直升活动吗)

  • 手机烧屏会自己恢复吗(手机烧屏会自己修吗)

    手机烧屏会自己恢复吗(手机烧屏会自己修吗)

  • soul注销要多久(soul注销要多久成功)

    soul注销要多久(soul注销要多久成功)

  • 送话器自己能修复吗(送话器好修吗)

    送话器自己能修复吗(送话器好修吗)

  • 卸载更新的后果是什么(卸载更新会删除文件吗)

    卸载更新的后果是什么(卸载更新会删除文件吗)

  • 华为手机开机时间太长怎么办(华为手机开机时出现英文字母)

    华为手机开机时间太长怎么办(华为手机开机时出现英文字母)

  • 抖音点哪里成为粉丝(怎么成为抖音点赞员)

    抖音点哪里成为粉丝(怎么成为抖音点赞员)

  • 微视每天几点刷新(微视每天几点刷视频)

    微视每天几点刷新(微视每天几点刷视频)

  • 12306添加不了候补需求(12306为什么添加不了自己)

    12306添加不了候补需求(12306为什么添加不了自己)

  • 华为nova6本来就贴膜了吗(华为 nova 6)

    华为nova6本来就贴膜了吗(华为 nova 6)

  • iphone8内存是2还是3(iphone8内存规格)

    iphone8内存是2还是3(iphone8内存规格)

  • 下载微信怎么下载(长虹电视下载微信怎么下)

    下载微信怎么下载(长虹电视下载微信怎么下)

  • qq上怎么算聊天频繁(qq如何统计聊天记录条数)

    qq上怎么算聊天频繁(qq如何统计聊天记录条数)

  • jsnaloo是什么型号(jsnan什么意思)

    jsnaloo是什么型号(jsnan什么意思)

  • 文件忘了保存如何恢复(文件忘了保存怎么办)

    文件忘了保存如何恢复(文件忘了保存怎么办)

  • ppt播放设置(PPT播放设置间隔时间)

    ppt播放设置(PPT播放设置间隔时间)

  • 手机黑屏但是有反应(手机黑屏但是有声音怎么办)

    手机黑屏但是有反应(手机黑屏但是有声音怎么办)

  • 联想lenovo ideapad笔记本电脑开机进入BIOS的方法及BIOS设置全攻略(联想lenovo ideapad 320-15AST)

    联想lenovo ideapad笔记本电脑开机进入BIOS的方法及BIOS设置全攻略(联想lenovo ideapad 320-15AST)

  • XGBOOST算法Python实现(保姆级)(XGboost算法预测股价模型)

    XGBOOST算法Python实现(保姆级)(XGboost算法预测股价模型)

  • 织梦dedecms调用会员详细字段信息(织梦常用调用标签)

    织梦dedecms调用会员详细字段信息(织梦常用调用标签)

  • 进项税额转出完整会计分录怎么做 案例
  • 服务类一般纳税人无进项
  • 小型微利企业所得税减免政策
  • 如何理解增值税中性特点
  • 代收代缴消费税会计分录
  • 去年收到一张普票超范围了怎么办
  • 公司房租只有房租租赁协议无发票怎么入账
  • 总公司如何分配股份
  • 固定资产报废电脑
  • 劳务费发票入账在所得税中有何规定
  • 公司把钱借给个人
  • 固定资产出售账户处理
  • 进项发票当月不抵扣怎么入账
  • 劳务费个税申报税率
  • 印花税注册资本缴税时间
  • 个人所得税未缴算偷税吗
  • 个人所得税需要计提吗?怎么做会计分录
  • 进项税转出月底怎么处理
  • 小规模纳税人收到专票后如何处理
  • window如何打开控制台
  • windows10出现你的电脑出现问题
  • 专用发票增量申请流程
  • win11系统关闭防火墙怎么关
  • vue+cesium怎么实现地图的加载
  • PHP:mb_encode_mimeheader()的用法_mbstring函数
  • 支付厂房租金计入什么科目
  • 会计核算形式的定义
  • 免购车税政策
  • php的什么函数可以判断变量是否存在
  • 增值税逾期未申报怎么补申报
  • 深度测试软件
  • 基于YOLOv5的中式快餐店菜品识别系统
  • php jsonp
  • php获取远程图片文件流
  • 管理人员工资属于直接费还是间接费
  • 财政拨入的科技费是什么
  • 期初未分配利润在哪个表
  • 其他应收账款怎么做预算会计分录
  • sqlserver解密工具
  • 小企业会计准则适用于哪些企业
  • 建筑工程维修费占总费用多少
  • 资本支出预算属于经营预算吗
  • 收到银行承兑汇票的账务处理
  • 企业收到投资者投入资金
  • 外贸企业退税怎么申报
  • 超市出租摊位交什么税
  • 制造费用怎么写
  • 材料报废如何做分录
  • 法院强制执行根本没用
  • 固定资产内部抵扣增值税
  • 营业外收入与其他业务收入的区别
  • 超市卡发票可以作为费用吗
  • 残保金计算人数1.02怎么计算
  • 新成立公司怎么办理社保开户
  • sqlserver的case 用法
  • distinct 多个
  • Winserver2012下mysql 5.7解压版(zip)配置安装教程详解
  • freebsd使用手册
  • win7旗舰版32位系统激活
  • mac系统怎么查看
  • 富泽园假日酒店
  • xp如何改windows7
  • win8的系统
  • centos vi命令
  • 电脑系统垃圾
  • linux中su切换用户不成功
  • 如何保留windows.old
  • libts.so.0
  • 极简主义分析
  • 行为怪异的人有问题吗
  • JavaScript Array对象详解
  • 深入探讨英文
  • javascript开关
  • js继承的方法
  • 电脑多窗口同步操作
  • 医保属于地税还是国税
  • 如何查询车辆购买信息
  • 公益性公墓免交税吗
  • 企业间借款合同印花税怎么交
  • 张家港港区国税局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设