论文笔记-Squeeze-and-Excitation Networks

作者提出为了增强网络的表达能力,现有的工作显示了加强空间编码的作用。在这篇论文里面,作者重点关注channel上的信息,提出了“Squeeze-and-Excitation"(SE)block,实际上就是显式的让网络关注channel之间的信息 (adaptively recalibrates channel-wise feature responsesby explicitly modelling interdependencies between channels.)。SEnets取得了ILSVRC2017的第一名, top-5 error 2.251%

之前的一些架构设计关注空间依赖

Inception architectures: embedding multi-scale processes in its modules

Resnet, stack hourglass

spatial attention: Spatial transformer networks

作者的设计思路:

we investigate a different

aspect of architectural design - the channel relationship

Our goal is to improve the representational power of a network by explicitly

modelling the interdependencies between the channels of its

convolutional features. To achieve this, we propose a mechanism that allows the network to perform feature recalibration, through which it can learn to use global information

to selectively emphasise informative features and suppress

less useful ones. 作者希望能够对卷积特征进行recalibration,根据后文我的理解就是对channel进行加权了。

相关工作

网络结构:

VGGNets, Inception models, BN, Resnet, Densenet, Dual path network

其他方式:Grouped convolution, Multi-branch convolution, Cross-channel correlations

This approach reflects an assumption that channel relationships can

be formulated as a composition of instance-agnostic functions with local receptive fields.

Attention, gating mechanisms

SE block

\({F_{tr}}:X \in R{^{W‘ \times H‘ \times C‘}},{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} U \in {\kern 1pt} {\kern 1pt} {R^{W \times H \times C}}\)

设\(V = [v_1, v_2, ..., v_C]\)表示学习到的filter kernel, \(v_c\)表示第c个filter的参数,那么\(F_{tr}\)的输出\(U = [u_1,u_2,...,u_C]\):

\[{u_c} = {\rm{ }}{{\rm{v}}_c} * X = \sum\limits_{s = 1}^{C‘} {v_c^s} * {x^s}\]

\(v_c^s\)是一个channel的kernel,一个新产生的channel是原有所有channel与相应的filter kernel卷积的和。channel间的关系隐式的包含在\(v_c\)中,但是这些信息和空间相关性纠缠在一起了,作者的目标就是让网络更加关注有用的信息。分成了Squeeze和Excitation两步来完成目的。

Squeeze

现有网络的问题:由于卷积实在local receptive field做的,因此每个卷积单元只能关注这个field内的空间信息。

为了减轻这个问题,提出了Squeeze操作将全局的空间信息编码到channel descriptor中,具体而言是通过global average pooling操作完成的。

\[{z_c} = {F_{sq}}({u_c}) = {1 \over {W \times H}}\sum\limits_{i = 1}^W {\sum\limits_{j = 1}^H {{u_c}(i,j)} }\]

就是求每个channel的均值,作为全局的描述。

Excitation: Adaptive Recalibration

为了利用Squeeze得到的信息,提出了第二个op,这个op需要满足2个要求:一个是足够灵活,需要能够学习channel间的非线性关系,另一个就是能够学习non-mutually-exclusive关系,这个词我的理解是非独占性,可能是说多个channnel之间会有各种各样的关系吧。

\[s = {F_{ex}}(z,W) = \sigma (g(z,W)) = \sigma ({W_2}\delta ({W_1}z))\]

$\delta \(是ReLu,\){W_1} \in {R^{{C \over r} \times C}}\(,\){W_2} \in {R^{C \times {C \over r}}}\(,\)W_1\(是bottleneck,降低channel数,\)W_2\(是增加channel数,\)\gamma\(设置为16。最终再将\)U\(用\)s$来scale,其实也就是加权了。这样就得到了一个block的输出。

\[{x_c} = {F_{scale}}({u_c},{s_c}) = {s_c} \cdot {u_c}\]

\(F_{scale}\)表示feature map \(u_c \in R^{W \times H}\)和\(s_c\)的channel-wise乘法

The activations act as channel weights

adapted to the input-specific descriptor z. In this regard,

SE blocks intrinsically introduce dynamics conditioned on

the input, helping to boost feature discriminability

  1. Example

    SE block可以很方便的加到其他网络结构上。

  2. Mxnet code
    squeeze = mx.sym.Pooling(data=bn3, global_pool=True, kernel=(7, 7), pool_type=‘avg‘, name=name + ‘_squeeze‘)
    squeeze = mx.symbol.Flatten(data=squeeze, name=name + ‘_flatten‘)
    excitation = mx.symbol.FullyConnected(data=squeeze, num_hidden=int(num_filter*ratio), name=name + ‘_excitation1‘)#bottleneck
    excitation = mx.sym.Activation(data=excitation, act_type=‘relu‘, name=name + ‘_excitation1_relu‘)
    excitation = mx.symbol.FullyConnected(data=excitation, num_hidden=num_filter, name=name + ‘_excitation2‘)
    excitation = mx.sym.Activation(data=excitation, act_type=‘sigmoid‘, name=name + ‘_excitation2_sigmoid‘)
    bn3 = mx.symbol.broadcast_mul(bn3, mx.symbol.reshape(data=excitation, shape=(-1, num_filter, 1, 1)))
  3. 网络结构

  4. Experiments

参考文献:

[1] Hu, Jie, Li Shen, and Gang Sun. "Squeeze-and-excitation networks." arXiv preprint arXiv:1709.01507 (2017).

欢迎关注公众号:vision_home 共同学习,不定期分享论文和资源

原文地址:https://www.cnblogs.com/haoliuhust/p/8196572.html

时间: 2024-08-26 00:30:58

论文笔记-Squeeze-and-Excitation Networks的相关文章

论文笔记《Fully Convolutional Networks for Semantic Segmentation》

<Fully Convolutional Networks for Semantic Segmentation>,CVPR 2015 best paper,pixel level, fully supervised. 主要思路是把CNN改为FCN,输入一幅图像后直接在输出端得到dense prediction,也就是每个像素所属的class,从而得到一个end-to-end的方法来实现image  semantic segmentation. 我们已经有一个CNN模型,首先要把CNN的全连接层

论文笔记 Densely Connected Convolutional Networks

首先我们从宏观的角度理解一下这篇论文做了什么.这篇论文引入了一个"Dense Block",该模块的的组成如下图所示(要点就是,Input输入到后续的每一层,每一层都输入到后续层) 在实际应用的时候,如果我们将"Dense Block"作为一个building block,那么可以按照如下的方式构建深度网络结构(是不是一下子就理解了这篇文章做了什么?).  下面我们来分析一下这个"Dense Block"的一些特点 "Dense Blo

【论文笔记】Spatial Transformer Networks

参考文献:**Jaderberg M, Simonyan K, Zisserman A. Spatial transformer networks[C]//Advances in Neural Information Processing Systems. 2015: 2017-2025. 摘要 卷积神经网络(CNN)已经被证明能够训练一个能力强大的分类模型,但与传统的模式识别方法类似,它也会受到数据在空间上多样性的影响.这篇Paper提出了一种叫做空间变换网络(Spatial Transfor

论文笔记 Weakly-Supervised Spatial Context Networks

Background 在文本处理领域,"The idea of local spatial context within a sentence, proved to be an effective supervisory signal for learning distributed word vector representations",这有以下两个作用"Given a word tokenized corpus of text, to learn a represent

论文笔记 《Maxout Networks》 &amp;&amp; 《Network In Network》

论文笔记 <Maxout Networks> && <Network In Network> 发表于 2014-09-22   |   1条评论 出处 maxout:http://arxiv.org/pdf/1302.4389v4.pdfNIN:http://arxiv.org/abs/1312.4400 参考 maxout和NIN具体内容不作解释下,可以参考:Deep learning:四十五(maxout简单理解)Network In Network 各用一句话

【转】Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现

原作者:zouxy09 原文链接:http://blog.csdn.net/zouxy09/article/details/9993371 Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 [email protected] http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己

Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 [email protected] http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不

【论文笔记】Recursive Recurrent Nets with Attention Modeling for OCR in the Wild

写在前面: 我看的paper大多为Computer Vision.Deep Learning相关的paper,现在基本也处于入门阶段,一些理解可能不太正确.说到底,小女子才疏学浅,如果有错误及理解不透彻的地方,欢迎各位大神批评指正! E-mail:[email protected]. <Recursive Recurrent Nets with Attention Modeling for OCR in the Wild>已经被CVPR 2016(CV领域三大顶会之一)正式接收了,主要是介绍了

Deep Learning论文笔记之(一)K-means特征学习

Deep Learning论文笔记之(一)K-means特征学习 [email protected] http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正