论文阅读笔记六十:Squeeze-and-Excitation Networks(SENet CVPR2017)

论文原址:https://arxiv.org/abs/1709.01507
github:https://github.com/hujie-frank/SENet
摘要
卷积网络的关键构件是卷积操作,在每层感受野的范围内通过融合局部及channel-wise信息可以使网络构建特征。一些研究关注空间组件,通过增强空间特征等级的编码能力在增强表示力。本文重点在于通道之间的联系,提出了SENet block,通过对通道之间的独立性建模来自适应的调整通道之间的响应。可以将这些block进行堆叠得到SENet的结构。
介绍
在卷积网络的每一层,一些卷积核沿着输入通道方向表示相邻特征模式,在局部感受野的范围内融合空间及channel-wise特征信息。通过交错的组合卷积,下采样,非线性层等构建网络。CNN可以得到粗略的表示能力从而可以获得分级的模式,同时具有一定的感受野。一些实验发现可以通过将可以捕捉特征之间信息的一些学习机制融合到网路中进而可以提高网络的表示能力。Inception系列的网络通过结合多个尺寸的卷积核来提高性能。
本文不同于以前的网络,重点放在特征通道之间的联系上,本文引入了一个新的结构单元SE block,通过对卷积特征之间的联系进行建模来增强表示能力,最后,本文提出了一种特征校准机制,通过学习全局信息进而可以选择一些有用的特征,而压制作用较小的特征。
SE building block的结构如下图所示,对于任意的特征变换,
本文都可以构建SE block进行特征校准。特征U首先会进行一个squeeze操作,产生一个通道描述器,其在对应空间维度上(HxW)融合feature maps。描述器函数的作用是channel-wise响应的全局分布的编码,可以使来自全局感受野的信息可以被所有层利用。Squeeze操纵后面跟着一个excetion操作。采用一个简单的门机制,将编码的信息作为输入,同时产生每个通道调制的权重。这些权重又反过来作用于feature map U用于产生SE的输出进而送入到后续处理中。

可以通过简单的堆叠SE block进行构建SENet。SE block可以作为网络的一部分插入到网络的某一层中。虽然block整体相似,但是在网络中的不同深度,其性能也是不同的。在较前层,以类别不可知的情形激发信息特征。在网络的后层,SE block增长的较为明确,以类别可分的模式对不同的输入产生响应。
总之,SE 特征校准得到的性能可以在网络中进行累计。新的CNN网络的搭建十分复杂,涉及到新参数及层的配置等。而SE模块简单,可以直接替换网络中的模型。
相关工作
更深的网络:VGG及Inception表明,增加网络的深度可以提高模型的表示能力及学习能力。对输入分布进行正则化处理。在每层添加固定的BN层,同时,产生更平滑的外形边界。ResNet通过identity-based的跳跃结构可以实现更深的网络。Highways 网络对短连接中的信息流进行正则化处理。
一些工作着眼于改进网络中包含的函数的计算形式。分组卷积已经成功应用于增加学习变换基数的方法。交叉通道相关性映射到一个新的特征组合,与空间结构无关,或者通过1x1的卷积进行联合处理。大部分研究工作聚焦于减少模型及计算复杂度上。这里折射出一个假设就是通道关系可以看作是在局部感受野下与实例无关的函数组合。本文提出一种机制可以通过全局信息直接对通道之间的动态以及非线性依赖性进行建模。
算法结构搜索:该部分工作主要位于神经进化领域,基于进化算法对网络的拓扑结构进行搜索。然而,需要消耗大量的计算力。该方法在连续模型中找到记忆单元及分类模型中学习固定结构取得较大的成功。为了减少计算力,基于Lamarckian inheritance及不同的结构的高效的可替代算法被提出。通过将结构搜索看作是参数优化问题,随机搜索及其他传统的优化技术可以用于处理该问题。SE 可以基于搜索算法自动的进行build block。
注意力及门机制:注意力机制可以看作是将计算资源分配信息量最重要的部分。其后接一个或者多个操作来表示更抽象的特征信息。本文SE block为轻量级门机制,通过对通道进行建模来提高模型的表示能力。
Squeeze and excitation block
SE为计算单元,可以由任意输入变换构建
为方便起见,本文将Ftr看作是卷积操作。
代表可学习的卷积核集合。其中,vc代表第c个卷积核的参数。Ftr的输出表示如下,*代表卷积,

其中,
X =
,
为一个2D核,表示vc的一个通道与对应的x的通道进行卷积。由于结果是所有通道相加和。vc中存在潜在的依赖关系,但其与由卷积核得到的局部空间相关性纠缠在一起。因此,由卷积形成的通道关系是局部的。由于本文的目的是为了提高模型对信息特征的敏感性,以便后续的变换能够更有效的利用这写信息特征。本文增加了其获得全局信息的能力。本文通过两步来对通道的独立性进行建模进而重新校准filter 响应,即Squeeze及Excetitation。SE block的结构如上图所示。
Squeeze: Global Information Embeding
为了解决利用channel 依赖性的如何利用的问题,本文首先考虑输出特征的每个通道。每个可学习的卷积核都是在局部感受野内进行操作,因此,区域外的上下文信息无法被后续的变换单元U利用。
为此,本文提出将全局空间信息进行压缩得到一个单通道描述器。通过一个全局的平均池化操作来实现通道级别的统计。一般,一个统计量
,通过在空间维度HxW上压缩U实现。z中的第c个单元计算如下

变换U的输出可以解释为,一些局部描述器的统计信息可以表示整个图像。
Excetitation: Adaptive Recalibration
为了利用由Squeeze聚合得到的信息。后面接了一些操作用于捕捉通道的独立信息。其操作函数必须满足两个标准,I.具有灵活性。其必须能够学习通道之间的非线性。II.能够学习非互斥关系。这是由于需要对多个通道的特征信息进行强调,而不是类似one-hot表示那样。本文选择了一个简单的sigmoid激活函数作为gating 机制。

为了限制模型的计算量,及有利于泛化,本文在非线性部分,比如,降维层W及减少比率r,ReLU+升维层添加两层全连接层来构建bootleneck进而对gating机制进行参数化。block的最终输出如下

Excetitation通过将输入明确的描述器映射为一系列通道确定的权重。SEblock提高了特征的辨别性。
实例
SE block可以整合到常规的卷积网络中,一般在插入非线性区域后增加几个卷积层。本文以Inception网络为例如下。




实验










Reference
[1] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “ImageNet classification with deep convolutional neural networks,” in NIPS, 2012.
[2] A. Toshev and C. Szegedy, “DeepPose: Human pose estimation via deep neural networks,” in CVPR, 2014.
[3] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in CVPR, 2015.
[4] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards real-time object detection with region proposal networks,” in
NIPS, 2015.
[5] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov,D. Erhan, V. Vanhoucke, and A. Rabinovich, “Going deeper with
convolutions,” in CVPR, 2015.
[6] S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” in ICML,
2015.
论文阅读笔记六十:Squeeze-and-Excitation Networks(SENet CVPR2017)的更多相关文章
- 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)
论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...
- 论文阅读笔记六十六:Wide Activation for Efficient and Accurate Image Super-Resolution(CVPR2018)
论文原址:https://arxiv.org/abs/1808.08718 代码:https://github.com/JiahuiYu/wdsr_ntire2018 摘要 本文证明在SISR中在Re ...
- 论文阅读笔记六十五:Enhanced Deep Residual Networks for Single Image Super-Resolution(CVPR2017)
论文原址:https://arxiv.org/abs/1707.02921 代码: https://github.com/LimBee/NTIRE2017 摘要 以DNN进行超分辨的研究比较流行,其中 ...
- 论文阅读笔记六十二:RePr: Improved Training of Convolutional Filters(CVPR2019)
论文原址:https://arxiv.org/abs/1811.07275 摘要 一个训练好的网络模型由于其模型捕捉的特征中存在大量的重叠,可以在不过多的降低其性能的条件下进行压缩剪枝.一些skip/ ...
- [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks
[论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- [论文阅读笔记] node2vec Scalable Feature Learning for Networks
[论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...
- 论文阅读笔记六:FCN:Fully Convolutional Networks for Semantic Segmentation(CVPR2015)
今天来看一看一个比较经典的语义分割网络,那就是FCN,全称如题,原英文论文网址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn ...
- 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning
Introduction (1)Motivation: 大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据. (2)Method: 对没有标记的数据生成 ...
随机推荐
- Vue 变异方法sort&reverse对评论进行排序
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- AGC008E Next or Nextnext(组合计数,神奇思路)
神仙题. 排列计数,一种常见的做法是 \(i\) 向 \(p_i\) 连边. 然而这里这个就逼迫我们只能从 \(i\) 向 \(a_i\) 连边. 不过没关系,考虑从 \(i\) 向 \(p_i\) ...
- Windows安装RabbitMQ并设置数据存储目录
一.安装Elang 下载otp_win64_xx.x.exe,当前使用otp_win64_21.3.exe版本,按步骤完成安装. 下载地址:http://www.erlang.org/download ...
- 基于Django的Rest Framework框架的版本控制
本文目录 一 作用 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 源码分析 回到目录 一 作用 用于版本的控制 回到目录 二 内置的版本控制类 from rest_framework.v ...
- 物联网架构成长之路(43)-k8s从入门到放弃
0. 前言 这段时间要入门一下CI/CD了,以前简单的了解过Jenkins,现在要把以下的这个图的架构搭建起来.国外可能一两个命令就安装完成的事情,我折腾了2天多,真的差点放弃了. 1. 安装Virt ...
- Wireshark使用入门
目录 1. Wireshark介绍 1.1 客户端界面 1.2 Display Filter 的常用方法 1.3 界面上一些小TIPS 2. 使用Wireshark分析TCP三次握手过程 2.1 三次 ...
- 大话设计模式Python实现-状态模式
状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 下面是一个状态模式的demo: #!/usr/bin/env python # -*- ...
- Windows 上安装 Rust 出错及其解决办法
首先去 https://www.rust-lang.org/tools/install Rust 官网上下载相应的安装包. 直接运行 rustup-init.exe,这一步 会把 rustc, car ...
- mysql建表中auto_increment=21
CREATE TABLE `demo` ( `id` ) NOT NULL AUTO_INCREMENT, `img` ) DEFAULT NULL COMMENT '大图', `status` ) ...
- STorM32 BGC三轴增稳云台驱动下载
STorM32 BGC是一种硬件开源.软件闭源的三轴稳定云台控制项目.云台在我们生活中是越来越常见,我们手机拍照用的手持云台,无人机上挂载摄像机的机载隔振云台.我们在电影<流浪地球>里面那 ...