Senet学习记录

Senet是2017年Image Classification的冠军,本文主要是为了记录一下senet的block的结构。


Senet主要做的是从空间维度上来提升网络的性能,于是就有了两个比较重要的操作,即:Squeeze和Excitation。

其中Squeeze主要是顺着空间维度方向来进行压缩,将每个channel的二维的feature map经过global average pooling变成一个数。这个数在某种程度上来讲是有一定的全局感受野的,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野。

对于Excitation,主要是为了学习特征通道channel之间的相关性。

最后加入一个Reweight操作将Excitation的输出的1x1xc的feature map(其实可以看成是经过特征选择后的每个特征通道重要性的权重),然后经过乘法的方式加到先前的特征上,从而完成在特征通道维度上完成对原数据的标定。


Senet学习记录_第1张图片


Senet学习记录_第2张图片

使用 global average pooling 作为 Squeeze 操作。紧接着两个 Fully Connected 层组成一个 Bottleneck 结构去建模通道间的相关性,并输出和输入特征同样数目的权重。我们首先将特征维度降低到输入的 1/16,然后经过 ReLu 激活后再通过一个 Fully Connected 层升回到原来的维度。这样做比直接用一个 Fully Connected 层的好处在于:1)具有更多的非线性,可以更好地拟合通道间复杂的相关性;2)极大地减少了参数量和计算量。然后通过一个 Sigmoid 的门获得 0~1 之间归一化的权重,最后通过一个 Scale 的操作来将归一化后的权重加权到每个通道的特征上。

你可能感兴趣的:(Senet学习记录)