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

CNN 建立在一些列卷积操作之上, 卷积操作可以复用空间和通道信息, 但却限制在一个局部感受野上. 为了促进网络的特征表示能力, 一些工作通过加强空间编码从而提升了网络性能, 如 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 函数

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

逻辑斯谛回归函数

\[ \begin{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

在大网络结果

在小网络上结果

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

猜你喜欢

转载自www.cnblogs.com/nowgood/p/selective-kernel-network.html