深入理解Squeeze-and-Excitation (SE)网络

对于CNN网络来说,其核心计算是卷积算子,其通过卷积核从输入特征图学习到新特征图。从本质上讲,卷积是对一个局部区域进行特征融合,这包括空间上(H和W维度)以及通道间(C维度)的特征融合

深入理解Squeeze-and-Excitation (SE)网络_第1张图片

 

我们可以发现卷积实际上是对局部区域进行的特征融合。 这也导致了普通卷积神经网络的感受野不大,当然你也可以设计出更多的通道特征来增加这个,但是这样做导致了计算量大大的增加。因此为了空间上融合更多特征融合,或者是提取多尺度空间信息。也提出了许多不同的方法如Inception网络的多分支结构。对于channel维度的特征融合,卷积操作基本上默认对输入特征图的所有channel进行融合。而SENet网络的创新点在于关注channel之间的关系,希望模型可以自动学习到不同channel特征的重要程度。为此,SENet提出了Squeeze-and-Excitation (SE)模块,如下图所示:

深入理解Squeeze-and-Excitation (SE)网络_第2张图片

在这里SENet实际上是对整个输入feature进行操作,感受野可以覆盖到整个输入feature上,这对于网络来说是一个有益的语义信息补充。

几个问题

SEnet为什么可以增大感受野?

普通卷积是一个非常“规矩”的矩形,起感受野也是非常规矩的矩形,而SEnet可以让卷积的感受野实现“偏移”,间接增大了感受野。假如感受野是四个点,普通卷积卷积后的四个点事一个方形,通过SEnet网络后,四个点可以能分布在图上的各种位置,这两种方式中,四个点围成的面积其实就可以看成感受野,很大概率就事SEnet网络大。

SEnet、Dcn、注意力机制?

SEnet就是通道注意力机制,注意注意力机制其实就是特征图上,某些位置(通道、时间等)的重要程度,这个重要程度可以使得普通卷积的感受野发生偏移,也就是让卷积的每个位置都有所“偏好”,Dcn(可变性卷积)其实跟SEnet没什么区别,做的是同一个事情。

你可能感兴趣的:(深度学习理论篇,深度学习,cnn,神经网络,pytorch,计算机视觉)