《Squeeze-and-Excitation Networks》这篇文章在17年就发布在axiv上了,最近一次修改是2019年五月,最近看用的人还是蛮多的,可能是因为效果好而且使用简单吧。
该网络其实可以理解为一个网络中的插件,可以和各种网络配合,如最基础的卷积层,resnet,inception等等。下面来看看它的实现原理。
一、SE块(SQUEEZE-AND-EXCITATION BLOCKS)
SE模块是在一个我们称为的变化上建立的,其中的输入为,输出为。
为了便于理解,我们可以将变换看成是一个简单的卷积操作,用式子表示,其中表示第c个卷积核。那么输出能用下式表示:
上式中*表示卷积,,,且。是一个2D空间卷积,这里为了简化没有体现出bias。这里通过卷积层的建模,使得通道间的卷积特征有了一些隐形的提取过程。为了让通道间的特征更好的利用全局信息,在提取到的特征被送入下一层前,我们提出了两步操作,分别称为squeeze和excitation。
上述公式看起来很麻烦,SE blocks可以很形象用下图表示:
图1.png
下面来分别介绍一下squeeze和excitation操作。
1.1 Squeeze:: Global Information Embedding
因为每个卷积提取到的特征都是一个局部特征,或者说是个局部的感受野,因此特征是不能利用感受野外的一些信息。
为了缓解这个问题,我们提出了squeeze操作。它其实就是对提取到的特征,在每个通道上执行全局平均池化(global average pooling)。用公式表示,是对特征在空间维度执行全局平均池化后的结果。对于z的每一个元素表示如下:
1.2 Excitation: Adaptive Recalibration
为了利用squeeze操作的信息和利用通道间的信息依赖,我们接下来使用excitation操作来完成,而且这个操作需要满足两个条件:第一,操作灵活能够获得通道间的非线性关系;第二,学到的关系不一定是互斥的,因为我们希望多个通道特征被加强,而不是像one-hot那种形式,只加强某一个通道特征。
为了满足这两个条件我们采用下式的变换形式:
上式中,表示sigmoid函数,表示relu函数,,。因为excitation操作有两个全连接层,为了简化操作引入了参数r,r是用来减少全连接层维度的。
得到s后,可以通过下式得到SE block的最终输出
从上式可以看出就是通道上的乘积,。
上述就是SE block的原理,可以看出SE block其实就是一个自注意力(self-attention)的函数。
二、实例化(Instantiations)
之前说是SE block非常的方便,下面来看看SE block怎么应用到各种网络中。
对于VGG来说,可以把每个卷积看成是一个变换就可以了。
对于Inception networks来说,可以把一整个Inception module当作是一个变换,加入SE block就可以得到SE-Inception network了,如下图表示。
对于residual networks来说,非直连部分可以当作是一个变换,如下图所示。
可以看出SE block应用起来很方便,像其他的网络,如Mobilenet、Sufflenet、ResNeXt 等可以作类似的应用。
三、模型的复杂度
拿ResNet-50和SE-ResNet-50对比来说,如果输入的是大小的图像,ResNet-50一次前向需要∼3.86 GFLOPs大小的计算量。对于SE-ResNet-50,里面的r取16,需要∼3.87 GFLOPs的计算量,可以看出只增加了0.26%的计算量。但是这时候的效果和ResNet-101差不多,效果如下表所示
在实际的计算中,对于一台8 NVIDIA Titan X的服务器,当batch设为256时,ResNet-50一次前向和后向的时间是190ms,而SE-ResNet-50需要209ms。推断过程中,对于cpu来说,大小为的图像ResNet-50需要164ms,SE-ResNet-50需要167ms。
对于SE导致的参数量的计算如下公式表示
上式中r是为了减少复制度的超参数,S是网络中stage的个数(可以看resnet的结构,一个stage由几个blockneck组成),表示输出的通道数,表示第s个stage中block的个数。这里没有计算bias,认为在FC层中,可以忽略不计。
SE-ResNet-50网络中相对于ResNet-50引入了∼2.5 million的参数,而原始ResNet-50就有∼25 million参数量。
相对于增加的效果,增加的参数量和计算量都是可以接受的。
SENet基本就这些内容,文章还有很多实验结果可以查看原文详细了解。
欢迎加入Object Detection交流,群聊号码:910457072
网友评论