Squeeze-and-Excitation Networks(译)

摘要

卷积神经网络建立在卷积运算的基础上,通过融合局部感受野内的空间信息和通道信息来提取信息特征。为了提高网络的表示能力,许多现有的工作已经显示出增强空间编码的好处。在这项工作中,我们专注于通道,并提出了一种新颖的架构单元,我们称之为“Squeeze-and-Excitation”(SE)块,通过显式地建模通道之间的相互依赖关系,自适应地重新校准通道式的特征响应。通过将这些块堆叠在一起,我们证明了我们可以构建SENet架构,在具有挑战性的数据集中可以进行泛化地非常好。关键的是,我们发现SE块以微小的计算成本为现有的最先进的深层架构产生了显著的性能改进。SENets是我们ILSVRC 2017分类提交的基础,它赢得了第一名,并将top-5错误率显著减少到2.251%,相对于2016年的获胜成绩取得了∼25%的相对改进。编码和模型可以在gitgub上获得

一、 引言

卷积神经网络(CNNs)已被证明是解决各种视觉任务的有效模型。对于每个卷积层,沿着输入通道学习一组滤波器来表达局部空间连接模式。换句话说,期望中的卷积核是一种信息的组合,是通过融合空间信息和信道信息来实现的。通过叠加一系列非线性和下采样交织的卷积层,CNN能够捕获具有全局感受野的分层模式作为强大的图像描述。最近的工作已经证明,网络的性能可以通过显式地嵌入学习机制来改善,这种学习机制有助于捕捉空间相关性而不需要额外的监督。Inception架构推广了一种这样的方法,这表明网络可以通过在其模块中嵌入多尺度处理来取得有竞争力的准确度。最近的工作在寻找更好地模型空间依赖,结合空间注意力。

本文强调的是通过引入新的架构单元,我们称之为“Squeeze-and-Excitation” (SE)块,来研究架构设计的一个不同方向——通道关系。我们的目标是通过显式地建模卷积特征通道之间的相互依赖性来提高网络的表示能力。为了达到这个目的,我们提出了一种机制,使网络能够执行特征重新校准,通过这种机制可以学习使用全局信息来选择性地强调信息特征并抑制不太有用的特征。

SE构建块的基本结构如图1所示。对于任何给定的变换 F t r : X U , X R W × H × C , U R W × H × C F_{tr} : X \rightarrow U , X \in \mathbb{R} ^{W^{'} \times H^{'} \times C^{'} }, U \in \mathbb{R} ^{W \times H \times C} ,(例如卷积或一组卷积),我们可以构造一个相应的SE块来执行特征重新校准,如下所示。特征U首先通过squeeze操作,该操作跨越空间维度W×H聚合特征映射来产生通道描述符。这个描述符嵌入了通道特征响应的全局分布,使来自网络全局感受野的信息能够被其较低层利用。这之后是一个excitation操作,其中通过基于通道依赖性的自门机制为每个通道学习特定采样的激活,控制每个通道的激励。然后特征映射U被重新加权以生成SE块的输出,然后可以将其直接输入到随后的层中。在这里插入图片描述
图1: A Squeeze-and-Excitation 块。

SE网络可以通过简单地堆叠SE构建块的集合来生成。SE块也可以用作架构中任意深度的原始块的直接替换。然而,虽然构建块的模板是通用的,正如我们6.4节中展示的那样,但它在不同深度的作用适应于网络的需求。在前面的层中,它学习以类不可知的方式激发信息特征,增强共享的较低层表示的质量。在后面的层中,SE块越来越专业化,并以高度类特定的方式响应不同的输入。因此,SE块进行特征重新校准的好处可以通过整个网络进行累积。

新CNN架构的开发是一项具有挑战性的工程任务,通常涉及许多新的超参数和层配置的选择。相比之下,上面概述的SE块的设计是简单的,并且可以直接与现有的最新架构一起使用,其卷积层可以通过直接用对应的SE层来替换从而进行加强。

另外,如第四节所示,SE块在计算上是轻量级的,并且在模型复杂性和计算负担方面仅稍微增加。为了支持这些声明,我们开发了一些SENets,即SE-ResNet,SE-Inception,SE-ResNeXt和SE-Inception-ResNet,并在ImageNet 2012数据集上对SENets进行了广泛的评估。此外,为了证明SE块的一般适用性,我们还呈现了ImageNet之外的结果,表明所提出的方法不受限于特定的数据集或任务。

使用SENets,我们赢得了ILSVRC 2017分类竞赛的第一名。我们的表现最好的模型集合在测试集上达到了2.251%的top-5错误率。与前一年的获奖者(2.991%的top-5错误率)相比,这表示a ∼25%的相对改进。我们的模型和相关材料已经提供给研究界。

二、相关工作

深层架构。

VGGNets[35]和Inception模型[39]证明了深度增加可以获得的好处,明显超过了ILSVRC 2014之前的方法。批标准化(BN)通过插入单元来调节层输入稳定学习过程,改善了通过深度网络的梯度传播,这使得可以用更深的深度进行进一步的实验。残差网络通过使用基于身份的跳跃连接展示了学习更深层次网络的有效性。公路网采用门控机制调节快捷连接。网络层间连接的重新表示进一步提高了深层网络的学习和表征特性。

另一种研究方法探索了调整网络模块化组件功能形式的方法。可以用分组卷积来增加基数(一组变换的大小)以学习更丰富的表示。多分支卷积可以解释为这个概念的概括,使得卷积算子可以更灵活的组合。跨通道相关性通常被映射为新的特征组合,或者独立的空间结构,或者联合使用标准卷积滤波器和 1 × 1 1\times1 卷积,然而大部分工作的目标是集中在减少模型和计算复杂度上面。这种方法反映了一个假设,即通道关系可以被表述为具有局部感受野的实例不可知的函数的组合。相比之下,我们声称为网络提供一种机制来显式建模通道之间的动态、非线性依赖关系,使用全局信息可以减轻学习过程,并且显著增强网络的表示能力。

注意力和门机制

从广义上讲,可以将注意力视为一种工具,将可用处理资源的分配偏向于输入信号的信息最丰富的组成部分。这种机制的好处已经在一系列任务中得到了展示,从图像中的定位和理解到基于序列的模型。它通常与门控函数(如softmax或sigmoid)和顺序技术相结合实现。最近的工作显示了它对诸如图像字幕[4,48]和唇读[7]之类的任务的适用性。在这些应用程序中,它通常使用在一个或多个层的顶层,这些层表示用于调整模式的更高级别的抽象。Wang等人使用沙漏模块介绍了一种强大的trunk-and-mask注意力机制。该高容量单元被插入到中间阶段之间的深度残差网络中。相比之下,我们提出的SE块是一种轻量级的门控机制,专门用于以一种计算效率的方式对信道关系进行建模,旨在增强整个网络中基本模块的表示能力。

在这些应用中,它通常用在表示较高级别抽象的一个或多个层的顶部,以用于模态之间的适应。高速网络[36]采用门机制来调节快捷连接,使得可以学习非常深的架构。王等人[42]受到语义分割成功的启发,引入了一个使用沙漏模块[27]的强大的trunk-and-mask注意力机制。这个高容量的单元被插入到中间阶段之间的深度残差网络中。相比之下,我们提出的SE块是一个轻量级的门机制,专门用于以计算有效的方式对通道关系进行建模,并设计用于增强整个网络中模块的表示能力

三、Squeeze-and-Excitation块

S q u e e z e a n d E x c i t a t i o n Squeeze-and-Excitation 块是一个计算单元,可以为任何给定的变换构建:
F t r : X U , X R W × H × C , U R W × H × C F_{tr} : X \rightarrow U , X \in \mathbb{R} ^{W^{'} \times H^{'} \times C^{'} }, U \in \mathbb{R} ^{W \times H \times C} 。为了简化说明,在接下来的表示中,我们将 F t r F_{tr} 看作一个卷积运算符。 V = [ v 1 , v 2 , , v C ] V=[v_1,v_2,…,v_C] 表示学习到的一组滤波器核, v c v_c 指的是第c个滤波器的参数。然后我们可以将 F t r F_{tr} 的输出写作 U = [ u 1 , u 2 , , u C ] U=[u_1,u_2,…,u_C] ,其中
u c = v c X = s = 1 C v c s x s u_c = v_c∗X = \displaystyle \sum ^{C^{'}}_{s =1}v_c^s * x^s .
这里∗表示卷积, v c = [ v c 1 , v c 2 , , v c C ] v_c = [v^1_c,v^2_c,…,v^{ C^{'}}_c] X = [ x 1 , x 2 , , x C ] X =[x^1,x^2,…,x^{C^′}] (为了简洁表示,忽略偏置项)。这里 v c s v^s_c 是2D空间核,因此表示 v c v_c 的一个单通道,因此代表了作用于 X X 对应通道上的 v c v_c 的单个通道。由于输出是通过所有通道的总和产生的,所以通道依赖关系隐式地嵌入到 v c v_c 中,但是这些依赖关系与过滤器捕获的空间相关性是纠缠在一起的。我们的目标是确保网络能够提高其对信息特性的敏感性,以便后续的转换能够利用这些特性,并抑制那些不太有用的特性。我们建议通过明确地建立通道相互依赖的模型来实现这一点,从而在将滤波器响应输入到下一个转换之前,在两个步骤(挤压和激励)中重新校准滤波器响应。SE构建块的示意图如图1所示

3.1. Squeeze:全局信息嵌入

为了解决利用通道依赖关系的问题,我们首先考虑输出特性中每个通道的信号。每一个经过学习的过滤器操作一个局部接受域,因此转换输出 U U 的每个单元不能利用这个区域之外的上下文信息。这个问题在接受域大小较小的较低网络层中变得更加严重。

为了减轻这个问题,我们提出将全局空间信息压缩成一个通道描述符。这是通过使用全局平均池化生成通道统计实现的。形式上,统计 z R C z \in \mathbb{R}^C 是通过在空间维度 W × H W \times H 上收缩U生成的,其中 z z 的第c个元素通过下式计算:
z c = F s q ( u c ) = 1 W × H i = 1 W j = 1 H u c ( i , j ) z_c = F_{sq} (u_c)=\frac{1}{W \times H} \displaystyle \sum ^{W}_{i =1} \displaystyle \sum ^{H}_{j =1}u_c(i,j) .
讨论。转换输出 U U 可以解释为一个局部描述符的集合,其统计数据表示整个图像。利用这些信息在特征工程工作中非常普遍。我们选择了最简单的全局平均池,注意到这里也可以使用更复杂的聚合策略。

3.2. Excitation:自适应重新校正

为了利用压缩操作中聚集的信息,我们使用了第二个操作,该操作的目的是充分捕获信道上的依赖关系。函数来实现这个目标,必须满足两个条件:第一,它必须灵活(特别是,它必须有能力学习通道之间的非线性相互作用),其次,它必须学会非互斥的关系,因为我们想确保多个通道被强调而不是仅强调一个激活。为了满足这些标准,我们选择采用一个简单的门机制,并使用sigmoid激活:

s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) s = F_{ex}(z,W) = \sigma(g(z,W)) = \sigma (W_2 \delta(W_1 z))

其中 δ \delta 是指 R e L U ReLU 函数, W 1 R C r × C W_1 \in \mathbb{R}^{\frac{C}{r} \times C} W 2 R C × C r W_2 \in \mathbb{R}^{C \times \frac{C}{r} } 。为了限制模型复杂性和辅助泛化,我们通过在非线性周围形成两个全连接(FC)层的瓶颈来参数化门机制,即降维层参数为 W 1 W_1 ,降维比例为 r r (这个参数选择在6.4节中讨论),一个 R e L U ReLU ,然后是一个参数为 W 2 W_2 的升维层。块的最终输出是通过重新调整转换输出得到的 U U 与激活:

为了限制模型复杂度和辅助泛化,我们通过在非线性周围形成两个全连接(FC)层的瓶颈来参数化门机制,即降维层参数为 W 1 W_1 ,降维比例为 r r (这个参数选择在6.4节中讨论),一个ReLU,然后是一个参数为 W 2 W_2 的升维层。块的最终输出通过重新调节带有激活的变换输出U得到:
x ~ c = F s c a l e ( u c , s c ) = s c u c \tilde{x}_c = F_{scale}(u_c , s_c) = s_c \cdot u_c
其中 X ~ = [ x ~ 1 , x ~ 2 , , x ~ C ] \tilde{X} = [\tilde{x}_1,\tilde{x}_2,\ldots,\tilde{x}_C] F s c a l e ( u c , s c ) F_{scale}(u_c , s_c) 指的是特征映射 u c R W × H u_c \in \mathbb{R}^{W \times H} 和标量 s c s_c 之间的对应通道乘积。

讨论。激活作为适应特定输入描述符 z z 的通道权重。在这方面,SE块本质上引入了以输入为条件的动态特性,有助于提高特征辨别力。

3.3 模型:SE-Inception和SE-ResNet

SE块可以直接了当的应用于AlexNet和VGGNet。SE块的灵活性意味着它可以直接应用于标准卷积之外的变换。为了说明这一点,我们开发SENets,将SE块集成到具有复杂设计的结构中

对于非残差网络,例如Inception网络,通过将转换 F t r F_{tr} 作为一个完整的Inception模块(参见图2)。通过对体系结构中的每个这样的模块进行这种更改,我们构建了一个 S E I n c e p t i o n SE-Inception 网络。此外,SE块具有足够的灵活性,可用于剩余网络。图3描述了一个 S E R e s N e t SE-ResNet 模块的架构。这里,SE块转换 F t r F_{tr} 被认为是残差模块的非恒等分支。 S q u e e z e Squeeze e x c i t a t i o n excitation 都发生在同分支求和之前。
我们通过将SE块集成到两个流行的网络架构系列Inception和ResNet中来开发SENets。通过将变换 F t r F_{tr} 看作一个整体的Inception模块(参见图2),为Inception网络构建SE块。通过对架构中的每个模块进行更改,我们构建了一个SE-Inception网络。其他更多的组合的变体是 R e s N e X t ResNeXt I n c e p t i o n R e s N e t Inception-ResNet M o b i l e N e t MobileNet S h u f f l e N e t ShuffleNet ,可以按照类似的方案来构造。我们在表1中描述了 S E R e s N e t 50 SE-ResNet-50 S E R e s N e X t 50 SE-ResNeXt-50 的体系结构。
在这里插入图片描述
图2 最初的Inception模块架构(左)和SE-Inception模块架构(右)。

在这里插入图片描述
图3:原始残差块(左)和SE-ResNet模块(右)的模式。

四、模型与计算复杂度

为了使提出的SE块在实践中可行,它必须在模型复杂性和性能之间提供有效的平衡,这对可伸缩性非常重要。我们设定了减少率 r r 为16在所有的实验中,除非另有说明(更多讨论见第6.4节)。为了说明该模块的成本,我们以ResNet-50和SE-ResNet-50的比较为例,其中SE-ResNet-50的精度优于ResNet-50,接近于更深层次的ResNet-101网络(见表2)。ResNet-50需要大约3.86GFLOPs,在一个单一的前进通道为224×224像素的输入图像。每个SE块在 s q u e e z e squeeze 阶段使用一个全局平均池化操作,在 e x c i t a t i o n excitation 阶段使用两个小的全连接层,然后使用一个廉价的通道级伸缩操作。总的来说,SE-ResNet-50需要∼3.87 GFLOPs,比原来的ResNet-50相对增加0.26%。

在实践中,通过256张图像的小批量训练,在ResNet-50中向前和向后的单次传递需要190毫秒,与SE-ResNet-50的209毫秒相比(这两种计时都是在一台有8块NVIDIA Titan X的服务器上执行的)。我们认为这是一个合理的开销,特别是在现有的GPU库中,全局池和小的内积操作优化程度较低的情况下。此外,由于其对于嵌入式设备应用程序的重要性,我们还对每个模型的CPU推理时间进行基准测试:对于224×224像素的输入图像,ResNet-50需要SE-ResNet-50为164ms, SE-ResNet-50为167ms。SE块所需的小的额外计算开销是由它对模型性能的贡献来证明的。

接下来,考虑由增加的块引入的附加参数。它们都包含在这两个FC层的闸门机制中,是网络总容量的一小部分,更精确地说,引入的附加参数的数量为:
2 r s = 1 S N s C s 2 \frac{2}{r} \displaystyle\sum^S_{s =1}N_s \cdot C_s^2
其中 r r 为降低比, S S 为阶段数(其中每个阶段为一个共同空间维特征图上操作的块集合), C s C_s 为输出通道维数, N s N_s 为阶段S的重复块数。 S E R e s N e t 50 SEResNet-50 增加了比 R e s N e t 50 ResNet-50 所需的2500万个参数多大约250万的参数,相当于增加了约10%。这些参数中的大多数来自网络的最后一个阶段,在这个阶段,激励是在最大的通道维度上进行的。然而,我们发现,SE块的相对空间代价昂贵的最后阶段可以删除,在性能和代价的权衡(<0.1%的ImageNet top-1错误)减少相对参数增加∼4%,在需要考虑参数使用的情况下,这可能是有用的(参见第6.4节的进一步讨论)。

五、成就

每个普通网络及其对应的SE对应网络都使用相同的优化方案进行训练。在ImageNet的训练中,我们遵循标准做法,使用随机大小的裁剪到224×224像素(对于inception-resnet -v2和SE-inception-resnet -v2是299×299)来进行数据扩充和随机水平翻转。通过平均信道减法对输入图像进行归一化处理。此外,我们采用了[36]中描述的数据平衡策略进行小批量抽样。这些网络是在我们的分布式学习系统“ROCS”上训练的,“ROCS”旨在处理大型网络的有效并行训练。优化是使用动量0.9的同步SGD和大小为1024的小批量进行的。初始学习率设置为0.6,每30个epoch减少10倍。所有的模型都使用[9]中描述的权重初始化策略从零开始进行100个epoch的训练。
在这里插入图片描述
表1:(左)ResNet-50。SE-ResNet-50(中间)。(右)SE-ResNeXt-50, 32×4d模板。在方括号内列出残差块的具体参数设置的形状和操作,在方括号外列出一个阶段的堆叠块数。fc后面的内括号表示SE模块中两个完全连接的层的输出维数。

测试时,我们应用中心裁切评价验证集,从每张短边裁剪缩放到256(299×299的每个图像短边第一次调整大小以352年Inception-ResNet-v2和SE-Inception-ResNet-v2)的图片中裁切出224×224像素。

六、实验

6.1 ImageNet分类

ImageNet 2012数据集由128万张训练图像和来自1000个类的50K验证图像组成。我们在训练集上训练网络,并报告top-1和top-5 的错误。
在这里插入图片描述
表2:ImageNet验证集的单次裁剪错误率(%)和复杂度比较。原始列是指原始论文中报告的结果。为了进行公平的比较,我们重新训练基线模型,并在重新实现列中报告得分。SENet列是指添加了SE块的相应架构。括号中的数字表示在重新实现的基线上的性能改进。†表明该模型已经在验证集的非黑名单子集上进行了评估(这在[42]中有更详细的讨论),这可能会略微改善结果。对VGG-16和SE-VGG-16进行批处理规范化训练。

网络深度:我们首先比较SE-ResNet和ResNet不同深度的架构。结果由表2显示,SE块在不同深度上的性能不断提高,而计算复杂度的增加非常小。

值得注意的是,SE-ResNet-50架构在top-5上单切割的错误率达到了6.62%,比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%。Fig. 4 描述了训练和验证曲线SE-ResNet-50和ResNet-50 ( 更多的网络曲线被展示在附加材料中)。应该注意的是,SE块本身增加了深度,它们所做的是一种非常有效的计算方式,甚至在扩展基础架构的深度达到递减回报的时候也能产生良好的回报。此外,通过在不同深度范围的训练,我们可以认为性能改进是一致的,这表明SE块带来的改进可以与增加基础架构深度结合使用。

在这里插入图片描述
图4:ResNet-50和SE-ResNet-50在ImageNet上的训练曲线。

**整合模型结构:**接下来,我们将研究将SE块与另外两个最先进的架构Inception- ResNet -v2和ResNeXt相结合的效果(使用32×4d),两者都在模块中引入了之前的结构。

我们在SENet中构建了这些网络的等价物,SE-Inception-ResNet -v2 和 SE-ResNeXt - 50 (SE-ResNeXt-50的配置见表1)。表2中的结果说明了将SE块引入这两种体系结构时所带来的显著性能改进。其中,SE-ResNeXt-50的top-5的误差为5.49%,优于直接对应的ResNeXt-50(top-5的误差为5.90%)和更深层次的误差ResNeXt-101(top-5的错误5.57%),该模型的参数数量和计算开销几乎是原来的两倍。至于Inception-ResNetv2的实验,我们猜想裁剪策略的差异可能会导致他们的报告结果和我们重新实现的不同,由于在[42]中他们的原始图像大小没有说明,我们从一个相对较大的图像中裁剪299×299区域(短边被调整为352)SE-Inception-ResNet -v2(4.79%的top-5错误)比我们的重新实现的Inception-ResNet-v2(5.21%的top-5错误)高出报告的结果0.42%(相对改进了8.1%),符合报告中的结果。

通过使用VGG-16和BN-Inception架构进行实验,我们还评估了SE块在非残差网络上运行时的效果。由于深度网络难以优化,为了便于VGG-16从无到有的训练,我们在每次卷积后都添加了一个批处理的归一化层。我们将相同的方案应用于训练SE-VGG-16。对比结果如表2所示,与残差体系结构中出现的现象相同。

最后,我们评估了两个有代表性的高效架构,MobileNet和ShuffleNet,在表3中表明了SE块能够以最小的计算代价,大幅度地提高精度。这些实验表明,由SE块引起的改进可以与广泛的体系结构结合使用。此外,这一结果适用于剩余和非剩余地基。
在这里插入图片描述
表3:ImageNet验证集的单次裁剪错误率(%)和复杂度比较。在这里,MobileNet指的是“1.0”
在和ShuffleNet中是指中的“ShuffleNet 1×(g = 3)”。

ILSVRC 2017分级竞赛结果:SENet为我们赢得第一名的比赛奠定了基础。我们的获奖作品包括一小部分SENets,采用了标准的多尺度和多作物融合策略,在测试集中获得了top-5的结果为2.251%的误差。我们的一个高性能网络,我们称之为SENet-154,是通过将SE块与修改后的ResNeXt集成而构建的(详见补充资料),其目标是在不太强调模型复杂性的情况下达到尽可能高的精度。我们将其与表4中ImageNet验证集上性能最好的已发布模型进行了比较。使用224×224中心切割评价,我们的模型获得了在top-1是18.68%的误差和top-5是4.47%的误差。为了进行公平的比较,我们提供了一个320×320切割评估,和以前的工作相比展示了一个显著的性能改进。比赛结束后,我们训练了输入尺寸更大的(320×320)SENet-154网络架构。
320×320,在top-1的错误率为(16.88%)和top-5的错误度率为(3.58%)的情况下,都可以获得较低的错误率。

在这里插入图片描述
表4:ImageNet验证集上最先进的CNNs的单切割错误率。测试切割尺寸为224 × 224和320×320 / 299×299。†为切割较大的模型,331×331。‡为赛后结果。SENet -154 (挑战赛后)使用更大的输入尺寸320×320进行训练,原输入尺寸为224×224。

6.2 场景分类

我们在Places365-Challenge数据集上进行了场景分类的实验。它包含了365个类别的800万张训练图像和36500张验证图像。相对于分类,场景理解的任务可以更好地评估模型的泛化能力和处理抽象的能力,因为它需要捕获更复杂的数据关联和对更大级别的外观变化的健壮性。

我们使用ResNet-152作为强基线来评估SE块的有效性,并遵循[37]中的培训和评估协议。ResNet - 152和SE - ResNet - 152的结果如表5所示。具体来说SE-ResNet -152(top-5的错误为11.01%)比ResNet-152(Top-5的错误占11.61%)的验证错误更低,这证明SE块可以在不同的数据集上执行得很好。SENet超越了之前的最先进的模型-365-CNN在这个任务上的top-5的错误率11.48%。

在这里插入图片描述
表5:Places365验证集的单次裁剪错误率(%)。

6.3 COCO上的目标检测

我们使用COCO的数据集(包含80k训练图像和40k验证图像)进一步评估SE块在对象检测任务中的泛化。我们使用更快的R-CNN作为检测方法并且基本实现。这里,我们的目的是评估用SE-ResNet替换基础架构ResNet的好处,以便将改进归因于更好的表示。表6显示了分别在验证集上使用ResNet-50、ResNet-101及其对应的SE结构的结果。SE-ResNet-50比ResNet-50更好,在 COCO的标准评价机制AP上SE-ResNet-50比ResNet-50高了5.2%,在AP@IoU=0.5上高了1.6%。重要的是,SE块能够使深层架构ResNet-101增加0.7%(相对提高2.6%)在AP上。
在这里插入图片描述
表6:对象检测结果对COCO 40k验证集使用的基本更快的R-CNN。

6.4 分析和解释

降低比 r r :引入了还原比 r r 见等式(5),这是一个重要的超参数,它允许我们改变模型中SE块的容量和计算成本。为了研究这种关系,我们对不同 r r 值范围内的SE-ResNet-50进行了实验。表7中的比较表明,性能不会随着容量的增加而单调地提高。这可能是使SE块过度适合训练集的通道依赖关系的结果。特别是我们发现设置 r = 16 r = 16 在准确性和复杂性之间取得了很好的平衡,因此,我们在所有的实验中都使用了这个值。
在这里插入图片描述
表7:ImageNet验证集上的单一切割的错误率(%)和SE-ResNet-50在不同还原比 r r 下的参数大小。

激励的作用:虽然SE块已被经验证明可以改善网络性能,但我们也想了解闸门激励机制在实践中是如何运作的。为了更清楚地描述SE块的行为,在本节中,我们研究了SE- resnet -50模型中的示例激活,并研究了它们在不同块中不同类的分布。具体来说,我们从ImageNet数据集中选取了四个具有语义和外观多样性的类,即金鱼、狗、平面和悬崖(来自这些类的示例图像以补充材料的形式显示)。然后,我们从验证集中为每个类抽取50个样本,并计算每个阶段(下采样之前)最后一个SE块中50个均匀采样通道的平均激活度,并绘制它们的分布图5所示。作为参考,我们还绘制了所有1000个类的平均激活分布。
在这里插入图片描述
图5:在ImageNet上SE-ResNet-50的不同模块中,由激励引起的激活。模块命名为“SE_stageID_blockID”。

我们对激发的作用做了以下三个观察。首先,在较低的层中,不同类之间的分布几乎相同,例如SE_2_3。这表明特征通道的重要性可能在网络的早期阶段由不同的类共享。然而,有趣的是,第二个观察结果是,在更深的深度,每个通道的值变得更加具有类特异性,因为不同的类对特征的鉴别值表现出不同的偏好。
SE_4_6和SE_5_1。这两个观察结果与之前的工作结果一致[23,50],即较低层特征通常更一般(即在分类的上下文中不确定类别),而较高层特征具有更大的特异性。因此,表征学习受益于由SE块引起的重新校准,自适应地促进特征提取和专业化到需要的程度。最后,我们观察到在网络的最后阶段有一些不同的现象。SE_5_2表现出一种有趣的饱和状态,其中大多数激活接近1,其余接近0。在所有激活取值1时,此块将成为标准剩余块。在SE_5_3网络的末端(紧接着是分类器之前的全局池),在不同的类上出现了类似的模式,直到规模上的细微变化(可以由分类器进行调整)。这表明SE_5_2和SE_5_3在向网络提供重新校准方面没有以前的块那么重要。这一发现与第4节的实证调查结果一致。这表明,通过删除最后一阶段的SE块,可以显著减少总体参数计数,而性能损失很小。

七、 Conclusion

在本文中,我们提出了SE块,这是一种新型的建筑单元,通过使网络能够进行动态的信道特征重校准来提高网络的表示能力。大量的实验证明了SENets在多个数据集上实现最新性能的有效性。此外,它们还提供了一些关于以前的架构在对通道型特性依赖关系建模方面的局限性的见解,我们希望这些见解能够被证明对其他需要强区分特性的任务有用。最后,由SE块归纳出的特征重要性可能有助于网络压缩剪枝等相关领域的研究。

发布了32 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Wolf_xujie/article/details/103227278