Squeeze-and-Excitation Networks

作者提出SE blocks,通过堆叠SE blocks,可以生成SENet架构。SE blocks基本结构如图1。

Squeeze-and-Excitation Networks_第1张图片

论文目的是通过明确的模型化卷积特征图之间的内部依赖关系,来增强网络的表达能力。通过一个给定的变换:Ftr : X → U,X ∈ RW‘×H‘×C’ ,U ∈ R W×H×C,我们可以建造一个对应的SE block,对特征再校准。特征U首先通过squeeze操作,汇集特征图产生通道描述器。这个通道描述器嵌入通道特征相应的全局分布,使得从网络全局感受野得到的信息可以被低层使用。然后再加以一个excitation操作,特定样本的activations(每个通道依据通道的独立性,通过自我门机制,学习特定样本的activations)控制每个通道的excitation。然后特征图U被重新分配权重,产生SE block的输出,直接输入下一个squeeze层。

将SE block代替到网络的不同深度会有不同的效果。如果是网络的浅层,SE block以广泛的方式激发有信息的特征,支撑共享低维特征图的质量。在网络深层,SE block将会产生特异性,对不同的输入产生不同的响应。总结来说,由于SE block产生的特征再校准这个优点,可以通过整个网络来累加。
作者将SE block应用到已有的网络框架,SE-ResNet, SE-Inception, SE-ResNeXt 和SE-Inception-ResNet。
传统的卷积会将不同通道的信息融合在一起,本文的目的是保证网络增加有效信息的敏感性,可以被后边的变换来激发,并且压缩无用信息。
首先考虑激发通道独立性。由于每个滤波器通过局部感受野操作,结果就是输出不能激发这个感受野之外纹理信息。这个问题在网络浅层更加突出,因为浅层的感受野很小。
为了缓和这个问题,作者提出一种办法。对每个通道使用global average pooling(squeeze操作)。这样,每个通道产生一个值,每个值包含对应通道的全局信息。为了使用squeeze操作得到的信息,在squeeze操作之后,在增加一个操作,目的是提取通道的依赖性。当然这个操作必须满足两个标准:1.必须灵活,能够学习通道之间的非线性联系;2.必须学习非排斥关系,由于多通道能够被强调相反的激活。所以引入使用sigmoid激活的门机制。将全局池化之后的输出设为z。

这里写图片描述
δ为ReLU激活函数,这里写图片描述这里写图片描述。其实就是两个全连接的串联。当然第一个全连接的输出是不固定的,通过超参数r调节。全连接层最后的输出个数为C,和输入通道个数相同,然后通过sigmoid,最后和对应的通道相乘。
作者使用SE-ResNet-50网络对r进行实验,如表5。

Squeeze-and-Excitation Networks_第2张图片

图2为SE block和inception的结合。

Squeeze-and-Excitation Networks_第3张图片

图3为和残差模块的结合。

Squeeze-and-Excitation Networks_第4张图片

结构总结:
Squeeze操作:将正常卷积后的每个输出通道进行global average pooling。
Squeeze-and-Excitation Networks_第5张图片
Excitation:然后进行通过2层全连接层,这两个全连接层之间加入ReLu,第二个全连接层输出通过sigmoid。
这里写图片描述
第一个全连接层的输出个数通过一个缩放因子r来控制,为C/r,C为输入通道数,第二个全连接层输出为C。

在经过Squeeze和Excitation之后,将得到的C个值分别与对应的输入通道相乘。
这里写图片描述
Sc为每个C值,Uc为对应的输入通道。

你可能感兴趣的:(论文笔记)