1 神经网络加上注意力机制后精度不升反降,原因何在?添加注意力机制未达预期效果,原因不外乎两点:一是代码实现存在错误,二是注意力机制本身不适配。代码错误问题在此暂不赘述,需重点关注激活函数、残差连接等关键环节。而针对注意力机制不适配的情况,我们需深入理解:

 

2 注意力机制本质上是一种特征,它通过附加到源特征上,实现类似特征增强的效果。从原理上讲,引入注意力机制后,即便效果未显著提升,也不应导致性能下降。然而,在实际应用中,我们却经常遇到性能下滑的情况(理论上,若注意力机制完全未发挥作用,即所有权重均置零,则相当于未添加注意力机制。但在现实网络学习中,这种情况几乎不会发生,因此更可能出现的是学习效果不佳导致性能下降)。

 

3 换个角度来说,注意力机制是一组权重,这些权重附加到特征上后,有的会增强特征,有的则不会。当大量权重附加都达到增强效果,而只有少量特征受到负面影响时,注意力机制整体上就起到了增强作用。这也是我们常说的注意力机制能够强化有用特征、弱化无用特征的作用。但实际上,我们无法确切知道它强化的是哪些特征,也不可能保证它强化的都是有用特征。

 

4 注意力机制的提升效果并不显著,其增强作用是多层堆叠后的整体体现。需要明确的是,在常用的resnet模型中,虽然注意力机制只添加在一个位置,但注意力机制的效果与网络层的数量是正相关的。更深的resnet模型之所以能取得更好的注意力效果,归根结底是因为注意力的层数增多了。

 

📍另外,我整理了十篇关于CNN+注意力机制的最新论文及代码,方便大家参考。

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐