SENet 在于通过网络根据loss去学习特征权重,获取到每个feature map的重要程度,然后用这个重要程度去给每一个特征通道赋予一个权重值,从而让神经网络去重点关注某些feature map , 使得有效的feature map权重大,无效或效果小的feature map权重小,使模型达到更好的效果,同时也不可避免的增加了一些参数和计算量。

2.SENet注意力机制 结构

输入input是一个H x W x C 的特征,共C个通道,然后进行一个空间的全局平均池化,每个通道得到一个标量,输出为 1 x 1 x C , 然后再送入两层的全连接神经网络,同时保持size不变,然后再通过一个Sigmoid函数得到C个0~1之间的权重Mc,格式为1 x 1 x C,作为C个通道各自的权重,然后Mc x input得到输出feature map(对应通道的每个元素与权重分别相乘)。

2.1 squeeze:

在空间维度上进行特征压缩,得到1 x 1 x C 的通道描述,这个feature map具有全局的感受野,也就是说将一个通道上的整个空间信息压缩为一个全局特征,最后得到C个全局特征,采用global average pooling 实现。公式如下:

2.2 excitation:

squeeze得到1 x 1 x C的feature map 后,再通过FC -> Relu -> FC -> Sigmoid学习通道间的关系,第一个FC将1 x 1 x C 压缩为1 x 1 x C/r(r取16时效果最好) ,然后第二个FC再扩充为1 x 1 x C。

2.3 scale:

scale操作是将前面学习到的各个通道的权重系数Mc通过乘法与对应通道所有元素相乘,以便实现重要的特征增强,不重要的特征减弱 ,从而让提取的特征指向性更强。

3.code:

class SENet(nn.Module):def __init__(self , in_planes , ration = 16):super(SENet, self).__init__()'''AdaptiveAvgPool2d():自适应平均池化不需要自己设置kernelsize stride等只需给出输出尺寸即可'''self.avg_pool = nn.AdaptiveAvgPool2d(1) # 通道数不变,H*W变为1*1self.fc1 = nn.Conv2d(in_planes , in_planes // 16 , 1 , bias = False)self.relu1 = nn.ReLU()self.fc2 = nn.Conv2d(in_planes//16 , in_planes ,1, bias = False)self.sigmoid = nn.Sigmoid()def forward(self , x):avg_out = self.fc2(self.relu1(self.fc1(self.avg_pool(x))))return self.sigmoid(out)

SEnet 通道注意力机制相关推荐

  1. 《Squeeze-and-Excitation Networks》SE-Net通道注意力机制

    前言 在阅读了一系列Activation Funtion论文之后,其中Dynamic Relu的论文提到了基于注意力机制的网络,因此先来看看经典的SE-Net的原理 Introduction 对于CN ...

  2. 【深度学习】(8) CNN中的通道注意力机制(SEnet、ECAnet),附Tensorflow完整代码

    各位同学好,今天和大家分享一下attention注意力机制在CNN卷积神经网络中的应用,重点介绍三种注意力机制,及其代码复现. 在我之前的神经网络专栏的文章中也使用到过注意力机制,比如在MobileN ...

  3. 通道注意力机制 cnn keras_【CV中的Attention机制】简单而有效的CBAM模块

    前言: CBAM模块由于其使用的广泛性以及易于集成得到很多应用.目前cv领域中的attention机制也是在2019年论文中非常火.这篇cbam虽然是在2018年提出的,但是其影响力比较深远,在很多领 ...

  4. 空间注意力机制和通道注意力机制详解

    Attention机制在近几年来在图像,自然语言处理等领域中都取得了重要的突破,被证明有益于提高模型的性能. Attention机制本身也是符合人脑和人眼的感知机制,这次我们主要以计算机视觉领域为例, ...

  5. SEnet 通道注意力模块

    SEnet 通道注意力模块 开篇一张图: 变量和图片解释: 三个正方体:特征向量,比如说图像的特征,H表示图片高度.W表示图片宽.C表示通道(黑白1通道.彩色3通道) 字母: X表示输入特征: Ftr ...

  6. 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解

    前言 注意力机制一直是一个比较热的话题,其实在很早之前就提出了,我们在学习图像分类时在SENet就见到过(直通车:经典神经网络论文超详细解读(七)--SENet(注意力机制)学习笔记(翻译+精读+代码 ...

  7. 通道注意力机制_即插即用,Triplet Attention机制让Channel和Spatial交互更加丰富(附开源代码)...

    ↑ 点击蓝字 关注极市平台作者丨ChaucerG来源丨AI人工智能初学者编辑丨极市平台 极市导读 本文介绍了一种新的注意力机制--Triplet Attention,它通过使用Triplet Bran ...

  8. 通道注意力机制keras_在TensorFlow+Keras环境下使用RoI池化一步步实现注意力机制

    项目地址:https://gist.github.com/Jsevillamol/0daac5a6001843942f91f2a3daea27a7 理解 RoI 池化 RoI 池化的概念由 Ross ...

  9. 浙大 | FcaNet:频域通道注意力机制(keras实现)

    FcaNet: Frequency Channel Attention Networks  paper:http://arxiv.org/abs/2012.11879 code:https://git ...

最新文章

  1. YOLO算法史上最全综述:从YOLOv1到YOLOv5
  2. 牛客网——求平均年龄(水题)
  3. python 搜索引擎Whoosh中文文档和代码 以及jieba的使用
  4. 通过virtualbox最小化安装centos 6.3后无法上网解决办法
  5. Python即Python解释器的发展史
  6. final、finally、finalize的区别
  7. KubeCon 2019 北美会议完美落幕| 云原生生态周报 Vol. 29
  8. Spring中都用到了哪些设计模式?
  9. LeetCode 6062. 设计一个 ATM 机器
  10. shrio 登陆后 还是失效_在 iPhone 上取消订阅后,应用或内容会立即失效吗?
  11. CSS一行显示,显示不下的用省略号显示
  12. Oracle开源Fn,加入Serverless之争
  13. LuoguP2764 最小路径覆盖问题(最大流)
  14. 【MFC开发(2)】新建一个对话框MFC项目(vs2013)
  15. 免费HTML5期末大作业:我的家乡网站设计——可根据百度百科--曹县
  16. 随机数C语言 (就做个笔记储存一下)
  17. html5 连连看小游戏
  18. 写一个函数,求一个字符串的长度。
  19. 任正非解释华为鸿蒙系统,比Android/iOS还要快,看任正非怎么说华为鸿蒙系统
  20. 国际专利:是走PCT还是巴黎公约|湾区人工智能

热门文章

  1. 周灵王,姬泄心(?―前545年)
  2. 分享我的匿名邮件群发系统 VC版,可匿名发送: 163 126 139 gmail 21cn 263 及各类企业级邮件
  3. Spring系列学习之Spring LDAP
  4. 你不可不知的二十三大隐藏较深的论坛!
  5. webpack5之HMR原理探究
  6. 定义函数,输入三角形的三条边,求三角形面积
  7. Java生成随机字符串
  8. Mysql主键索引,普通索引索引,唯一索引的区别
  9. 记一次hackbar乱码密文中文解码
  10. 2022跨年-跨年倒计时(烟花)