摘要

  卷积操作:
  卷积操作是卷积神经网络(CNNs)的核心构造块,它通过融合每一层局部接受域(感受野)内的空间和信道信息使网络构建信息特征。大量先前的研究已经调查了这种关系的空间成分,试图通过在其特征层次中提高空间编码的质量来提升CNN的表征能力。
  本文SE模块:
  将重点放在通道关系上提出一个新的架构单元——“Squeeze-and-Excitation”(SE)块。通过显式地建模通道之间的相互依赖,自适应地重新校准信道特征响应。
  实验结果:
  (1)SE模块可以堆叠在一起,形成SENet架构,在不同的数据集上非常有效地泛化。
  (2)SE模块以略微增加的计算成本为现有最先进的CNN带来了显著的性能改进。SENet为2017年ILSVRC分类第一名,并将前5名误差降低到2.251%,比2016年的获奖作品相对提高了25%。
  模型和代码:
  https://github.com/hujie-frank/SENet

1 介绍

  卷积神经网络:
  已被证明是处理广泛的视觉任务的有用模型。
  在网络的每个卷积层,一系列的卷积核表示沿输入通道的邻域空间连通性模式——在局部接受域(感受野)内融合空间和通道信息。通过交错一系列带有非线性激活函数和下采样操作的卷积层,CNN能够产生捕获层次模式的图像表示,并获得全局的理论接受域(感受野)。
  计算机视觉的研究中心主题:
  寻找更强大的特征表示,这种特征表示只捕捉给定任务中最显著的图像属性,从而提高性能。
  CNN作为一种广泛应用于视觉任务的模型,新神经网络架构设计的发展代表计算机视觉研究的一个关键前沿。
  最近研究:
  最近研究表明,通过将学习机制整合到有助于捕捉特征间空间相关性的网络中,CNN产生的表征可以得到加强。
  例:Inception架构将多尺度处理合并到网络模块以提升性能。
  进一步工作,寻求更好的模型空间依赖,并将空间注意力融入网络结构。
  本文:
  (1)研究了网络设计的一个不同方面——通道之间的关系。
  (2)设计一种新的架构单元——“Squeeze-and-Excitation” (SE)块,其目标是通过显式建模卷积特征通道之间的相互依赖来提高网络产生的表征的质量。
  (3)为此本文提出了一种机制,允许网络进行特征重新校准,通过该机制网络可以学习使用全局信息,选择性地强调信息特征和抑制无用的特征。
  SE构建块:

  对于任意给定变换Ftr(例,卷积),将输入映射到特征图U(U∈RH×W×C),我们构造一个相应的SE模块来进行特征重新校准:
  (1)特征U首先通过“squeeze”操作,通过在空间维度(H ×W)聚合特征图生成通道描述符,该描述符的功能是产生一个通道特征相应的全局分布的嵌入,允许所有层使用来自网络的全局接受域(感受野)的信息。
  (2)聚合之后是“ excitation”操作,它采取一个简单的“self-gating”机制的形式,以嵌入作为输入,并产生每个通道调制权值的集合,这些权值被应用到特征图U上,以生成SE模块的输出,该输出可以直接输入到网络的后续层。
  SE模块特点:
  (1)简单地堆叠一组SE块就可以构建一个SE网络(SENet)。
  (2)SE块可用作网络架构中一定深度的原始块的替代品(6.4节)。
  (3)SE构建块的模板是通用的,但SE模块在整个网络的不同深度所扮演的角色不同,在较早的层中,它以与类无关的方式提供信息特性,增强共享的低级表征。在后续层中,SE块变得越来越专门化,并以高度类特定的方式响应不同的输入(7.2节)。因此,由SE模块执行的特征重新校准的好处可以通过网络累积。
  新的CNN架构的设计和开发是一项困难的工程任务,通常需要选择许多新的超参数和层配置。
  (4)SE模块的结构很简单:可以直接在现有的最先进的架构中使用,通过将组件替换为SE模块组件有效地提高性能。
  (5)SE块在计算上是轻量级的:只稍微增加模型的复杂性和计算负担。
  实验:
  开发设计几个SENet,并在ImageNet数据集、ImageNet之外的数据集上的评估结果,表明本文方法的好处并不局限于特定的数据集或任务。
  利用SENets,在ILSVRC 2017分类竞赛中获得了第一名。最佳模型集成在测试集上达到了2.251%的top-5误差,与前年的优胜者相比,大约有25%的相对改进(top-5 error为2.991%)。

2 相关工作

  更深架构:
  (1)VGGNet和Inception模型:表明,增加网络深度可以显著提高其学习的表征质量。通过调节输入到每一层的分布,批处理归一化(BN)增加了深度网络学习过程的稳定性、产生更平滑的优化表面。
  (2)ResNets:在上述工作的基础上证明,通过使用identity-based的跳跃连接 ,可以学习相当深和强大的网络。
  (3)Highway networks:引入了一种‘gating’机制,以调节shortcut 连接的信息流动。
  (4)上述工作之后,一些网络对深度网络的学习和表征特性进行了改进。
  网络中计算元素的函数形式:
  另一个密切相关的研究关注于改进网络中计算元素的函数形式:
  (1)分组卷积:已被证明是一种流行的增加学习转换基数的方法。
  (2)多分支卷积:可以实现更灵活的算子组合,可以看作是分组操作符的自然扩展。
  在之前的工作中,跨通道相关性通常映射为特征的新组合,要么独立于空间结构,要么通过使用具有1×1卷积的标准卷积。这方面的研究主要集中在降低模型和计算复杂度上,反映了一个假设,即通道关系可以被表述为具有局部接受域(感受野)的实例不可知函数的组合。相比之下我们认为,为单元提供一种机制,使用全局信息对通道之间的动态、非线性依赖关系进行显式建模,可以简化学习过程,并显著增强网络的表示能力。
  架构搜索算法:
  除了上述工作,还有一个旨在放弃手工架构设计,寻求自动学习网络架构的丰富的研究历史。这一领域的大部分早期工作是在"neuro-evolution(神经进化)"群落中进行的,使用进化方法建立跨网络拓扑搜索的方法。虽然这些方法通常需要很大的计算代价,但进化搜索已经取得了显著的成功,包括为序列模型找到好的记忆单元、为大规模图像分类学习复杂的体系结构。为减少这些方法的计算负担,基于Lamarckian继承和可微架构搜索提出了有效的替代方法。
  通过将架构搜索制定为超参数优化、随机搜索和其他更复杂的基于模型的优化技术也可以用来解决这个问题。拓扑选择(一个通过所有可能设计的路径)和直接架构预测已被提议为其他可行的架构搜索工具。 通过强化学习的技术已经获得了特别强劲的结果。SE模块可以作为这些搜索算法的原子构建块,并且在并发工作中被证明是非常有效的。
  注意力和“gating ”(闸门)机制:
  注意力可以被解释为一种将可用的计算资源分配偏向于信号中信息含量最高的部分的方法。注意机制已经在许多任务中展示了它们的效用,包括序列学习 、图像定位和理解 、图像字幕和唇读,在这些应用程序中,它可以被合并为在一个或多个层之后的操作符,代表更高级的抽象,以适应模式之间的差异。一些工作对空间和通道注意力的结合使用提供了有趣的研究。
  Wang等人在深度残差网络的中间阶段插入沙漏模块,引入了一种强大的trunk-and-mask注意机制;本文SE模块包含一个轻量级的门控机制,该机制通过以计算效率高的方式建模通道关系来增强网络的表示能力。

3 SQUEEZE-AND-EXCITATION模块

  “Squeeze-and-Excitation”模块是一个计算单元,它可以建立在变换Ftr上,将输入X∈RH’×W’×C’映射为特征图U∈RH×W×C
  Ftr为卷积算子; V = [v1,v2,…vC]表示学习到的卷积核集合,其中vc表示第c个卷积核的参数; 输出为U = [u1,u2,…uC]

其中∗表示卷积,并且表示2D空间卷积核,代表vc的单个通道作用于x的对应通道。为了简化表示,省略偏置项。由于输出是通过所有通道求和产生的,通道依赖关系隐式嵌入到vc中,但与卷积核捕获的局部空间相关性纠缠在一起。
  通过卷积建模的通道关系是固有的、隐式的和局部的(除了最顶层的),本文期望通过显式建模通道相互依赖来增强卷积特征的学习,使网络能够提高其 对可被后续的转换 利用的信息特征的敏感性。因此我们希望为它提供获取全局信息的途径,在被送入下一个变换之前,通过“squeeze”和“excitation”两步重新校准卷积核的响应。

3.1 Squeeze:全局信息嵌入

  通道依赖问题:
  为了解决利用通道依赖的问题,首先考虑输出特征中每个通道的信号。每一个学习到的卷积核,有一个局部接受域(感受野),因此转换输出U的每个单元无法利用该区域(感受野)以外的上下文信息。
  方法:
  为了缓解上述问题,建议将全局空间信息压缩( squeeze)到一个通道描述符——使用全局平均池化来生成通道(channel-wise)统计量。在形式上,统计量z∈RC是由U通过其空间维数H ×W收缩产生的,z的第c项元素由以下方式计算:

  讨论:
  转换U的输出可以被解释为局部描述符的集合,这些描述符的统计量表示整个图像。利用这些信息在以前的特征工程工作中很普遍,我们使用最简单的聚合技术——全局平均池化(注意:也可以使用更复杂的策略)

3.2 Excitation:自适应调整

  目的:
  为了利用在"squeeze"操作中聚合的信息,接着进行第二个操作(Excitation操作),来完全捕获通道(channel-wise)依赖关系。
  方法:
  为实现上述目标,函数必须符合两个标准:
  1)灵活:特别是它必须能够学习通道之间的非线性交互
  2)必须学习一种非互斥关系:因为我们希望确保允许强调多个通道(而不是强制一个one-hot激活)。
  为了满足这些标准,我们选择使用一个简单的门控(gating)机制和sigmoid激活函数:

其中δ为ReLU函数,W1∈RC/r×C、 W2∈RC×C/r为了限制模型的复杂性、有助于推广,在非线性周围形成包含两个全连接层(FC)的瓶颈(降维比为r)来参数化门控(gating)机制,一个ReLU、一个维度增加的层用于返回到变换输出U的通道维度。块的最终输出通过激活s重新缩放U得到

其中是指标量sc和特征图uc∈RH×W的通道(channel-wise)乘法
  讨论:
  Excitation操作将特定于输入的描述符z映射到一组通道权重。SE块从本质上引入了以输入为条件的动力学,可以将其视为通道上的自注意力函数,这些通道的关系不限于卷积滤波器响应的局部接收场。(感受野)

3.3 实例化

  通过在每次卷积后的非线性后插入,SE块可以集成到VGGNe等标准架构中。此外SE块的灵活性意味着它可以直接应用于标准卷积之外的转换。为了说明这一点,我们通过将SE块合并到几个更复杂架构的示例中来开发SENets,下面将对此进行描述:
  (1) Inception 网络的SE块的构建: 简单地将转换Ftr作为一个完整的Inception模块(见图2),通过对架构中的每个这样的模块进行更改,获得了一个SE-Inception网络。

  (2)SE模块可以直接与Res网络一起使用:(图3 SE- resnet模块)。SE块变换Ftr被认为是残差模块的非恒等分支。挤压和激励都是在同分支相加之前起作用的。

  (3)将SE块与ResNeXt、Inception-ResNet、MobileNet和ShuffleNet整合的进一步变体可以通过类似的方案构建。
  (表1 SE-ResNet-50和SE-ResNeXt-50的详细描述。)
  SE块灵活性的一个结果是,有几种可行的方法将其集成到各种体系结构。

4 模型和计算复杂度

  为了使提议的SE块设计具有实际用途,它必须在改进性能和增加模型复杂性之间提供良好的平衡。
  (1)计算复杂度:
  为了说明与模块相关的计算负担,以ResNet-50和SE-ResNet-50之间的比较为例。对于224 × 224像素的输入图像,Renet -50在单次向前传递中需要~ 3.86 GFLOPs。每个SE块在squeeze阶段使用一个全局平均池化操作,在Excitation阶段使用两个小的FC层,随后是一个廉价的通道缩放操作。 总的来说,当将衰减率r设置为16时,SE-ResNet-50需要约3.87 GFLOPs,相对原始ResNet-50增加了0.26%,除了这一点额外的计算负担SE-ResNet-50的精度超过了ResNet-50,接近更深层的ResNet-101网络(7.58GFLOPs),(表2)。

  在实际操作中,通过ResNet-50一次来回传递需要190 ms,而SE-ResNet-50只需要209 ms(在带有8个NVIDIA Titan X gpu的服务器上执行)。对每个模型的CPU推断时间进行基准测试,ResNet-50需要164毫秒,而SE-ResNet-50需要167毫秒。由于SE块对模型性能的贡献,它所产生的少量额外计算成本是合理的。
  (2)参数量:
  接下来考虑SE块引入的附加参数,额外的参数仅仅来自门控(gating)机制的两个FC层,因此构成了整个网络容量的一小部分。 具体而言,各FC层权重参数引入的总个数为:

r表示减衰减率,S是指阶段的数量(阶段是指一个共同的空间维度的特征图上操作的块的集合),Cs表示输出通道的尺寸,Ns代表阶段s中重复的块的数量(当在FC层中使用偏置时,引入的参数和计算成本通常可以忽略不计)。
  SE-ResNet-50引入了超过250万个额外参数Renet -50所需要的参数约为2500万个,对应的增长约为10%。在实践中额外参数中的大部分来自于网络的最后阶段,在这一阶段excitation操作是在最大数量的通道中执行。然而后续实验发现这种相对昂贵的最后阶段的SE块可以删除,性能代价很小

5 实验

  本节进行实验来研究在一系列任务、数据集和模型架构中SE块的有效性。

5.1 图像分类

  ImageNet 数据集的实验:
  (1)数据集:为了评估SE块的影响,首先在ImageNet 2012数据集上进行实验,该数据集包括来自1000个不同类的128万张训练图像和50K的验证图像。在训练集上训练网络,并在验证集上报告top-1和top-5错误。
  (2)训练设置:每个基线网络结构及其SE对等体都用相同的优化方案进行训练;遵循标准做法,使用大小为224 × 224像素的比例和宽高比随机裁剪数据执行数据增强,并执行随机水平翻转;每个输入图像通过平均rgb通道减法进行归一化;所有模型都在分布式学习系统ROCS上进行训练,该系统旨在处理大型网络的高效并行训练;优化器使用具有动量0.9和1024小批量大小的SGD;初始学习率设置为0.6,每30个epoch降低10倍;使用权值初始化策略,从零开始训练模型100个epoch。缩减比r默认设置为16;
  (3)评估设置:应用中心裁剪,使每幅图像裁剪224 × 224像素它的短边首先被调整为256(对于Inception-ResNet-v2和SE-Inception-ResNet-v2,每个图像的短边被调整为352)。
  (4)网络深度:

  比较SE-ResNet和不同深度的ResNet架构,如表2:
  1)SE块在不同深度上一致地提高了性能,同时计算复杂度上有非常小的增加:SE-ResNet-50获得6.62%的 single-crop top-5验证误差,比ResNet-50(7.48%)高0.86%,接近深度更大的ResNet-101 (6.52% top-5误差),而总计算量只有其一半(3.87 GFLOPs vs. 7.58 GFLOPs);这一模式在更大的深度上重复,其中与SE-ResNet-101(6.07%的top-5误差)不仅匹配,而且比更深的ResNet-152 (6.34% top-5误差)性能高0.27%。
  2)SE块本身增加了深度,但它们以一种极其高效的计算方式这样做,并且即使在扩展基本架构的深度达到收益递减的情况下也会产生良好的收益。
  3)增益在一系列不同的网络深度上是一致的,这表明SE块所引起的改进可能是通过简单地增加基础架构的深度所获得的改进的补充。
  (5)与当代架构的融合:


  1)研究将SE模块与另外两种最先进的架构整合的效果:incept - resnet -v2和ResNeXt,这两种架构都将额外的计算构建模块引入到基本网络中,构建了这些网络的SENet等价物SE-Inception-ResNet-v2 和 SE-ResNeXt(配置如表1),表2实验结果表明: 在两个体系结构中引入SE块带来显著性能改进。其中,SE-ResNeXt-50的top-5误差为5.49%,优于直接对应的ResNeXt-50 (5.90% top-5误差)和更深层次的ResNeXt-101 (5.57% top-5误差),后者的参数总数和计算开销几乎是前者的两倍。SE对等物(4.79% top-5误差)比重新实施的Inception-ResNet-v2baseline基线(5.21% top-5误差)结果高出0.42%。
  2)评估SE块在非残差网络上运行时的影响:通过使用VGG-16 和BN-Inception架构 进行实验 。为了便于VGG-16的从头训练,我们在每次卷积后都添加批处理归一化层。对VGG-16和SE-VGG-16使用相同的训练方案。对比结果如表2: 与Res基线架构报告的结果类似,SE块在非Res架构设置上带来性能改进。
  3)SE块对模型优化的影响,图4描述基线架构和它们各自SE对等体运行的示例训练曲线。 SE块在整个优化过程中产生了稳定的改进,这种趋势在一系列被视为基线的网络架构中是相当一致的。
  (6)移动设置:

  考虑两种典型的移动优化网络架构:MobileNet 和ShuffleNet 。 实验使用256的批量大小和稍微不那么激进的数据增强和正则化 ;使用带有动量(设置为0.9)的SGD在8个gpu上训练模型,初始学习率为0.1,当验证损失趋于稳定时,学习率降低10倍。整个训练过程需要400个epoch。实验结果如表3: SE块以极小的计算成本持续增加精度。
  额外数据集的实验:

  (1)目的:研究SE块的好处是否适用于ImageNet以外的数据集。
  (2)实验架构、数据集:用几种流行的基线架构和技术(ResNet-110 , ResNet-164 , WideResNet-16-8, Shake-Shake和Cutou)在CIFAR-10和CIFAR-100数据集 上进行实验,包括一个50k训练和10k测试的集合,32 × 32像素的RGB图像,分别标记为10和100类。
  (3)实验设置:将SE块集成到上述网络,每个基线和它的SENet对等物都用标准的数据增强策略进行训练;在训练过程中图像被随机水平翻转,每边用4个像素进行零填充,然后随机抽取32 × 32的crop;应用平均值和标准偏差;训练超参数设置(如小批量大小、初始学习率、权值衰减)与原始论文的建议一致。
  表4,每个基线及其SENet对等物在CIFAR-10上的性能,表5报告CIFAR-100上的性能:
  SENet优于基线架构,表明SE块的好处并不局限于ImageNet数据集。

5.2 场景分类

  Places365-Challenge数据集:
  Places365-Challenge数据集上进行了场景分类实验,包含800万张训练图像和36500张验证图像,跨越365个类别。相对于分类,场景理解的任务提供了另一种评估模型的能力,以很好地概括和处理抽象,这是因为它通常要求模型处理更复杂的数据关联,并对更大级别的外观变化具有鲁棒性。
  实验设计与结果:

  我们选择使用ResNet-152作为一个强基线来评估SE块的有效性。实验中模型从零开始训练。表6与之前工作比较的实验结果:
   SE-ResNet-152 (11.01% top-5误差)的验证误差低于ResNet-152 (11.61% top-5误差),表明SE块也可以改善场景分类,SENet超过了之前最先进的模型 Places-365-CNN(11.48%的 top-5错误)

5.3 COCO目标检测

  评估COCO数据集目标检测任务上SE模块的泛化。
  实验设置:
  (1)数据集:在之前的工作中使用minival策略,即在80k的训练集和35k的val子集的并集上训练模型,并在其余5k的val子集上评估。
  (2)权重(预训练模型):权重由在ImageNet数据集上训练的模型参数初始化。
  (3)检测架构:使用Faster R-CNN检测框架,并遵循原文描述的超参数设置。
  实验目标:
  评估用SE-ResNet替换目标检测器中的主干架构(ResNet)的效果,以便性能上的任何变化都可以归因于更好的表示。
  实验结果:

  表7使用ResNet-50、ResNet-101及其SE对等体作为架构的目标检测器的验证集性能。
  SE-ResNet-50比ResNet-50的COCO标准AP指标高出2.4%(相对提高6.3%),比AP@IoU=0.5高出3.1%。SE块也受益于更深层次的ResNet-101架构,在AP度量上提高了2.0%(相对提高了5.0%)。
  结论:
  综上所述,实验证明了SE模块的普遍性。改进可以在广泛的架构、任务和数据集上实现。

5.4 ILSVRC 2017分类竞赛

  SENets在ILSVRC2017竞赛获得了第一名,获奖作品由一小群SENets组成,采用了标准的multi-scale 和 multi-crop融合策略,在测试集上获得了2.251%的top-5误差。

  表8:
  SENet-154整合SE块和修改后的ResNeXt,将此模型与表8中使用标准crop size的ImageNet验证集的先前工作进行了比较(224×224和320×320)发现SENet-154的top-1误差为18.68%,top-5误差为4.47%,在报告结果中是最强的。

  表9:
  包含目前知道的最强有力的结果。AmoebaNet方法:在训练过程中使用强化学习来开发新的数据增强策略,以提高搜索体系结构的性能;ResNeXt-101 32 × 48d 架构:通过在大约10亿张弱标记图像上预训练他们的模型并在ImageNet上进行微调来实现最佳的总体性能。
  更复杂的数据增强(AmoebaNet)和广泛的预训练(ResNeXt-101 32 × 48d)产生的改进可能是对我们提出的网络架构变化的补充。

6 消融实验

  本节进行消融实验,以更好地了解使用不同构型对SE模块的影响。
  实验设置:
  (1)数据集与环境:所有消融实验都是在一台机器上(8个gpu)的ImageNet数据集上进行的。
  (2)骨干架构:采用ResNet-50,根据经验在ResNet架构中,在激励操作中消除FC层的偏差,有助于通道依赖关系的建模,并在以下使用此配置实验。
  (3)数据增强策略:遵循5.1节中描述的方法。
  (4)学习率:为了研究每个变体的性能上限,学习率初始化为0.1,并继续训练,直到验证损失达到平稳水平(总计约300个时代)。然后将学习速率降低到原来的10倍,重复这个过程(总共三次)。
  (5)损失:在训练过程中使用标签平滑正则化 。

6.1 衰减率


  公式5中引入的衰减率r是一个超参数,它允许我们改变网络中SE块的容量和计算成本。 为了研究性能和计算成本之间的平衡,使用SE-ResNet-50在不同的r值范围内进行实验,如表10,结果表明:
  (1)性能在一定范围的衰减率下是稳健的。
  (2)增加复杂性并不会单调地提高性能,而较小的比例会显著地增加模型参数大小。设置r = 16可以很好地平衡准确性和复杂性。
  (3)在实践中,在整个网络中使用相同的衰减率可能不是最优的(由于不同的层执行不同的角色),因此可以通过调整衰减率来满足给定基础架构的需求,从而实现进一步的改进。

6.2 Squeeze操作


  验证使用全局平均池化而不是全局最大池化作为Squeeze操作符的意义。结果如表11:
  (1)max和average pooling都是有效的,但是average pooling的性能稍好,证明了选择average pooling作为Squeeze操作。
  (2)SE块的性能对于特定聚合操作符的选择是相当健壮的。

6.3 Excitation操作


  评估Excitation机制的非线性选择,考虑了两种进一步的选择:ReLU和tanh,并尝试用这些可替代的非线性代替sigmoid。结果见表12:
  用sigmoid替换tanh会略微恶化性能,而使用ReLU会显著恶化。实际上会导致SE-ResNet-50的性能低于ResNet-50基线。这表明为了使SE块有效,仔细地构造Excitation是重要的。

6.4 不同阶段


  通过将SE块整合到ResNet-50中来探索不同网络阶段SE模块块的影响。具体来说,将SE块添加到中间网络阶段:阶段2、阶段3和阶段4,并在表13中报告结果:
  我们观察到,在架构的每个阶段引入SE块都会带来性能上的好处,而且不同阶段的SE块所产生的增益是互补的,可以有效地结合在一起,进一步提高网络性能。

6.5 集成策略



  (1)评估将SE块整合到现有架构中时,SE位置对结果的影响:
  除提出的SE设计,考虑了三种变体:
  1) SE-PRE块:其中SE块被移动到残差单元之前;
  2) SE-POST块:SE单元移动到identity分支(ReLU之后)相加后
  3)SE- identity块:其中SE单元平行于残差单元放置在identity连接上。
  图5说明了这些变体,表14报告了每种变体的性能:SE-PRE、SE- identity和提议的SE块在使用时都表现得相似,使用SE-POST块的情况下会导致性能下降——表明SE单元产生的性能改进对于它们的位置来说是相当健壮的,前提是在分支聚合之前应用这些改进。

  (2)评估将SE块放置在残差单元结构内,对结果的影响:
   构造了一个变种的设计,将SE块移动到残差单元内,直接放置在3 × 3卷积层之后,由于3 × 3的卷积层拥有较少的通道,相应的SE块引入的参数数量也减少了。 表15中的比较表明,SE 3×3变体在参数比标准SE块少的情况下获得了相当的分类精度。我们猜测通过针对特定架构调整SE块的使用,可以进一步提高效率。

7 SE模块的作用

  SE块已被证明在多个视觉任务中改善网络性能,了解squeeze 操作的相对重要性以及excitation机制在实践中如何运作。

7.1 Squeeze的作用


  评估Squeeze操作产生的全局嵌入是否在性能上起重要作用
   试验SE块的一个变体,它添加了相同数量的参数,但不执行全局平均池化——具体去掉池化操作,在excitation中将两个FC层替换为对应的通道维数相同的1 × 1卷积,即NoSqueeze,其中excitation输出保持与输入相同的空间维数 。
  与SE块相反,这些点向卷积只能作为局部运算符输出的函数重新映射信道。而在实践中,深层网络的后几层通常具有(理论上的)全局接受场,全局嵌入不再是直接通过网络的NoSqueeze变量。
  表16两种模型的精度、计算复杂度与标准ResNet-50模型的比较。我们观察到全局信息的使用对模型的性能有显著的影响,强调了 squeeze操作的重要性。此外与NoSqueeze设计相比,SE块允许以一种计算节俭的方式使用全局信息。

7.2 Excitation的作用

  为了更清楚地了解SE块中Excitation的功能,研究SE- resnet -50模型的激活,并检查它们在网络中不同深度的不同类别和不同输入图像方面的分布。特别地想要了解excitation如何在不同类的图像之间,以及在一个类中的图像之间变化。

  首先考虑不同类的excitation分布:具体来说从表现出语义和外观多样性的ImageNet数据集中采样了四个类,即goldfish、pug、plane和cliff ;然后从验证集中为每个类别抽取50个样本,并计算每个阶段最后一个SE区块(下采样之前)中50个均匀采样通道的平均激活情况,并将其分布绘制在图6中。为了便于参考还绘制了1000个类中平均激活的分布。
  对excitation操作的作用有以下三方面的观察:
  (1)首先 不同类之间的分布在网络的早期层非常相似,如SE 2-3。这表明在早期阶段,特征通道的重要性可能会被不同的类别所分享。
  (2)第二个观察是,在更大的深度,每个通道的值变得更特定于类,因为不同的类对特征的鉴别值表现出不同的偏好,例如SE4-6和SE 5-1。(观察结果与之前的研究结果一致 即较早的层次特征通常更普遍 ,而较晚的层次特征则表现出更高层次的特异性 )
  (3)在网络的最后阶段观察到一个有点不同的现象:SE5-2表现出一种有趣的趋向于饱和状态的趋势,在这种状态下大多数的激活接近于1,当所有激活的值都为1时,SE块将简化为identity操作符。SE 5-3中的网络末端(紧接其后的是在分类器之前的全局池),类似的模式出现在不同的类上,直到规模上的适度变化(可以由分类器调整)。这表明SE 5-2和SE 5-3 在向网络提供重新校准方面不如以前的区块重要。该结果表明,通过去除最后阶段的SE块,可以显著减少附加参数计数,而性能只会有边际损失。

  图7为两个样本类(金鱼和飞机)在同一类内的图像实例激活的均值和标准差,可以观察到一个与类间可视化一致的趋势,表明SE块的动态行为在类和类内实例中都有所变化。特别是在网络的后几层中,当一个类内的表示具有相当大的多样性时,网络学习利用特征重新校准来提高其判别性能 。
  总之,SE块产生特定于实例的响应,然而这些响应在体系结构的不同层上支持模型日益增长的特定于类的需求。

8 结论

  本文:
  提出SE模块,这是一个架构单元,旨在通过使网络能够执行动态通道特征重新校准来提高网络的表征能力。
  实验:
  (1)大量实验证明了SENet的有效性,它在多个数据集和任务中实现了最先进的性能。
  (2)SE模块揭示了以前的架构无法充分建模通道方面的特征依赖关系。
  (3)由SE块产生的特征重要度值可以用于其他任务,如用于模型压缩的网络剪枝。
  我们希望这一见解能够被证明对其他需要强烈区分特征的任务有用。

【注意力机制】Squeeze-and-Excitation Networks论文理解相关推荐

  1. SE(Squeeze and Excitation)模块的理解以及代码实现

    文章目录 1. 简介 2. 运算讲解 1. 简介 SE Block并非一个完整的网络,而且一个子结构,可以嵌在其他分类或检测模型中.SE Block的核心思想是通过网络根据loss去学习特征权重,使得 ...

  2. 神经网络注意力机制--Attention in Neural Networks

    Attention in Neural Networks and How to Use It http://akosiorek.github.io/ml/2017/10/14/visual-atten ...

  3. Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解

    [标题] <Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks& ...

  4. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  5. Non-local Neural Networks论文理解

    文章目录 解决什么问题 本文创新点\贡献 前人方法 本文IDEA来源 方法 方法概述 相关 解决的点 优点 原理 Non-local Neural Networks 方程式 多种fff表达式 Non- ...

  6. 【GAT】如何理解Graph Attention Network(注意力机制)?

    论文链接:Graph Attention Networks Github链接:https://github.com/PetarV-/GAT 1 GAT的背景 2 GAT的主要结构 3 GAT的创新点是 ...

  7. 《Attention Is All You Need》注意力机制公式中Q,K,V的理解

    一.概述 <Attention Is All You Need>是一篇关于注意力机制里程碑的文章,从2017年发表至今2020年7月已经获得了上万的引用.该文的两大亮点一是提出了一个几乎仅 ...

  8. 【推荐论文】基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)...

    编者按:个性化新闻推荐是新闻行业必然的发展方向,在其实现过程中面临着三个关键问题,即分析用户兴趣.根据新闻内容建模和新闻排序.本文将这三个问题划归为新闻信息与用户兴趣的多样性问题,并由此出发,提出了基 ...

  9. 基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)

    编者按:个性化新闻推荐是新闻行业必然的发展方向,在其实现过程中面临着三个关键问题,即分析用户兴趣.根据新闻内容建模和新闻排序.本文将这三个问题划归为新闻信息与用户兴趣的多样性问题,并由此出发,提出了基 ...

最新文章

  1. Java后端WebSocket的Tomcat实现
  2. javascript里的偏函数——本质函数式编程+闭包,返回函数
  3. [导入]JavaScript 滑动条效果
  4. 基于用例点来度量软件规模并管理进度 之三
  5. ajax function不执行,ajax的success: function (data)不执行怎么回事?
  6. python实现ping命令_[小菜随笔]python tkinter实现简单的ping命令
  7. ArrayList实现线程的几种方法
  8. php中用date()取出的当前时间查8个小时的解决方法。
  9. OSPF(Open Shortest Path First)开放式最短路径优先协议03
  10. ajax-page局部刷新分页实例
  11. Unity2019中文补丁下载
  12. 苹果智能家居—HomeKit,带给您不一样的生活体验
  13. SpringBoot RestTemplate 发送请求 忽略证书不安全
  14. 一般python程序员的工资_【Python程序员工资|Python程序员待遇怎么样】-看准网
  15. 一文带你掌握监控进程技术实现
  16. 七牛云直播 iOS播放器SDK接入流程
  17. electron坑: 缩小放大快捷键
  18. Git 克隆大型仓库失败解决方法
  19. discus mysql 性能_百万纪录级mysql数据库以及discuz!优化
  20. 40%带宽成本节约!京东云视频云正式支持AV1编码

热门文章

  1. 大蟒蛇:Python入门课程主要讲什么?
  2. 【知识产权之专利权】不定项选择题和判断题题库
  3. 2021-11-02 没羞没臊的商家装傻充愣昧着良知昧着基本人格耍赖达到丧心病狂程度.
  4. Android-x86
  5. Google Play通话记录和短信权限使用限制
  6. 高级计算机职称论文自述,教师评职称自述
  7. input调起ios摄像头拍照旋转问题解决思路
  8. DNS劫持是什么意思?百度dns有什么坏处?DNS被劫持会造成哪些后果?
  9. t460p加固态硬盘 thinkpad_不仅是硬件升级!ThinkPad T460p评测
  10. 《微观经济学》 第十章