SimAM: 无参Attention----核心分析

这篇博客介绍了SimAM,一种无参数的注意力机制,用于提升CNN中神经元的线性可分性。通过引入二进制标签和能量函数,该模块通过降低神经元间的重叠度来强调重要神经元。作者提供了论文链接、代码和博客详细解释了其工作原理和实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks

论文链接(已收录于ICML 2021):

http://proceedings.mlr.press/v139/yang21o/yang21o.pdf

代码:https://github.com/ZjjConan/SimAM

参考博客:https://blog.csdn.net/hb_learing/article/details/11907785

 其中:

1、\widehat{t} =w_{t}t + b_{t}  ; \widehat{x_{i}} = w_{t}x_{i} + b_{t}

2、t 和 x_{i} 分别指输入特征X的目标神经元和其他神经元,X\in R^{C\times H\times W}

3、i 指空间维度上的索引

4、M = H \times W 指 在某个通道上所有神经元的个数

5、w_{t} 和 b_{t} 分别指某个神经元变换时的“权重” 和 “偏差”

6、引入二进制标签代替 y_{t} 和 y_{o} ,其中:\binom{y_{t} = 1}{y_{o} = -1}

7、求解最小化 e_{t} ,相当于找到了目标神经元与其他神经元的线性可分性 (怎么理解勒,看下面的个人想法):

        \left ( y_{t} - \widehat{t} \right )^{2}  表示 “我就是我” , \left ( y_{o} - \widehat{x_{i}} \right )^{2} 表示 “你就是你” , 我俩相加的值越小,说明我俩越不重叠,分的越开,区别越大, 那么 “我” 就越重要!

        最小化上述公式等价于训练同一通道内神经元 t 与其他神经元之间的线性可分性。为简单起见,我们采用二值标签,并添加正则项,最终的能量函数定义如下:

         理论上,每个通道有 M = H \times W个能量函数。幸运的是,上述公式具有如下解析解:

其中:

1、 

 

2、

3、解析解:就像一元二次方程一样,当有解时,一定可以用一个公式把解求出来,

例如:  x = \frac{-b \pm \sqrt{b^{2} - 4ac}}{2a}

        分别把 w_{t} 和 b_{t} 带入原公式,就可以求出最小能量:

 其中:

1、从统计的角度来说,并且为了减少计算量,\mu _{t} 和 \sigma _{t}^{2} 可以分别由均值和方差代替,因此有了下面两个代替式子

2、均值  \widehat{\mu } = \frac{1}{M}\sum_{i = 1}^{M}x_{i} ,   方差  \widehat{\sigma }^{2} = \frac{1}{M}\sum_{i = 1}^{M}(x_{i} - \widehat{\mu })^{2}

        上述公式意味着:能量越低,神经元 t 与周围神经元的区别越大,重要性越高。因此,神经元的重要性可以通过 \frac{1}{e_{t}^{*}}{\color{Red} } 得到。到目前为止,我们推导了能量函数并挖掘了神经元的重要性。按照注意力机制的定义,我们需要对特征进行增强处理:

         下图给出了SimAM的pytorch风格实现code:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫呱呱

如果这篇博文对你有用,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值