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

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

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

experiment result

SKNet

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

experiment result

在大网络结果

在小网络上结果

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

Selective Kernel Network的更多相关文章

  1. 论文阅读笔记六十一:Selective Kernel Networks(SKNet CVPR2019)

    论文原址:https://arxiv.org/pdf/1903.06586.pdf github: https://github.com/implus/SKNet 摘要 在标准的卷积网络中,每层网络中 ...

  2. Selective Kernel Networks

    摘要:在标准的卷积神经网络(CNNs)中,每一层的人工神经元的感受野被设计成具有相同的大小.众所周知,视觉皮层神经元的感受野大小受刺激的调节,但在构建cnn时却很少考虑到这一点.我们在神经网络中提出了 ...

  3. [dpdk][kni] dpdk kernel network interface

    文档:https://doc.dpdk.org/guides/prog_guide/kernel_nic_interface.html 摘要: The KNI kernel loadable modu ...

  4. STGAN: A Unified Selective Transfer Network for Arbitrary Image Attribute Editing 阅读笔记和pytorch代码解读

    一.论文采用的新方法 1.AttGan中skip connect的局限性 由于encoder中对特征的下采样实际上可能损失部分特征,我们在decoder中进行上采样和转置卷积也无法恢复所有特征,因此A ...

  5. Windows Kernel Security Training Courses

    http://www.codemachine.com/courses.html#kerdbg Windows Kernel Internals for Security Researchers Thi ...

  6. Kernel boot options

    There are three ways to pass options to the kernel and thus control its behavior: When building the ...

  7. TensorFlow Lite demo——就是为嵌入式设备而存在的,底层调用NDK神经网络API,注意其使用的tf model需要转换下,同时提供java和C++ API,无法使用tflite的见后

    Introduction to TensorFlow Lite TensorFlow Lite is TensorFlow’s lightweight solution for mobile and ...

  8. 深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv

    1. Abstract 本文旨在简单介绍下各种轻量级网络,纳尼?!好吧,不限于轻量级 2. Introduction 2.1 Inception 在最初的版本 Inception/GoogleNet, ...

  9. Android官方文档

    下面的内容来自Android官方网站,由于访问这个网站需要FQ,不方便,所以我把部分内容copy下来了,不保证内容是最新的. Source Overview    Codelines, Branche ...

随机推荐

  1. Python----多元线性回归

    多元线性回归 1.多元线性回归方程和简单线性回归方程类似,不同的是由于因变量个数的增加,求取参数的个数也相应增加,推导和求取过程也不一样.. y=β0+β1x1+β2x2+ ... +βpxp+ε 对 ...

  2. Charles抓包工具使用

    Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools  >>  Map Local  >>  勾选enable  >>  add  >> ...

  3. SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表

    一.背景 上篇SSM项目使用GoEasy 实现web消息推送服务是GoEasy的一个用途,今天我们来看GoEasy的第二个用途:订阅客户端上下线实时状态变化.获取当前在线客户数量和在线客户列表.截止我 ...

  4. elk部署之前注意事项

    注意事项: 1.不能使用root用户登录,需要是用root 之外的用户登录到系统. 2.centos系统 运行内存不能小于2G,若低于2G需要修改jvm. vi  {jvm_home}/config/ ...

  5. 如何在django视图中使用asyncio(协程)和ThreadPoolExecutor(多线程)

    Django视图函数执行,不在主线程中,直接 loop = asyncio.new_event_loop() # 更不能loop = asyncio.get_event_loop() 会触发 Runt ...

  6. POJ 1915 Knight Moves

    POJ 1915 Knight Moves Knight Moves   Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 29 ...

  7. Supervisor安装与使用

    一.简介 1.supervisor是什么 superviosr是一个Linux/Unix系统上进程监控和管理的工具,它由python编写,可以用pip安装.supervisor能将一个普通的命令行进程 ...

  8. Vue.js 2.x笔记:路由Vue Router(6)

    1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...

  9. HTML一

    什么是前端: 前端,也称web前端对于网站来说,通常是指网站的前台部分,通俗点就是用户可以看到的部分, 浏览器.APP.应用程序的界面展现和用户交互就是前端 前端要学习那些技术:html+css+ja ...

  10. Plugin Kotlin was not installed: Cannot download

    到 https://plugins.jetbrains.com/plugin/6954-kotlin下载对应版本(右键复制链接地址,用迅雷下载),放到androidstudio安装目录下的plugin ...