论文阅读笔记:Squeeze-and-Excitation Networks

进入这个坑是因为导师跟一个公司的合作!需要我们去实现以下:简单的记录下论文的理解
摘要:卷积神经网络的核心构件是卷积算子,它使网络能够通过融合每一层的局部感受野内的空间和通道信息来构建信息特征。大量的前期研究已经调查了这种关系的空间组成部分,试图通过提高整个特征层次的空间编码质量来增强CNN的代表性。在这项工作中,我们转而关注通道关系,并提出了一种新的架构单元,我们称之为“Squeeze-and-Excitation” (SE) 块,它通过显式建模通道之间的相互依赖关系,自适应地重新校准通道方向的特征响应。我们表明,这些块可以堆叠在一起,形成在不同数据集之间非常有效地进行归纳的SENet架构。我们进一步证明,SE模块以微小的额外计算成本为现有最先进的中枢神经系统带来了显著的性能改进。挤压和激励网络形成了我们的ILSVRC 2017分类提交的基础,赢得了第一名,并将前5名的错误减少到2.251%,比2016年的获奖条目相对提高了25%。模型和代码可在https://github.com/hujie-frank/SENet.获得。对于CNN网络来说,其核心计算是卷积算子,其通过卷积核从输入特征图学习到新特征图。从本质上讲,卷积是对一个局部区域进行特征融合,这包括空间上(H和W维度)以及通道间(C维度)的特征融合。
总的来说:SENet网络的创新点在于关注channel之间的关系,希望模型可以自动学习到不同channel特征的重要程度。
介绍:(CNNs)已被证明是处理广泛视觉任务的有用模型。在网络的每个卷积层,一组过滤器沿着输入通道表达邻域空间连接模式——在局部感受野内将空间和通道信息融合在一起。通过将一系列卷积层与非线性激活函数和下采样算子交织,CNN能够产生捕捉分层模式并获得全局理论感受野的图像表示。计算机视觉研究的一个中心主题是寻找更强大的表示,只捕捉图像中对给定任务最显著的属性,从而提高性能。作为一个广泛使用的视觉任务模型家族,新的神经网络体系结构设计的开发现在代表了这一研究的一个关键前沿。最近的研究表明,CNN产生的表征可以通过将学习机制集成到网络中来加强,这有助于捕捉特征之间的空间相关性。
  在本文中,我们研究了网络设计的另一个方面——通道之间的关系。我们引入了一个新的体系结构单元,我们称之为“Squeeze-and-Excitation” (SE)块,目标是通过显式建模网络卷积特征的信道之间的相互依赖性来提高网络产生的表示的质量。为此,我们提出了一种允许网络执行特征重新校准的机制,通过该机制,网络可以学习使用全局信息来选择性地强调信息特征,并抑制不太有用的特征。
 %ensp;SE构造块的结构如图1所示。对于任何给定的变换,将输入X映射到特征映射U,其中Uf的维度为:H×W×C,例如卷积,我们可以构建相应的SE块来执行特征重新校准。特征U首先通过挤压操作传递,挤压操作通过在空间维度上聚集特征图来产生通道描述符。这个描述符的功能是产生一个嵌入的通道特征响应的全局分布,允许来自网络的全局接收域的信息被它的所有层使用。聚合之后是激励操作,该操作采用简单的自门控机制的形式,该机制将嵌入作为输入,并产生每个通道调制权重的集合。这些权重被应用于特征映射U,以生成se块的输出,该输出可以被直接馈送到网络的后续层。

  设计和开发新的CNN架构是一项困难的工程任务,通常需要选择许多新的超参数和层配置。相比之下,SE模块的结构很简单,可以通过用相应的SE组件替换现有的最先进的架构来直接使用,从而有效提高性能。SE块在计算上也是轻量级的,只会略微增加模型的复杂性和计算负担。为了给这些说法提供证据,我们开发了几个SENets,并对ImageNet数据集进行了广泛的评估。我们还展示了ImageNet之外的结果,这些结果表明我们的方法的优势并不局限于特定的数据集或任务。通过使用SENets,我们在ILSVRC 2017分类竞赛中排名第一。我们的最佳模型集合在测试集1上实现了2.251%的前5名错误。与前一年的获胜者相比,这代表了大约25%的相对提高(前5名的误差为2.991%)。
相关工作:该部分从当前CNN网络存在的一些模型进行讲解;其中包含了CNN的发展,从加深网络的层次到使用batch normalization的方式对于每一层都进行一个批处理;到后面的残差网络结构的提出,最后的一些注意力机制等问题,其实这些代表着CNN发展的不同分支技术。对于CNN的众多模型可以看这个博客:https://zhuanlan.zhihu.com/p/33845247
SQUEEZE-AND-EXCITATION BLOCKS:
首先是使用符号Ftr来表示卷积即完成卷积层的基本的变化,对于其中的每一个卷积核,相应的使用其进行对应的卷积核的方式来进行一定的卷积操作。公式如下:

其中的 * 代表为卷积操作,因为将每一个通道的卷积操作分开来实现的话,本身卷积层的多通道就是一个个的通道分开求解出来的。这里为了简化没有加入对应的偏置值,由于输出是通过所有通道求和产生的,通道相关性隐含在vc中,但与滤波器捕获的局部空间相关性纠缠在一起。通过卷积建模的通道关系本质上是隐式和局部的(除了最顶层的那些)。我们期望通过显式建模信道相关性来增强卷积特征的学习使得网络能够增加其对信息特征的敏感性,该信息特征可以被后续的变换所利用因此,我们希望为其提供对全局信息的访问,并在滤波器响应被输入到下一个转换之前,分两步重新校准滤波器响应,即挤压和激励 squeeze and excitation。图1示出了示出SE块的结构的图。总结就是说:
其中*代表卷积操作,而 [公式] 代表一个3D卷积核,其输入一个channel上的空间特征,它学习特征空间关系,但是由于对各个channel的卷积结果做了sum,所以channel特征关系与卷积核学习到的空间关系混合在一起。而SE模块就是为了抽离这种混杂,使得模型直接学习到channel特征关系。
  Squeeze: Global Information Embedding:由于卷积只是在一个局部空间内进行操作,U很难获得足够的信息来提取channel之间的关系,对于网络中前面的层这更严重,因为感受野比较小。为了,SENet提出Squeeze操作,将一个channel上整个空间特征编码为一个全局特征,采用global average pooling来实现(原则上也可以采用更复杂的聚合策略):

Excitation: Adaptive Recalibration:
  Sequeeze操作得到了全局描述特征,我们接下来需要另外一种运算来抓取channel之间的关系。这个操作需要满足两个准则:首先要灵活,它要可以学习到各个channel之间的非线性关系;第二点是学习的关系不是互斥的,因为这里允许多channel特征,而不是one-hot形式。基于此,这里采用sigmoid形式的gating机制:直接看其在现有的模型中使用吧!因为其非常的容易加入到其它的模型之中。

SE模块的灵活性在于它可以直接应用现有的网络结构中。这里以Inception和ResNet为例。对于Inception网络,没有残差结构,这里对整个Inception模块应用SE模块。对于ResNet,SE模块嵌入到残差结构中的残差学习分支中。具体如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值