20210330论文笔记--3篇注意力机制算法

/1  SE-Net《Squeeze-and-Excitation Networks》

Jie Hu, Li Shen, and Gang Sun. Squeeze-and-excitation networks. In IEEE Conf. Comput. Vis. Pattern Recog., pages 7132–7141, 2018

代码    https://github.com/miraclewkf/SENet-PyTorch

通过一个小型的子网络,自动获得一组权重,对各个特征通道进行加权

在数据含有较多噪声时,可以考虑把“特征加权”给换成“软阈值化”。

软阈值化是信号降噪算法的常用步骤。软阈值化的梯度,要么为0,要么为1,这是和ReLU一样的,也有利于避免梯度消失和爆炸

/2  《ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks》

Qilong Wang, Banggu Wu, Pengfei Zhu, Peihua Li, Wangmeng Zuo, and Qinghua Hu. Eca-net: Effificient channel attention for deep convolutional neural networks. In IEEE Conf. Comput. Vis. Pattern Recog., pages 11534–11542, 2020.

代码   https://github.com/BangguWu/ECANet

基于SE-Net的扩展,其认为SE block的两个FC层之间的维度缩减是不利于channel attention的权重学习的,这个权重学习的过程应该直接一一对应。

  ECA-Net的做法为:(1)Global Avg Pooling得到一个1*1*C的向量;(2)通过一维卷积来完成跨channel间的信息交互。

  一维卷积的卷积核大小通过一个函数来自适应,使得channel数较大的层可以更多地进行cross channel 交互。自适应卷积核大小k,γ= 2 , b = 1,odd表示t最接近的奇数。

 

***block的结构:(1)global avg pooling产生1 ∗ 1 ∗ C 大小的feature maps;(2)两个fc层(中间有维度缩减)来产生每个channel的weight。

***ECA-Net的结构:(1)global avg pooling产生1 ∗ 1 ∗ C 大小的feature maps;(2)计算得到自适应的kernel_size;(3)应用kernel_size于一维卷积中,得到每个channel的weight。

(ECA)模块图。考虑到由global average pooling (GAP)获得的聚合特征the aggregated features,ECA通过执行大小为k的快速一维卷积生成channel权值,其中k通过channel维数C的映射自适应确定。

/3   CBAM: Convolutional Block Attention Module

Sanghyun Woo, Jongchan Park, Joon-Young Lee, and In So Kweon. Cbam: Convolutional block attention module. In Eur. Conf. Comput. Vis., pages 3–19, 2018

 代码    https://github.com/luuuyi/CBAM.PyTorch

基于SE-Net,该attention方法只关注了通道层面上哪些层会具有更强的反馈能力,但是在空间维度上并不能体现出attention的意思。CBAM作为本文的亮点,将attention同时运用在channel和spatial两个维度上,CBAM与SE Module一样,可以嵌入了目前大部分主流CNN网络中,在不显著增加计算量和参数量的前提下能提升网络模型的特征提取能力。

子模块:

通道子模块在共享网络中同时利用了最大池化输出和平均池化输出。

空间子模块利用类似的两个输出,沿着通道轴汇集,并将它们传送到卷积层。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注意力机制是一种用于加强神经网络模型对输入中不同部分的关注程度的方法。除了自注意力机制,还有以下几种常见的注意力机制算法: 1. 全局注意力机制(Global Attention):全局注意力机制将输入序列中的每个元素都考虑在内,通过计算每个元素与目标元素之间的相关性来确定权重。常见的全局注意力机制包括加权平均池化(Weighted Average Pooling)和加权求和(Weighted Sum)。 2. 局部注意力机制(Local Attention):局部注意力机制只考虑输入序列中与目标元素相关性较高的一部分元素,以减少计算量。常见的局部注意力机制包括卷积注意力(Convolutional Attention)和位置敏感注意力(Location-Sensitive Attention)。 3. 多头注意力机制(Multi-head Attention):多头注意力机制通过将注意力机制应用于多个子空间来提高模型的表达能力。它将输入进行线性变换后分成多个子空间,然后在每个子空间上进行独立的注意力计算,最后将结果进行合并。 4. 双向注意力机制(Bidirectional Attention):双向注意力机制结合了全局和局部注意力机制,同时考虑输入序列中所有元素和目标元素之间的相关性。它可以捕捉到全局和局部的上下文信息。 5. 多模态注意力机制(Multimodal Attention):多模态注意力机制用于处理多个输入模态之间的关联。它可以将不同模态的特征进行融合,以便更好地理解多模态数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值