ECA模块的提出过程

接上文
作者首先肯定了通道注意力机制(在 S E N e t SENet SENet当中提出来的)的作用,对于没有参数的 S E − V A R 1 SE-VAR1 SEVAR1模型,其效果仍然超过没有通道注意力机制的网络,可见注意力机制是有用的。
ECA模块的提出过程_第1张图片
但是作者不认为降维是有效的,作者认为这会让通道之间的关系变得不直接。
ECA模块的提出过程_第2张图片
所以作者直接使用没有经过降维的模块与 S E N e t SENet SENet模块做对比,发现比原始降维的通道注意力机制效果好…
ECA模块的提出过程_第3张图片
这两个模块: S E − V A R 2 SE-VAR2 SEVAR2 S E − V A R 3 SE-VAR3 SEVAR3长这样:
ECA模块的提出过程_第4张图片
S E − V A R 2 SE-VAR2 SEVAR2可以看出即使是独立的学习通道,效果也比降维要好,更多的是需要在不降维的情况下学习通道之间的直接关系,而不是考虑非线性关系。
对比 S E − V A R 2 SE-VAR2 SEVAR2 S E − V A R 3 SE-VAR3 SEVAR3来看,可以看出 S E − V A R 3 SE-VAR3 SEVAR3要强于 S E − V A R 2 SE-VAR2 SEVAR2,这个是因为 S E − V A R 3 SE-VAR3 SEVAR3考虑了通道之间的交互关系,而不是独立的考虑各个通道。但是我们会发现 S E − V A R 3 SE-VAR3 SEVAR3的参数量较大,在维度比较高的时候,这个矩阵是很大的,因此在 S E − V A R 2 SE-VAR2 SEVAR2 S E − V A R 3 SE-VAR3 SEVAR3之间的折中是把矩阵做成以下这种对角阵的形式:
ECA模块的提出过程_第5张图片
这个块叫做 S E − G C SE-GC SEGC,从表格我们可以看出,这个块相对比 S E − V A R 2 SE-VAR2 SEVAR2来说,并没有显著的性能提升(这个 S E − G C SE-GC SEGC的实现方式是分组卷积),作者认为这可能是因为这个模块是独立地学习组与组之间的关系,更应该让组与组之间有交互。
ECA模块的提出过程_第6张图片

因此作者继续对块进行了改进,也就是把矩阵改成了以下这种形式:
ECA模块的提出过程_第7张图片
这个实际上就是一维卷积,而这个矩阵被称为 E C A − N S ECA-NS ECANS
ECA模块的提出过程_第8张图片
这里面的 k k k与通道 C C C有一个非线性的映射关系,也就是:
ECA模块的提出过程_第9张图片
最后作者认为 k k k取值为 3 3 3的话,卷积块的效果应该会更好。

你可能感兴趣的:(python,深度学习)