zoukankan      html  css  js  c++  java
  • 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

    在大网络结果

    在小网络上结果

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

  • 相关阅读:
    Jeninks远程部署war包
    DOCKER中centos7的中文支持
    正则四
    正则三
    正则二
    正则一
    SHELL小练习
    SHELL用法九(awk练习)
    SHELL用法八(Grep语句)
    SHELL用法七(Sed语句)
  • 原文地址:https://www.cnblogs.com/nowgood/p/selective-kernel-network.html
Copyright © 2011-2022 走看看