论文链接:
https://ojs.aaai.org/index.php/AAAI/article/download/5917/5773
代码链接:
https://github.com/gbup-group/IEBN
欢迎访问我们的github
- 如SENet这样的注意力机制结构和批归一化作用形式实际上很接近;
- 文章给出了两种噪声影响的实验,包括常数噪声攻击,混合数据噪声攻击;
- 认为如SENet这样的注意力机制结构work的原因可能是对数据中噪声的有效自适应调节;
- 根据上述观察,提出了一种较轻量的批归一化技术,即IEBN。
如下图所示,它在神经 络的某个位置,通过”某种作用”对这个位置的feature map按channel为维度,每个channel乘上一个系数。
SENet (squeeze-and-excitation networks)
注意到,实际上这种说法也同样比较符合包括batch normalization在内的各种归一化方法(BN, IN,GN等等),以batch normalization为例,
批归一化:batch normalization
至此,我们从这个统一的观点出发,探究如SENet这样的注意力机制work的可能的原因。实际上在很多工作中,SENet的作用位点跟在BN的后面,即如下所示:
如SENet在BN后作用
注意力机制的噪声调节(以风格迁移为例)
以风格迁移任务作为探究对象,如下图所示,我们发现带有BN的 络在风格迁移的结果中有一些奇怪。这是因为风格迁移任务是噪声敏感的(Salimans and Kingma 2016),BN的操作 引入了batch上的噪声,因此在风格迁移中常用的归一化方法是IN(Instance normalization),IN在归一化的 时候,均值和方差都仅仅从local的sample中计算,因此不会混入batch上的噪声。从风格迁移的结果来看, IN的结果确实比BN好(就。。就感觉比较和谐,没有一坨一坨的感觉?我也不知道应该怎么说风格迁移 的好和不好┑( ̄Д  ̄)┍)
此时,当我们在BN上加入SE模块后,惊奇地发现,SE+BN的结果和IN非常相似。尽管仍然使用了BN,引入了batch的噪声,但是由于SE接在BN后面,这样的”噪声“竟然被消除(或者说缓解)了!
风格迁移任务
从loss的角度的话,SE+BN也更加接近于没有batch noise的IN的曲线,并远离BN的训练loss,
风格迁移train loss
噪声攻击
为了进一步说明注意力机制对噪声的调节,本节在图像分类任务上给出两种混入噪声的方式。
1. 常数噪声攻击
乘上一个常数再加上另一个常数
常数噪声攻击结果
2. 混合数据噪声攻击
混合数据噪声攻击
结果如上图所示,再次说明了注意力机制在对噪声调节的优越性!
IBEN模块的提出
既然BN需要一个有力的噪声调整,我们为何不直接在BN上接一个注意力机制的系数(本质上仍然是注意力机制的模块)以得到一个新的归一化方法,即一个拥有自适应调节噪声的BN呢?不过注意到的是,这个产生注意力机制系数的过程一定要是轻量级的,否则在替换BN的过程中会产生很多的参数量,因此,我们设计了如下的归一化过程:
IEBN
不需要像SENet那样来一个FC,而只需要每一个channel给予两个系数做线性变换即可,实验发现IBEN的不仅参数少,而且性能强劲~值得一试。更多的实验和分析欢迎大家到文章中查阅。
未来的工作
- 对于注意力如何提升 络性能的原理的探究目前工作还是比较少。我们提出的注意力机制对噪声的控制的论点,有潜力在一些关注噪声的领域,例如生成模型,对抗攻击中应用,domaim shifting相关工作中;
- 针对一些使用了BN 络的应用,可以考虑使用IEBN等带有注意力模块的批归一化方法;
- 一些未有解决的问题也可以进一步讨论,如为什么BN不能处理如常数攻击这样的简单干扰?
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!