经典网络结构总结--SENet系列

SENet系列:SENet,(cSENet,sSENet,csSENet),SKNet

1.SENet

论文:Squeeze-and-Excitation Networks

  • Motivation:借助注意力机制,使模型可以自动学习到不同channel的重要程度。
  • SE模块
    经典网络结构总结--SENet系列_第1张图片
  • 具体实现
    经典网络结构总结--SENet系列_第2张图片
  • 解释:对于尺寸为H×W×C的特征图,首先通过全局平均池化对每个feature map进行压缩,得到1×1×C的实数数列,这一步骤称作Squeeze;然后引入两个全连接层进行Excitation,通过sigmoid将其归一化到0~1之间,即每个通道的权重;最后通过将权重与原始输入对位相乘,实现通道的重标定。
  • 为什么使用两个全连接层:限制模型复杂度,增加泛化

2.cSENet,sSENet,csSENet

论文:Concurrent Spatial and Channel ‘Squeeze & Excitation’ in Fully Convolutional Networks经典网络结构总结--SENet系列_第3张图片

  • cSENet:与SENet本质相同,区别在于升降维度的超参数 r 取值为2或16,兼顾模型的复杂度和准确率
  • sSENet:从空间角度引入注意力机制。将尺寸为H×W×C的特征图经过1×1卷积降维,得到H×W×1的特征图。然后再经过特征重标定,与原来的U对应空间上相乘得到U^。
  • csSENet:从通道和空间两个角度同时引入注意力机制,相当于cSENet和sSENet的结合。

3.SKNet

论文:Selective Kernel Networks

  • Motivation:我们在看不同尺寸不同远近的物体时,视觉皮层神经元接受域大小是会根据刺激来进行调节的。那么对应于CNN网络,一般来说对于特定任务特定模型,卷积核大小是确定的,那么是否可以构建一种模型,使网络可以根据输入信息的多个尺度自适应的调节接受域大小呢?
  • SK Block
    经典网络结构总结--SENet系列_第4张图片
  • SK Block分为三个步骤:
    1.Split:对于h×w×C的特征图(X)分别通过3×3卷积和5×5卷积,然后通过add得到U
    2.Fuse:首先通过全局平均池化得到S,然后通过一个全连接层得到Z,这部分和SE Block相同,后面的部分比较不好理解。按照我个人的理解,Z后面接2个并行的全连接层(M = 2, M为分支数),得到两个1×1×C,然后对其进行拼接,得到2×C的矩阵,最后对列方向上进行softmax,得到不同尺度同一个通道的权重。有错误欢迎指正!
    3.Select:将权重分别与Split后的两个不同尺度特征图乘积求和。

你可能感兴趣的:(Deep,Learning)