Selective Kernel Network

senet: https://arxiv.org/abs/1709.01507
sknet: http://arxiv.org/abs/1903.06586

TL, DR

Selective Kernel Networks 启发自皮质神经元根据不同的刺激可动态调节其自身的receptive field, 从而在CNN每一个 stage, 增加不同尺寸 filter 分支。 总体网络结构和 SENet 相似(几乎一致), 相对于大网络, 对小网络的性能提升比较明显.

SENet

abstract

卷积神经网络建立在一系列卷积操作之上, 通过层叠卷积操作, 可以逐渐增大感受野.
卷积操作可以复用空间和通道信息, 但却限制在一个局部感受野上.
为了促进网络的特征表示能力, 一些工作通过加强空间编码从而提升了网络性能, 如 Inception. SENet 关注点在通道关系上, 提出的 SE-Block, 通过整合通道全局感受野信息, embedding 通道之间的重要性关系, 关注有用特征, 抑制无用特征.

SE-Block 使用 Global Average Pooling 处理该层 feature map得到一个 channel descriptor, 该 descriptor 包含每个通道特征强度(feature response)信息, 从而使得 CNN 的 底部的 layer可以利用到全局感受野的信息.

network arch

屏幕快照 2018-03-18 上午8.56.38-w918

sigmoid 函数

[egin{align*} sigma(x) &= frac{1}{1+e^{-x}} \ end{align*} ]

逻辑斯谛回归函数

[egin{align*} P(Y=1|x) &= frac{e^{w cdot x}}{1+e^{w cdot x}}\ &= frac{1}{1+e^{-w cdot x}}\ &=sigma (w cdot x)\ P(Y=0|x) &= frac{1}{1+e^{w cdot x}} \ &=1 - sigma (w cdot x)\ end{align*} ]

Excitation操作为了利用 Squeeze 操作中的聚合的信息, 从而获取不同 channel 之间的依赖性. gating 函数必须满足两个条件

  1. 首先,它必须是灵活的(特别是,它必须能够学习通道之间的非线性关系),
  2. 其次,它必须学习非互斥关系.

为了满足这些标准,Excitation 选择使用 sigmoid 函数执行 gating mechanism.

SE-Inception Block

屏幕快照 2018-03-18 上午9.17.14-w473

添加 SE Block 的网络的计算量大约提高1%, 参数量提高2%

experiment result

SKNet

与 SENet 相比, 就是每个 stage 增加了不同的尺寸大小的 filter的分支, 在做 gating 的时候, sigmoid 函数使用下面函数代替, 用于对不同尺寸的 filter 给予权重, 从而达到可适应调节感受野的作用.

experiment result

在大网络结果

在小网络上结果

总体而言, 在小网络上提点比较明显

原文地址:https://www.cnblogs.com/nowgood/p/selective-kernel-network.html