《Squeeze-and-Excitation Networks》
该文章提出了一种新颖的网络结构,用于对每个通道的特征进行加权处理。在网络的训练过程中,会得到不同数量通道特征,在进行识别的过程中,每一个通道的特征的重要性都被视为是相同的来参与接下来的计算。SENet将不同特征通道的全局池化信息融合到了神经网络的训练过程中,从而能够利用网络的代价函数来对不同通道的权重进行训练。
网络结构:
结构解释
首先对于一个H′×W′×C′H′×W′×C′的特征输入XX,进行操作,也就是常规的卷积操作,得到待处理的W×H×CW×H×C的特征图UU。接着对得到的分别进行两种操作:FsqFsq和FscaleFscale。
首先是FsqFsq操作。作者在这里对于每一个通道都采用了一种全局平均池化的操作,即将特征图UU的个通道分别进行全局平均池化的操作,得到了一个1×1×C1×1×C的特征图zz。数学表达形式如下:
其中,ucuc表示的是UU的第个通道。
接着,就是SENet思想最关键的部分了,即SENet将zz作为一个全连接神经网络的输入,该神经网络的权重为。Fex(∗,W)Fex(∗,W)表示的是一个全连接层的计算过程。
作者将Fex(∗,W)Fex(∗,W)的计算分成了两个部分,直观来看就是先对第一个全连接层进行计算,接着对第二个全连接层进行计算并输出结果为1×1×C1×1×C的特征图。具体公式如下所示:
其中δδ表示的是RELURELU函数,W1∈RCr×CW1∈RCr×C,且W2∈RRC×CrW2∈RRC×Cr。计算得到的ss就是我们要求的不同通道特征图的权重系数。
得到了这个系数以后,通过与对应通道上的特征图进行相乘,以此来表示不同通道的特征图的重要性程度。具体形式如下式所示:
其中Xc~=[x1~,x2~,...,xc~]Xc~=[x1~,x2~,...,xc~]。函数FscaleFscale表示的是将每个通道的权重值sc∈Rsc∈R与对应通道的特征图uc∈RH×Wuc∈RH×W相乘。
与其他网络结构进行组合
与GoogleNet的Inception网络结构组合,得到的网络结构如下图所示:
与ResNet网络的Block进行组合得到的网络结构如下图所示:
结论
加入该网络结构后,可以提高网络的性能。