作者的动机:希望显式地建模特征通道之间的相互依赖关系。
具体方法:并未引入新的空间维度来进行特征通道间的融合,而是采用了一种全新的「特征重标定」策略。通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。Sequeeze-and-Excitation(SE) block并不是一个完整的网络结构,而是一个子结构,可以嵌到其他分类或检测模型中。
数据处理过程:
- 输入 x,其特征通道数为 c1,通过一系列卷积等一般变换后得到一个特征通道数为 c2 的特征
- Squeeze 操作,顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野。
- Excitation 操作,它是一个类似于循环神经网络中门的机制。通过参数 w 来为每个特征通道生成权重,其中参数 w 被学习用来显式地建模特征通道间的相关性。
这里先用W1乘以z,就是一个全连接层操作, W1的维度是C/r * C,这个r是一个缩放参数,在文中取的是16,这个参数的目的是为了减少channel个数从而降低计算量。又因为z的维度是1*1*C,所以W1z的结果就是1*1*C/r;然后再经过一个ReLU层,输出的维度不变;然后再和W2相乘,和W2相乘也是一个全连接层的过程, W2的维度是C*C/r,因此输出的维度就是1*1*C;最后再经过sigmoid函数,得到s。
- Reweight 的操作,将 Excitation 的输出的权重看做是进过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定。
在具体网络中的应用:
局限性:只考虑内部通道信息而忽略了位置信息的重要性
参考文章:SENet(Squeeze-and-Excitation Networks)网络详解-CSDN博客