代码笔记22 关于注意力机制中的归一化问题
1
直接上结论,需要归一化,尤其是对sigmoid之前的特征,其他的过程特征不归一化也无所谓。先看sigmoid函数
看到了吧,这玩意儿在极小的时候是0,极大的时候是1。
以通道注意力机制为例,获得的1D的attentionmap代表着对每个通道(也就是特征)的筛选与强调,如果不归一化会导致大量的通道乘以权重后为0(直接筛没了)
以空间注意力机制为例,不归一化可以想想,大多数的像素点可能都被赋予0的权重了,我拿两张图做个对比
不归一化:
归一化:
谁知道不归一化出来的是个什么鬼东西, 基本等于没输出特征
还好我做了可视化,怪不得消融实验效果不好呢。
由此可见,注意力机制一定要在sigmoid之前做归一化!!!