Squeeze-and-Excitation Networks | AGIDaily
AGI Daily
资讯日报词条论文人物新创
返回论文列表
摘要I 引言索引词:II 相关工作III Squeeze-and-Excitation 块III-A Squeeze:全局信息嵌入III-B Excitation:自适应重标定III-C 实例化IV 模型与计算复杂度V 实验V-A 图像分类V-B 场景分类V-C COCO 上的目标检测V-D ILSVRC 2017 分类竞赛VI 消融研究VI-A 降维比VI-B Squeeze 算子VI-C Excitation 算子VI-D 不同阶段VI-E 集成策略VII SE 块的作用VII-A Squeeze 的影响VII-B Excitation 的作用VIII 结论致谢附录:SENet-154 细节参考文献
返回论文列表
目录

Squeeze-and-Excitation Networks

收录于 CVPR 2018;arXiv:1709.01507
打开论文来源

Squeeze-and-Excitation Networks

Jie Hu    Li Shen Thanks:  Jie Hu and Enhua Wu are with the State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, 100190, China. They are also with the University of Chinese Academy of Sciences, Beijing, 100049, China. Jie Hu is also with Momenta and Enhua Wu is also with the Faculty of Science and Technology & AI Center at University of Macau. E-mail: hujie@ios.ac.cn   ehwu@umac.mo Gang Sun is with LIAMA-NLPR at the Institute of Automation, Chinese Academy of Sciences. He is also with Momenta. E-mail: sungang@momenta.ai Li Shen and Samuel Albanie are with the Visual Geometry Group at the University of Oxford. E-mail: {lishen,albanie}@robots.ox.ac.uk    Samuel Albanie    Gang Sun    Enhua Wu

Abstract

摘要

The central building block of convolutional neural networks (CNNs) is the convolution operator, which enables networks to construct informative features by fusing both spatial and channel-wise information within local receptive fields at each layer. A broad range of prior research has investigated the spatial component of this relationship, seeking to strengthen the representational power of a CNN by enhancing the quality of spatial encodings throughout its feature hierarchy. In this work, we focus instead on the channel relationship and propose a novel architectural unit, which we term the “Squeeze-and-Excitation” (SE) block, that adaptively recalibrates channel-wise feature responses by explicitly modelling interdependencies between channels. We show that these blocks can be stacked together to form SENet architectures that generalise extremely effectively across different datasets. We further demonstrate that SE blocks bring significant improvements in performance for existing state-of-the-art CNNs at slight additional computational cost. Squeeze-and-Excitation Networks formed the foundation of our ILSVRC 201720172017 classification submission which won first place and reduced the top-555 error to 2.251%2.251\%2.251%, surpassing the winning entry of 201620162016 by a relative improvement of ∼25%{\sim}25\%∼25%. Models and code are available at https://github.com/hujie-frank/SENet.

卷积神经网络(CNN)的核心构件是卷积算子:在每一层的局部感受野内融合空间与通道信息,从而构造有信息量的特征。大量先前工作关注这一关系中的空间分量,试图通过增强特征层级中空间编码的质量来加强 CNN 的表示能力。本文转而关注通道关系,并提出一种称为「Squeeze-and-Excitation」(SE)块的新型结构单元:通过显式建模通道间依赖,自适应地重标定通道维特征响应。我们表明这些块可以堆叠成 SENet 架构,并在不同数据集上极有效地泛化。我们还证明,SE 块能以轻微额外计算代价显著提升现有最优 CNN 的表现。Squeeze-and-Excitation Networks 构成我们 ILSVRC 201720172017 分类提交的基础:该提交获得第一名,并将 top-555 错误率降到 2.251%2.251\%2.251%,相对 201620162016 年冠军条目相对提升约 ∼25%{\sim}25\%∼25%。模型与代码见 https://github.com/hujie-frank/SENet。

I Introduction

I 引言

Index Terms:

Convolutional neural networks (CNNs) have proven to be useful models for tackling a wide range of visual tasks [1, 2, 3, 4]. At each convolutional layer in the network, a collection of filters expresses neighbourhood spatial connectivity patterns along input channels—fusing spatial and channel-wise information together within local receptive fields. By interleaving a series of convolutional layers with non-linear activation functions and downsampling operators, CNNs are able to produce image representations that capture hierarchical patterns and attain global theoretical receptive fields. A central theme of computer vision research is the search for more powerful representations that capture only those properties of an image that are most salient for a given task, enabling improved performance. As a widely-used family of models for vision tasks, the development of new neural network architecture designs now represents a key frontier in this search. Recent research has shown that the representations produced by CNNs can be strengthened by integrating learning mechanisms into the network that help capture spatial correlations between features. One such approach, popularised by the Inception family of architectures [5, 6], incorporates multi-scale processes into network modules to achieve improved performance. Further work has sought to better model spatial dependencies [7, 8] and incorporate spatial attention into the structure of the network [9].

索引词:

卷积神经网络(CNN)已被证明是处理广泛视觉任务的有用模型 [1, 2, 3, 4]。网络中每一卷积层的一组滤波器表达沿输入通道的邻域空间连接模式——在局部感受野内把空间与通道信息融在一起。通过将一系列卷积层与非线性激活、下采样算子交错,CNN 能产生捕捉层次模式、并具有全局理论感受野的图像表示。计算机视觉研究的中心主题之一,是寻找更强的表示,只捕捉对给定任务最显著的图像性质,从而提升表现。作为视觉任务广泛使用的模型族,新神经网络架构设计现已成为这一搜索的关键前沿。近期研究表明,把有助于捕捉特征空间相关的学习机制集成进网络,可以加强 CNN 产生的表示。一类由 Inception 族架构 [5, 6] 推广的做法,是在网络模块中引入多尺度过程以提升表现。后续工作试图更好地建模空间依赖 [7, 8],并把空间注意力纳入网络结构 [9]。

Figure 1

Fig. 1: A Squeeze-and-Excitation block.

图 1:一个 Squeeze-and-Excitation 块。

In this paper, we investigate a different aspect of network design - the relationship between channels. We introduce a new architectural unit, which we term the Squeeze-and-Excitation (SE) block, with the goal of improving the quality of representations produced by a network by explicitly modelling the interdependencies between the channels of its convolutional features. To this end, 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.

本文研究网络设计的另一侧面——通道之间的关系。我们引入称为 Squeeze-and-Excitation(SE)块的新结构单元,目标是通过显式建模卷积特征各通道之间的依赖,提升网络表示质量。为此,我们提出一种允许网络做特征重标定的机制:学习利用全局信息,有选择地强调信息丰富的特征、抑制不太有用的特征。

The structure of the SE building block is depicted in Fig. 1. For any given transformation Ftr\mathbf{F}_{tr}Ftr​ mapping the input X\mathbf{X}X to the feature maps U\mathbf{U}U where U∈RH×W×C\mathbf{U}\in\mathbb{R}^{H\times W\times C}U∈RH×W×C, e.g. a convolution, we can construct a corresponding SE block to perform feature recalibration. The features U\mathbf{U}U are first passed through a squeeze operation, which produces a channel descriptor by aggregating feature maps across their spatial dimensions (H×WH\times WH×W). The function of this descriptor is to produce an embedding of the global distribution of channel-wise feature responses, allowing information from the global receptive field of the network to be used by all its layers. The aggregation is followed by an excitation operation, which takes the form of a simple self-gating mechanism that takes the embedding as input and produces a collection of per-channel modulation weights. These weights are applied to the feature maps U\mathbf{U}U to generate the output of the SE block which can be fed directly into subsequent layers of the network.

SE 构建块结构见图 1。对任意把输入 X\mathbf{X}X 映射到特征图 U\mathbf{U}U(U∈RH×W×C\mathbf{U}\in\mathbb{R}^{H\times W\times C}U∈RH×W×C)的变换 Ftr\mathbf{F}_{tr}Ftr​(例如卷积),可构造对应的 SE 块做特征重标定。特征 U\mathbf{U}U 先经过 squeeze 操作:沿空间维(H×WH\times WH×W)聚合特征图,得到通道描述子。该描述子嵌入通道维特征响应的全局分布,使网络各层都能使用来自全局感受野的信息。聚合之后是 excitation 操作:一种简单的自门控机制,以该嵌入为输入,产生逐通道调制权重。这些权重作用于特征图 U\mathbf{U}U,得到 SE 块输出,可直接送入网络后续层。

It is possible to construct an SE network (SENet) by simply stacking a collection of SE blocks. Moreover, these SE blocks can also be used as a drop-in replacement for the original block at a range of depths in the network architecture (Section VI-D). While the template for the building block is generic, the role it performs at different depths differs throughout the network. In earlier layers, it excites informative features in a class-agnostic manner, strengthening the shared low-level representations. In later layers, the SE blocks become increasingly specialised, and respond to different inputs in a highly class-specific manner (Section VII-B). As a consequence, the benefits of the feature recalibration performed by SE blocks can be accumulated through the network.

通过简单堆叠一组 SE 块即可构造 SE 网络(SENet)。这些 SE 块也可作为即插即用替换,用于网络架构不同深度的原始块(第 VI-D 节)。尽管构建块模板通用,它在不同深度扮演的角色不同。较早层以类别无关方式激发信息丰富的特征,加强共享的低层表示;较后层 SE 块日益特化,并以高度类别相关的方式响应不同输入(第 VII-B 节)。因此,SE 块所做特征重标定的收益可以在网络中累积。

The design and development of new CNN architectures is a difficult engineering task, typically requiring the selection of many new hyperparameters and layer configurations. By contrast, the structure of the SE block is simple and can be used directly in existing state-of-the-art architectures by replacing components with their SE counterparts, where the performance can be effectively enhanced. SE blocks are also computationally lightweight and impose only a slight increase in model complexity and computational burden.

设计开发新 CNN 架构是困难的工程任务,通常需要选择许多新超参与层配置。相对地,SE 块结构简单,可直接用于现有最优架构:用 SE 对应物替换组件即可有效提升表现。SE 块在计算上也轻量,仅轻微增加模型复杂度与计算负担。

To provide evidence for these claims, we develop several SENets and conduct an extensive evaluation on the ImageNet dataset [10]. We also present results beyond ImageNet that indicate that the benefits of our approach are not restricted to a specific dataset or task. By making use of SENets, we ranked first in the ILSVRC 2017 classification competition. Our best model ensemble achieves a 2.251%2.251\%2.251% top-5 error on the test set[^1]. This represents roughly a 25%25\%25% relative improvement when compared to the winner entry of the previous year (top-5 error of 2.991%2.991\%2.991%).

为支撑这些论断,我们开发若干 SENet,并在 ImageNet 数据集 [10] 上做广泛评测。我们也给出超出 ImageNet 的结果,表明方法收益不限于特定数据集或任务。借助 SENet,我们在 ILSVRC 2017 分类竞赛中排名第一。最佳模型集成在测试集上达到 2.251%2.251\%2.251% 的 top-5 错误率[^1]。相对前一年冠军条目(top-5 错误率 2.991%2.991\%2.991%),这大约是 25%25\%25% 的相对提升。

II Related Work

II 相关工作

Deeper architectures. VGGNets [11] and Inception models [5] showed that increasing the depth of a network could significantly increase the quality of representations that it was capable of learning. By regulating the distribution of the inputs to each layer, Batch Normalization (BN) [6] added stability to the learning process in deep networks and produced smoother optimisation surfaces [12]. Building on these works, ResNets demonstrated that it was possible to learn considerably deeper and stronger networks through the use of identity-based skip connections [13, 14]. Highway networks [15] introduced a gating mechanism to regulate the flow of information along shortcut connections. Following these works, there have been further reformulations of the connections between network layers [16, 17], which show promising improvements to the learning and representational properties of deep networks.

更深的架构。 VGGNets [11] 与 Inception 模型 [5] 表明加深网络可显著提升其可学表示的质量。批归一化(BN)[6] 通过调节每层输入分布,为深层网络学习增加稳定性,并产生更平滑的优化曲面 [12]。在此基础上,ResNets 表明借助恒等跳跃连接可以学习显著更深、更强的网络 [13, 14]。Highway 网络 [15] 引入门控机制以调节捷径上的信息流。随后还有对层间连接的进一步改写 [16, 17],显示对深层网络学习与表示性质有可观改进。

An alternative, but closely related line of research has focused on methods to improve the functional form of the computational elements contained within a network. Grouped convolutions have proven to be a popular approach for increasing the cardinality of learned transformations [18, 19]. More flexible compositions of operators can be achieved with multi-branch convolutions [6, 5, 20, 21], which can be viewed as a natural extension of the grouping operator. In prior work, cross-channel correlations are typically mapped as new combinations of features, either independently of spatial structure [22, 23] or jointly by using standard convolutional filters [24] with 1×11\times 11×1 convolutions. Much of this research has concentrated on the objective of reducing model and computational complexity, reflecting an assumption that channel relationships can be formulated as a composition of instance-agnostic functions with local receptive fields. In contrast, we claim that providing the unit with a mechanism to explicitly model dynamic, non-linear dependencies between channels using global information can ease the learning process, and significantly enhance the representational power of the network.

另一条密切相关的研究线关注改进网络内部计算元件的函数形式。分组卷积已成为增加所学变换基数的流行做法 [18, 19]。多分支卷积 [6, 5, 20, 21] 可实现更灵活的算子组合,可视为分组算子的自然扩展。先前工作中,跨通道相关通常被映射为特征的新组合:或独立于空间结构 [22, 23],或用标准卷积滤波器(1×11\times 11×1 卷积)联合建模 [24]。这类研究多以降低模型与计算复杂度为目标,隐含假设通道关系可表述为具有局部感受野的实例无关函数的复合。相对地,我们主张:为单位提供用全局信息显式建模通道间动态非线性依赖的机制,可减轻学习过程并显著增强网络表示能力。

Algorithmic Architecture Search. Alongside the works described above, there is also a rich history of research that aims to forgo manual architecture design and instead seeks to learn the structure of the network automatically. Much of the early work in this domain was conducted in the neuro-evolution community, which established methods for searching across network topologies with evolutionary methods [25, 26]. While often computationally demanding, evolutionary search has had notable successes which include finding good memory cells for sequence models [27, 28] and learning sophisticated architectures for large-scale image classification [29, 30, 31]. With the goal of reducing the computational burden of these methods, efficient alternatives to this approach have been proposed based on Lamarckian inheritance [32] and differentiable architecture search [33].

算法化架构搜索。 除上述工作外,还有丰富的研究试图放弃手工架构设计,转而自动学习网络结构。该领域早期大量工作在神经演化社区进行,建立了用演化方法搜索网络拓扑的方法 [25, 26]。尽管常计算昂贵,演化搜索有过显著成功,包括为序列模型找到好的记忆单元 [27, 28],以及为大规模图像分类学习复杂架构 [29, 30, 31]。为降低计算负担,已有基于拉马克遗传 [32] 与可微架构搜索 [33] 的高效替代。

By formulating architecture search as hyperparameter optimisation, random search [34] and other more sophisticated model-based optimisation techniques [35, 36] can also be used to tackle the problem. Topology selection as a path through a fabric of possible designs [37] and direct architecture prediction [38, 39] have been proposed as additional viable architecture search tools. Particularly strong results have been achieved with techniques from reinforcement learning [40, 41, 42, 43, 44]. SE blocks can be used as atomic building blocks for these search algorithms, and were demonstrated to be highly effective in this capacity in concurrent work [45].

把架构搜索表述为超参优化后,随机搜索 [34] 及其他更精细的基于模型的优化技术 [35, 36] 也可用于该问题。把拓扑选择看作穿过可能设计织物的路径 [37],以及直接架构预测 [38, 39],也被提出为可行的架构搜索工具。用强化学习的技术取得了特别强的结果 [40, 41, 42, 43, 44]。SE 块可作为这些搜索算法的原子构建块,并在同期工作 [45] 中被证明在这一角色上高度有效。

Attention and gating mechanisms. Attention can be interpreted as a means of biasing the allocation of available computational resources towards the most informative components of a signal [46, 47, 48, 49, 50, 51]. Attention mechanisms have demonstrated their utility across many tasks including sequence learning [52, 53], localisation and understanding in images [54, 9], image captioning [55, 56] and lip reading [57]. In these applications, it can be incorporated as an operator following one or more layers representing higher-level abstractions for adaptation between modalities. Some works provide interesting studies into the combined use of spatial and channel attention [58, 59]. Wang et al. [58] introduced a powerful trunk-and-mask attention mechanism based on hourglass modules [8] that is inserted between the intermediate stages of deep residual networks. By contrast, our proposed SE block comprises a lightweight gating mechanism which focuses on enhancing the representational power of the network by modelling channel-wise relationships in a computationally efficient manner.

注意力与门控机制。 注意力可理解为把可用计算资源偏向信号中最有信息分量的一种手段 [46, 47, 48, 49, 50, 51]。注意力机制已在许多任务上展示效用,包括序列学习 [52, 53]、图像中的定位与理解 [54, 9]、图像描述 [55, 56] 与唇读 [57]。在这些应用中,它可作为跟在一层或多层更高层抽象之后的算子,用于模态间适配。一些工作对空间与通道注意力的联合使用做了有趣研究 [58, 59]。Wang et al. [58] 引入基于沙漏模块 [8] 的强力主干–掩码注意力机制,插入深度残差网络的中间阶段之间。相对地,我们提出的 SE 块是轻量门控机制,专注以计算高效方式建模通道关系,从而增强网络表示能力。

III Squeeze-and-Excitation Blocks

III Squeeze-and-Excitation 块

A Squeeze-and-Excitation block is a computational unit which can be built upon a transformation Ftr\mathbf{F}_{tr}Ftr​ mapping an input X∈RH′×W′×C′\mathbf{X}\in\mathbb{R}^{H^{\prime}\times W^{\prime}\times C^{\prime}}X∈RH′×W′×C′ to feature maps U∈RH×W×C\mathbf{U}\in\mathbb{R}^{H\times W\times C}U∈RH×W×C. In the notation that follows we take Ftr\mathbf{F}_{tr}Ftr​ to be a convolutional operator and use V=[v1,v2,…,vC]\mathbf{V}=[\mathbf{v}_{1},\mathbf{v}_{2},\dots,\mathbf{v}_{C}]V=[v1​,v2​,…,vC​] to denote the learned set of filter kernels, where vc\mathbf{v}_{c}vc​ refers to the parameters of the ccc-th filter. We can then write the outputs as U=[u1,u2,…,uC]\mathbf{U}=[\mathbf{u}_{1},\mathbf{u}_{2},\dots,\mathbf{u}_{C}]U=[u1​,u2​,…,uC​], where

Squeeze-and-Excitation 块是可建立在变换 Ftr\mathbf{F}_{tr}Ftr​ 之上的计算单元,该变换把输入 X∈RH′×W′×C′\mathbf{X}\in\mathbb{R}^{H^{\prime}\times W^{\prime}\times C^{\prime}}X∈RH′×W′×C′ 映射到特征图 U∈RH×W×C\mathbf{U}\in\mathbb{R}^{H\times W\times C}U∈RH×W×C。下文记号中,取 Ftr\mathbf{F}_{tr}Ftr​ 为卷积算子,并用 V=[v1,v2,…,vC]\mathbf{V}=[\mathbf{v}_{1},\mathbf{v}_{2},\dots,\mathbf{v}_{C}]V=[v1​,v2​,…,vC​] 表示所学滤波器核集合,其中 vc\mathbf{v}_{c}vc​ 为第 ccc 个滤波器的参数。输出可写为 U=[u1,u2,…,uC]\mathbf{U}=[\mathbf{u}_{1},\mathbf{u}_{2},\dots,\mathbf{u}_{C}]U=[u1​,u2​,…,uC​],其中

uc=vc∗X=∑s=1C′vcs∗xs.(1)\mathbf{u}_{c}=\mathbf{v}_{c}\ast\mathbf{X}=\sum_{s=1}^{C^{\prime}}\mathbf{v}^{s}_{c}\ast\mathbf{x}^{s}. \tag{1}uc​=vc​∗X=s=1∑C′​vcs​∗xs.(1)

Here ∗\ast∗ denotes convolution, vc=[vc1,vc2,…,vcC′]\mathbf{v}_{c}=[\mathbf{v}^{1}_{c},\mathbf{v}^{2}_{c},\dots,\mathbf{v}^{C^{\prime}}_{c}]vc​=[vc1​,vc2​,…,vcC′​], X=[x1,x2,…,xC′]\mathbf{X}=[\mathbf{x}^{1},\mathbf{x}^{2},\dots,\mathbf{x}^{C^{\prime}}]X=[x1,x2,…,xC′] and uc∈RH×W\mathbf{u}_{c}\in\mathbb{R}^{H\times W}uc​∈RH×W. vcs\mathbf{v}^{s}_{c}vcs​ is a 222D spatial kernel representing a single channel of vc\mathbf{v}_{c}vc​ that acts on the corresponding channel of X\mathbf{X}X. To simplify the notation, bias terms are omitted. Since the output is produced by a summation through all channels, channel dependencies are implicitly embedded in vc\mathbf{v}_{c}vc​, but are entangled with the local spatial correlation captured by the filters. The channel relationships modelled by convolution are inherently implicit and local (except the ones at top-most layers). We expect the learning of convolutional features to be enhanced by explicitly modelling channel interdependencies, so that the network is able to increase its sensitivity to informative features which can be exploited by subsequent transformations. Consequently, we would like to provide it with access to global information and recalibrate filter responses in two steps, squeeze and excitation, before they are fed into the next transformation. A diagram illustrating the structure of an SE block is shown in Fig. 1.

此处 ∗\ast∗ 表示卷积,vc=[vc1,vc2,…,vcC′]\mathbf{v}_{c}=[\mathbf{v}^{1}_{c},\mathbf{v}^{2}_{c},\dots,\mathbf{v}^{C^{\prime}}_{c}]vc​=[vc1​,vc2​,…,vcC′​],X=[x1,x2,…,xC′]\mathbf{X}=[\mathbf{x}^{1},\mathbf{x}^{2},\dots,\mathbf{x}^{C^{\prime}}]X=[x1,x2,…,xC′],uc∈RH×W\mathbf{u}_{c}\in\mathbb{R}^{H\times W}uc​∈RH×W。vcs\mathbf{v}^{s}_{c}vcs​ 是表示 vc\mathbf{v}_{c}vc​ 单通道的二维空间核,作用于 X\mathbf{X}X 的对应通道。为简化记号,省略偏置项。由于输出由对所有通道求和得到,通道依赖隐式嵌入在 vc\mathbf{v}_{c}vc​ 中,但与滤波器捕捉的局部空间相关纠缠在一起。卷积所建模的通道关系本质上是隐式且局部的(除最顶层外)。我们期望通过显式建模通道相互依赖来增强卷积特征学习,使网络能提高对后续变换可利用的信息特征的敏感度。因此,我们希望在特征送入下一变换之前,分两步——squeeze 与 excitation——为其提供全局信息并重标定滤波器响应。SE 块结构示意见图 1。

III-A Squeeze: Global Information Embedding

III-A Squeeze:全局信息嵌入

In order to tackle the issue of exploiting channel dependencies, we first consider the signal to each channel in the output features. Each of the learned filters operates with a local receptive field and consequently each unit of the transformation output U\mathbf{U}U is unable to exploit contextual information outside of this region.

为利用通道依赖,我们首先考虑输出特征中每个通道上的信号。每个所学滤波器以局部感受野运算,因而变换输出 U\mathbf{U}U 的每个单元无法利用该区域之外的上下文信息。

To mitigate this problem, we propose to squeeze global spatial information into a channel descriptor. This is achieved by using global average pooling to generate channel-wise statistics. Formally, a statistic z∈RC\mathbf{z}\in\mathbb{R}^{C}z∈RC is generated by shrinking U\mathbf{U}U through its spatial dimensions H×WH\times WH×W, such that the ccc-th element of z\mathbf{z}z is calculated by:

为缓解这一问题,我们提出把全局空间信息 squeeze 成通道描述子。做法是用全局平均池化生成通道维统计量。形式化地,统计量 z∈RC\mathbf{z}\in\mathbb{R}^{C}z∈RC 通过沿空间维 H×WH\times WH×W 收缩 U\mathbf{U}U 得到,其第 ccc 个元素为:

zc=Fsq(uc)=1H×W∑i=1H∑j=1Wuc(i,j).(2)z_{c}=\mathbf{F}_{sq}(\mathbf{u}_{c})=\frac{1}{H\times W}\sum_{i=1}^{H}\sum_{j=1}^{W}u_{c}(i,j). \tag{2}zc​=Fsq​(uc​)=H×W1​i=1∑H​j=1∑W​uc​(i,j).(2)

Discussion. The output of the transformation U\mathbf{U}U can be interpreted as a collection of the local descriptors whose statistics are expressive for the whole image. Exploiting such information is prevalent in prior feature engineering work [60, 61, 62]. We opt for the simplest aggregation technique, global average pooling, noting that more sophisticated strategies could be employed here as well.

讨论。 变换输出 U\mathbf{U}U 可理解为局部描述子的集合,其统计量对整幅图像有表达力。利用这类信息在先前特征工程工作中很常见 [60, 61, 62]。我们选择最简单的聚合技术——全局平均池化,并指出此处也可采用更复杂的策略。

III-B Excitation: Adaptive Recalibration

III-B Excitation:自适应重标定

To make use of the information aggregated in the squeeze operation, we follow it with a second operation which aims to fully capture channel-wise dependencies. To fulfil this objective, the function must meet two criteria: first, it must be flexible (in particular, it must be capable of learning a nonlinear interaction between channels) and second, it must learn a non-mutually-exclusive relationship since we would like to ensure that multiple channels are allowed to be emphasised (rather than enforcing a one-hot activation). To meet these criteria, we opt to employ a simple gating mechanism with a sigmoid activation:

为利用 squeeze 操作聚合的信息,我们紧接第二步操作,旨在充分捕捉通道维依赖。为实现该目标,函数须满足两条:第一,必须灵活(尤其须能学习通道间非线性交互);第二,必须学习非互斥关系,因为我们希望允许多个通道同时被强调(而非强制独热激活)。为满足这些条件,我们采用带 sigmoid 激活的简单门控机制:

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z)),(3)\mathbf{s}=\mathbf{F}_{ex}(\mathbf{z},\mathbf{W})=\sigma(g(\mathbf{z},\mathbf{W}))=\sigma(\mathbf{W}_{2}\delta(\mathbf{W}_{1}\mathbf{z})), \tag{3}s=Fex​(z,W)=σ(g(z,W))=σ(W2​δ(W1​z)),(3)

where δ\deltaδ refers to the ReLU [63] function, W1∈RCr×C\mathbf{W}_{1}\in\mathbb{R}^{\frac{C}{r}\times C}W1​∈RrC​×C and W2∈RC×Cr\mathbf{W}_{2}\in\mathbb{R}^{C\times\frac{C}{r}}W2​∈RC×rC​. To limit model complexity and aid generalisation, we parameterise the gating mechanism by forming a bottleneck with two fully-connected (FC) layers around the non-linearity, i.e. a dimensionality-reduction layer with reduction ratio rrr (this parameter choice is discussed in Section VI-A), a ReLU and then a dimensionality-increasing layer returning to the channel dimension of the transformation output U\mathbf{U}U. The final output of the block is obtained by rescaling U\mathbf{U}U with the activations s\mathbf{s}s:

其中 δ\deltaδ 指 ReLU [63] 函数,W1∈RCr×C\mathbf{W}_{1}\in\mathbb{R}^{\frac{C}{r}\times C}W1​∈RrC​×C,W2∈RC×Cr\mathbf{W}_{2}\in\mathbb{R}^{C\times\frac{C}{r}}W2​∈RC×rC​。为限制模型复杂度并有助于泛化,我们用非线性两侧的两个全连接(FC)层构成瓶颈来参数化门控:即降维比为 rrr 的降维层(该参数选择见第 VI-A 节)、ReLU,再是升维回到变换输出 U\mathbf{U}U 通道维的层。块的最终输出通过对 U\mathbf{U}U 用激活 s\mathbf{s}s 重缩放得到:

x~c=Fscale(uc,sc)=sc uc,(4)\widetilde{\mathbf{x}}_{c}=\mathbf{F}_{scale}(\mathbf{u}_{c},s_{c})=s_{c}\,\mathbf{u}_{c}, \tag{4}xc​=Fscale​(uc​,sc​)=sc​uc​,(4)

where X~=[x~1,x~2,…,x~C]\widetilde{\mathbf{X}}=[\widetilde{\mathbf{x}}_{1},\widetilde{\mathbf{x}}_{2},\dots,\widetilde{\mathbf{x}}_{C}]X=[x1​,x2​,…,xC​] and Fscale(uc,sc)\mathbf{F}_{scale}(\mathbf{u}_{c},s_{c})Fscale​(uc​,sc​) refers to channel-wise multiplication between the scalar scs_{c}sc​ and the feature map uc∈RH×W\mathbf{u}_{c}\in\mathbb{R}^{H\times W}uc​∈RH×W.

其中 X~=[x~1,x~2,…,x~C]\widetilde{\mathbf{X}}=[\widetilde{\mathbf{x}}_{1},\widetilde{\mathbf{x}}_{2},\dots,\widetilde{\mathbf{x}}_{C}]X=[x1​,x2​,…,xC​],Fscale(uc,sc)\mathbf{F}_{scale}(\mathbf{u}_{c},s_{c})Fscale​(uc​,sc​) 指标量 scs_{c}sc​ 与特征图 uc∈RH×W\mathbf{u}_{c}\in\mathbb{R}^{H\times W}uc​∈RH×W 的通道维乘法。

Discussion. The excitation operator maps the input-specific descriptor z\mathbf{z}z to a set of channel weights. In this regard, SE blocks intrinsically introduce dynamics conditioned on the input, which can be regarded as a self-attention function on channels whose relationships are not confined to the local receptive field the convolutional filters are responsive to.

讨论。 excitation 算子把输入特定的描述子 z\mathbf{z}z 映射为一组通道权重。就此而言,SE 块内在地引入以输入为条件的动态,可视为对通道的自注意力函数,其关系不受卷积滤波器所响应的局部感受野限制。

III-C Instantiations

III-C 实例化

Figure 2

Fig. 2: The schema of the original Inception module (left) and the SE-Inception module (right).

图 2:原始 Inception 模块(左)与 SE-Inception 模块(右)示意。

The SE block can be integrated into standard architectures such as VGGNet [11] by insertion after the non-linearity following each convolution. Moreover, the flexibility of the SE block means that it can be directly applied to transformations beyond standard convolutions. To illustrate this point, we develop SENets by incorporating SE blocks into several examples of more complex architectures, described next.

SE 块可通过在每次卷积后的非线性之后插入,集成到 VGGNet [11] 等标准架构。此外,SE 块的灵活性意味着它可直接用于标准卷积之外的变换。为说明这一点,我们把 SE 块并入若干更复杂架构的例子以构造 SENet,见下文。

We first consider the construction of SE blocks for Inception networks [5]. Here, we simply take the transformation Ftr\mathbf{F}_{tr}Ftr​ to be an entire Inception module (see Fig. 2) and by making this change for each such module in the architecture, we obtain an SE-Inception network. SE blocks can also be used directly with residual networks (Fig. 3 depicts the schema of an SE-ResNet module). Here, the SE block transformation Ftr\mathbf{F}_{tr}Ftr​ is taken to be the non-identity branch of a residual module. Squeeze and Excitation both act before summation with the identity branch. Further variants that integrate SE blocks with ResNeXt [19], Inception-ResNet [21], MobileNet [64] and ShuffleNet [65] can be constructed by following similar schemes. For concrete examples of SENet architectures, a detailed description of SE-ResNet-50 and SE-ResNeXt-50 is given in Table I.

我们首先考虑为 Inception 网络 [5] 构造 SE 块。这里简单取变换 Ftr\mathbf{F}_{tr}Ftr​ 为整个 Inception 模块(见图 2),并对架构中每个此类模块做这一改动,得到 SE-Inception 网络。SE 块也可直接用于残差网络(图 3 给出 SE-ResNet 模块示意)。此处 SE 块变换 Ftr\mathbf{F}_{tr}Ftr​ 取为残差模块的非恒等分支。Squeeze 与 Excitation 都在与恒等分支相加之前作用。按类似方案,可进一步构造与 ResNeXt [19]、Inception-ResNet [21]、MobileNet [64] 与 ShuffleNet [65] 集成的变体。SENet 架构的具体例子见表 I 中对 SE-ResNet-50 与 SE-ResNeXt-50 的详细描述。

One consequence of the flexible nature of the SE block is that there are several viable ways in which it could be integrated into these architectures. Therefore, to assess sensitivity to the integration strategy used to incorporate SE blocks into a network architecture, we also provide ablation experiments exploring different designs for block inclusion in Section VI-E.

SE 块灵活性的一个后果是:有多种可行方式把它集成进这些架构。因此,为评估对用于把 SE 块纳入网络架构的集成策略的敏感性,我们还在第 VI-E 节提供探索不同块纳入设计的消融实验。

Figure 3

Fig. 3: The schema of the original Residual module (left) and the SE-ResNet module (right).

图 3:原始残差模块(左)与 SE-ResNet 模块(右)示意。

IV Model and Computational Complexity

IV 模型与计算复杂度

For the proposed SE block design to be of practical use, it must offer a good trade-off between improved performance and increased model complexity. To illustrate the computational burden associated with the module, we consider a comparison between ResNet-50 and SE-ResNet-50 as an example. ResNet-50 requires ∼3.86{\sim}3.86∼3.86 GFLOPs in a single forward pass for a 224×224224\times 224224×224 pixel input image. Each SE block makes use of a global average pooling operation in the squeeze phase and two small FC layers in the excitation phase, followed by an inexpensive channel-wise scaling operation. In the aggregate, when setting the reduction ratio rrr (introduced in Section III-B) to 161616, SE-ResNet-50 requires ∼3.87{\sim}3.87∼3.87 GFLOPs, corresponding to a 0.26%0.26\%0.26% relative increase over the original ResNet-50. In exchange for this slight additional computational burden, the accuracy of SE-ResNet-50 surpasses that of ResNet-50 and indeed, approaches that of a deeper ResNet-101 network requiring ∼7.58{\sim}7.58∼7.58 GFLOPs (Table II).

要使提出的 SE 块设计具有实用价值,须在提升表现与增加模型复杂度之间取得良好折中。为说明该模块的计算负担,我们以 ResNet-50 与 SE-ResNet-50 的对比为例。对 224×224224\times 224224×224 像素输入图像,ResNet-50 单次前向约需 ∼3.86{\sim}3.86∼3.86 GFLOPs。每个 SE 块在 squeeze 阶段使用全局平均池化,在 excitation 阶段使用两个小型 FC 层,再跟一次廉价的通道维缩放。总体而言,当降维比 rrr(第 III-B 节引入)设为 161616 时,SE-ResNet-50 约需 ∼3.87{\sim}3.87∼3.87 GFLOPs,相对原始 ResNet-50 仅增加 0.26%0.26\%0.26%。换取这轻微额外计算负担后,SE-ResNet-50 的准确率超过 ResNet-50,并接近需要 ∼7.58{\sim}7.58∼7.58 GFLOPs 的更深 ResNet-101(表 II)。

In practical terms, a single pass forwards and backwards through ResNet-50 takes 190190190 ms, compared to 209209209 ms for SE-ResNet-50 with a training minibatch of 256256256 images (both timings are performed on a server with 888 NVIDIA Titan X GPUs). We suggest that this represents a reasonable runtime overhead, which may be further reduced as global pooling and small inner-product operations receive further optimisation in popular GPU libraries. Due to its importance for embedded device applications, we further benchmark CPU inference time for each model: for a 224×224224\times 224224×224 pixel input image, ResNet-50 takes 164164164 ms in comparison to 167167167 ms for SE-ResNet-50. We believe that the small additional computational cost incurred by the SE block is justified by its contribution to model performance.

实践中,在训练 minibatch 为 256256256 张图像时,单次前向加反向穿过 ResNet-50 约需 190190190 ms,SE-ResNet-50 约需 209209209 ms(计时均在配备 888 块 NVIDIA Titan X GPU 的服务器上)。我们认为这是合理的运行时开销,随着流行 GPU 库对全局池化与小型内积运算进一步优化,还可继续降低。鉴于对嵌入式设备应用的重要性,我们还基准了各模型的 CPU 推理时间:对 224×224224\times 224224×224 输入,ResNet-50 需 164164164 ms,SE-ResNet-50 需 167167167 ms。我们相信 SE 块带来的少量额外计算成本,由其对照表现的贡献所正当化。

Output size ResNet-50 SE-ResNet-50 SE-ResNeXt-50 (32×432\times 432×4d)
112×112112\times 112112×112 conv, 7×77\times 77×7, 646464, stride 222
56×5656\times 5656×56 max pool, 3×33\times 33×3, stride 222
[[l]conv,1×1,64conv,3×3,64conv,1×1,256]×3\begin{bmatrix}[l]{\rm conv},1\times 1,64\\ {\rm conv},3\times 3,64\\ {\rm conv},1\times 1,256\end{bmatrix}\times 3​[l]conv,1×1,64conv,3×3,64conv,1×1,256​​×3 [[l]conv,1×1,64conv,3×3,64conv,1×1,256fc,[16,256]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,64\\ {\rm conv},3\times 3,64\\ {\rm conv},1\times 1,256\\ fc,[16,256]\end{bmatrix}\times 3​[l]conv,1×1,64conv,3×3,64conv,1×1,256fc,[16,256]​​×3 [[l]conv,1×1,128conv,3×3,128C=32conv,1×1,256fc,[16,256]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128&C=32\\ {\rm conv},1\times 1,256\\ fc,[16,256]\end{bmatrix}\times 3​[l]conv,1×1,128conv,3×3,128conv,1×1,256fc,[16,256]​C=32​×3
28×2828\times 2828×28 [[l]conv,1×1,128conv,3×3,128conv,1×1,512]×4\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128\\ {\rm conv},1\times 1,512\end{bmatrix}\times 4​[l]conv,1×1,128conv,3×3,128conv,1×1,512​​×4 [[l]conv,1×1,128conv,3×3,128conv,1×1,512fc,[32,512]]×4\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128\\ {\rm conv},1\times 1,512\\ fc,[32,512]\end{bmatrix}\times 4​[l]conv,1×1,128conv,3×3,128conv,1×1,512fc,[32,512]​​×4 [[l]conv,1×1,256conv,3×3,256C=32conv,1×1,512fc,[32,512]]×4\begin{bmatrix}[l]{\rm conv},1\times 1,256&\\ {\rm conv},3\times 3,256&C=32\\ {\rm conv},1\times 1,512\\ fc,[32,512]\end{bmatrix}\times 4​[l]conv,1×1,256conv,3×3,256conv,1×1,512fc,[32,512]​C=32​×4
14×1414\times 1414×14 [[l]conv,1×1,256conv,3×3,256conv,1×1,1024]×6\begin{bmatrix}[l]{\rm conv},1\times 1,256\\ {\rm conv},3\times 3,256\\ {\rm conv},1\times 1,1024\end{bmatrix}\times 6​[l]conv,1×1,256conv,3×3,256conv,1×1,1024​​×6 [[l]conv,1×1,256conv,3×3,256conv,1×1,1024fc,[64,1024]]×6\begin{bmatrix}[l]{\rm conv},1\times 1,256\\ {\rm conv},3\times 3,256\\ {\rm conv},1\times 1,1024\\ fc,[64,1024]\end{bmatrix}\times 6​[l]conv,1×1,256conv,3×3,256conv,1×1,1024fc,[64,1024]​​×6 [[l]conv,1×1,512conv,3×3,512C=32conv,1×1,1024fc,[64,1024]]×6\begin{bmatrix}[l]{\rm conv},1\times 1,512&\\ {\rm conv},3\times 3,512&C=32\\ {\rm conv},1\times 1,1024\\ fc,[64,1024]\end{bmatrix}\times 6​[l]conv,1×1,512conv,3×3,512conv,1×1,1024fc,[64,1024]​C=32​×6
7×\times×7 [[l]conv,1×1,512conv,3×3,512conv,1×1,2048]×3\begin{bmatrix}[l]{\rm conv},1\times 1,512\\ {\rm conv},3\times 3,512\\ {\rm conv},1\times 1,2048\end{bmatrix}\times 3​[l]conv,1×1,512conv,3×3,512conv,1×1,2048​​×3 [[l]conv,1×1,512conv,3×3,512conv,1×1,2048fc,[128,2048]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,512\\ {\rm conv},3\times 3,512\\ {\rm conv},1\times 1,2048\\ fc,[128,2048]\end{bmatrix}\times 3​[l]conv,1×1,512conv,3×3,512conv,1×1,2048fc,[128,2048]​​×3 [[l]conv,1×1,1024conv,3×3,1024C=32conv,1×1,2048fc,[128,2048]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,1024&\\ {\rm conv},3\times 3,1024&C=32\\ {\rm conv},1\times 1,2048\\ fc,[128,2048]\end{bmatrix}\times 3​[l]conv,1×1,1024conv,3×3,1024conv,1×1,2048fc,[128,2048]​C=32​×3
1×11\times 11×1 global average pool, 100010001000-d fcfcfc, softmax

TABLE I: (Left) ResNet-50 [13]. (Middle) SE-ResNet-50. (Right) SE-ResNeXt-50 with a 32×\times×4d template. The shapes and operations with specific parameter settings of a residual building block are listed inside the brackets and the number of stacked blocks in a stage is presented outside. The inner brackets following by fc indicates the output dimension of the two fully connected layers in an SE module.

Output size ResNet-50 SE-ResNet-50 SE-ResNeXt-50 (32×432\times 432×4d)
112×112112\times 112112×112 conv, 7×77\times 77×7, 646464, stride 222
56×5656\times 5656×56 max pool, 3×33\times 33×3, stride 222
[[l]conv,1×1,64conv,3×3,64conv,1×1,256]×3\begin{bmatrix}[l]{\rm conv},1\times 1,64\\ {\rm conv},3\times 3,64\\ {\rm conv},1\times 1,256\end{bmatrix}\times 3​[l]conv,1×1,64conv,3×3,64conv,1×1,256​​×3 [[l]conv,1×1,64conv,3×3,64conv,1×1,256fc,[16,256]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,64\\ {\rm conv},3\times 3,64\\ {\rm conv},1\times 1,256\\ fc,[16,256]\end{bmatrix}\times 3​[l]conv,1×1,64conv,3×3,64conv,1×1,256fc,[16,256]​​×3 [[l]conv,1×1,128conv,3×3,128C=32conv,1×1,256fc,[16,256]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128&C=32\\ {\rm conv},1\times 1,256\\ fc,[16,256]\end{bmatrix}\times 3​[l]conv,1×1,128conv,3×3,128conv,1×1,256fc,[16,256]​C=32​×3
28×2828\times 2828×28 [[l]conv,1×1,128conv,3×3,128conv,1×1,512]×4\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128\\ {\rm conv},1\times 1,512\end{bmatrix}\times 4​[l]conv,1×1,128conv,3×3,128conv,1×1,512​​×4 [[l]conv,1×1,128conv,3×3,128conv,1×1,512fc,[32,512]]×4\begin{bmatrix}[l]{\rm conv},1\times 1,128\\ {\rm conv},3\times 3,128\\ {\rm conv},1\times 1,512\\ fc,[32,512]\end{bmatrix}\times 4​[l]conv,1×1,128conv,3×3,128conv,1×1,512fc,[32,512]​​×4 [[l]conv,1×1,256conv,3×3,256C=32conv,1×1,512fc,[32,512]]×4\begin{bmatrix}[l]{\rm conv},1\times 1,256&\\ {\rm conv},3\times 3,256&C=32\\ {\rm conv},1\times 1,512\\ fc,[32,512]\end{bmatrix}\times 4​[l]conv,1×1,256conv,3×3,256conv,1×1,512fc,[32,512]​C=32​×4
14×1414\times 1414×14 [[l]conv,1×1,256conv,3×3,256conv,1×1,1024]×6\begin{bmatrix}[l]{\rm conv},1\times 1,256\\ {\rm conv},3\times 3,256\\ {\rm conv},1\times 1,1024\end{bmatrix}\times 6​[l]conv,1×1,256conv,3×3,256conv,1×1,1024​​×6 [[l]conv,1×1,256conv,3×3,256conv,1×1,1024fc,[64,1024]]×6\begin{bmatrix}[l]{\rm conv},1\times 1,256\\ {\rm conv},3\times 3,256\\ {\rm conv},1\times 1,1024\\ fc,[64,1024]\end{bmatrix}\times 6​[l]conv,1×1,256conv,3×3,256conv,1×1,1024fc,[64,1024]​​×6 [[l]conv,1×1,512conv,3×3,512C=32conv,1×1,1024fc,[64,1024]]×6\begin{bmatrix}[l]{\rm conv},1\times 1,512&\\ {\rm conv},3\times 3,512&C=32\\ {\rm conv},1\times 1,1024\\ fc,[64,1024]\end{bmatrix}\times 6​[l]conv,1×1,512conv,3×3,512conv,1×1,1024fc,[64,1024]​C=32​×6
7×\times×7 [[l]conv,1×1,512conv,3×3,512conv,1×1,2048]×3\begin{bmatrix}[l]{\rm conv},1\times 1,512\\ {\rm conv},3\times 3,512\\ {\rm conv},1\times 1,2048\end{bmatrix}\times 3​[l]conv,1×1,512conv,3×3,512conv,1×1,2048​​×3 [[l]conv,1×1,512conv,3×3,512conv,1×1,2048fc,[128,2048]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,512\\ {\rm conv},3\times 3,512\\ {\rm conv},1\times 1,2048\\ fc,[128,2048]\end{bmatrix}\times 3​[l]conv,1×1,512conv,3×3,512conv,1×1,2048fc,[128,2048]​​×3 [[l]conv,1×1,1024conv,3×3,1024C=32conv,1×1,2048fc,[128,2048]]×3\begin{bmatrix}[l]{\rm conv},1\times 1,1024&\\ {\rm conv},3\times 3,1024&C=32\\ {\rm conv},1\times 1,2048\\ fc,[128,2048]\end{bmatrix}\times 3​[l]conv,1×1,1024conv,3×3,1024conv,1×1,2048fc,[128,2048]​C=32​×3
1×11\times 11×1 global average pool, 100010001000-d fcfcfc, softmax

表 I: (左)ResNet-50 [13]。(中)SE-ResNet-50。(右)带 32×\times×4d 模板的 SE-ResNeXt-50。括号内列出残差构建块的形状与带具体参数设定的操作,阶段外数字为堆叠块数。fc 后的内括号表示 SE 模块中两个全连接层的输出维。

original re-implementation SENet
top-1 err. top-1 err. top-5 err. top-5 err. top-1 err. top-1 err. top-5 err. top-5 err. GFLOPs GFLOPs top-1 err. top-1 err. top-5 err. top-5 err. GFLOPs GFLOPs
top-1 err.
top-5 err.
top-1 err.
top-5 err.
GFLOPs
top-1 err.
top-5 err.
GFLOPs
ResNet-50 [13] 24.724.724.7 7.87.87.8 24.8024.8024.80 7.487.487.48 3.863.863.86 23.29(1.51)23.29_{(1.51)}23.29(1.51)​ 6.62(0.86)6.62_{(0.86)}6.62(0.86)​ 3.873.873.87
ResNet-101 [13] 23.623.623.6 7.17.17.1 23.1723.1723.17 6.526.526.52 7.587.587.58 22.38(0.79)22.38_{(0.79)}22.38(0.79)​ 6.07(0.45)6.07_{(0.45)}6.07(0.45)​ 7.607.607.60
ResNet-152 [13] 23.023.023.0 6.76.76.7 22.4222.4222.42 6.346.346.34 11.3011.3011.30 21.57(0.85)21.57_{(0.85)}21.57(0.85)​ 5.73(0.61)5.73_{(0.61)}5.73(0.61)​ 11.3211.3211.32
ResNeXt-50 [19] 22.222.222.2 - 22.1122.1122.11 5.905.905.90 4.244.244.24 21.10(1.01)21.10_{(1.01)}21.10(1.01)​ 5.49(0.41)5.49_{(0.41)}5.49(0.41)​ 4.254.254.25
ResNeXt-101 [19] 21.221.221.2 5.65.65.6 21.1821.1821.18 5.575.575.57 7.997.997.99 20.70(0.48)20.70_{(0.48)}20.70(0.48)​ 5.01(0.56)5.01_{(0.56)}5.01(0.56)​ 8.008.008.00
VGG-16 [11] - - 27.0227.0227.02 8.818.818.81 15.4715.4715.47 25.22(1.80)25.22_{(1.80)}25.22(1.80)​ 7.70(1.11)7.70_{(1.11)}7.70(1.11)​ 15.4815.4815.48
BN-Inception [6] 25.225.225.2 7.827.827.82 25.3825.3825.38 7.897.897.89 2.032.032.03 24.23(1.15)24.23_{(1.15)}24.23(1.15)​ 7.14(0.75)7.14_{(0.75)}7.14(0.75)​ 2.042.042.04
Inception-ResNet-v2 [21] 19.9†19.9^{\dagger}19.9† 4.9†4.9^{\dagger}4.9† 20.3720.3720.37 5.215.215.21 11.7511.7511.75 19.80(0.57)19.80_{(0.57)}19.80(0.57)​ 4.79(0.42)4.79_{(0.42)}4.79(0.42)​ 11.7611.7611.76
top-1 err.
top-5 err.
top-1 err.
top-5 err.
GFLOPs
top-1 err.
top-5 err.
GFLOPs

TABLE II: Single-crop error rates (%) on the ImageNet validation set and complexity comparisons. The original column refers to the results reported in the original papers (the results of ResNets are obtained from the website: https://github.com/Kaiminghe/deep-residual-networks). To enable a fair comparison, we re-train the baseline models and report the scores in the re-implementation column. The SENet column refers to the corresponding architectures in which SE blocks have been added. The numbers in brackets denote the performance improvement over the re-implemented baselines. †\dagger† indicates that the model has been evaluated on the non-blacklisted subset of the validation set (this is discussed in more detail in [21]), which may slightly improve results. VGG-16 and SE-VGG-16 are trained with batch normalization.

original re-implementation SENet
top-1 err. top-1 err. top-5 err. top-5 err. top-1 err. top-1 err. top-5 err. top-5 err. GFLOPs GFLOPs top-1 err. top-1 err. top-5 err. top-5 err. GFLOPs GFLOPs
top-1 err.
top-1 err.
top-1 err.
ResNet-50 [13] 24.724.724.7 7.87.87.8 24.8024.8024.80 7.487.487.48 3.863.863.86 23.29(1.51)23.29_{(1.51)}23.29(1.51)​ 6.62(0.86)6.62_{(0.86)}6.62(0.86)​ 3.873.873.87
ResNet-101 [13] 23.623.623.6 7.17.17.1 23.1723.1723.17 6.526.526.52 7.587.587.58 22.38(0.79)22.38_{(0.79)}22.38(0.79)​ 6.07(0.45)6.07_{(0.45)}6.07(0.45)​ 7.607.607.60
ResNet-152 [13] 23.023.023.0 6.76.76.7 22.4222.4222.42 6.346.346.34 11.3011.3011.30 21.57(0.85)21.57_{(0.85)}21.57(0.85)​ 5.73(0.61)5.73_{(0.61)}5.73(0.61)​ 11.3211.3211.32
ResNeXt-50 [19] 22.222.222.2 - 22.1122.1122.11 5.905.905.90 4.244.244.24 21.10(1.01)21.10_{(1.01)}21.10(1.01)​ 5.49(0.41)5.49_{(0.41)}5.49(0.41)​ 4.254.254.25
ResNeXt-101 [19] 21.221.221.2 5.65.65.6 21.1821.1821.18 5.575.575.57 7.997.997.99 20.70(0.48)20.70_{(0.48)}20.70(0.48)​ 5.01(0.56)5.01_{(0.56)}5.01(0.56)​ 8.008.008.00
VGG-16 [11] - - 27.0227.0227.02 8.818.818.81 15.4715.4715.47 25.22(1.80)25.22_{(1.80)}25.22(1.80)​ 7.70(1.11)7.70_{(1.11)}7.70(1.11)​ 15.4815.4815.48
BN-Inception [6] 25.225.225.2 7.827.827.82 25.3825.3825.38 7.897.897.89 2.032.032.03 24.23(1.15)24.23_{(1.15)}24.23(1.15)​ 7.14(0.75)7.14_{(0.75)}7.14(0.75)​ 2.042.042.04
Inception-ResNet-v2 [21] 19.9†19.9^{\dagger}19.9† 4.9†4.9^{\dagger}4.9† 20.3720.3720.37 5.215.215.21 11.7511.7511.75 19.80(0.57)19.80_{(0.57)}19.80(0.57)​ 4.79(0.42)4.79_{(0.42)}4.79(0.42)​ 11.7611.7611.76
TABLE II: Single-crop error rates (%) on the ImageNet validation set and complexity comparisons. The original column refers to the results reported in the original papers (the results of ResNets are obtained from the website: https://github.com/Kaiminghe/deep-residual-networks). To enable a fair comparison, we re-train the baseline models and report the scores in the re-implementation column. The SENet column refers to the corresponding architectures in which SE blocks have been added. The numbers in brackets denote the performance improvement over the re-implemented baselines. †\dagger† indicates that the model has been evaluated on the non-blacklisted subset of the validation set (this is discussed in more detail in [21]), which may slightly improve results. VGG-16 and SE-VGG-16 are trained with batch normalization.

表 II:ImageNet 验证集单裁剪错误率(%)与复杂度比较。original 列为原文报告结果(ResNet 结果来自 https://github.com/Kaiminghe/deep-residual-networks)。为公平对比,我们重训基线并在 re-implementation 列报告。SENet 列为加入 SE 块后的对应架构。括号内数字表示相对重实现基线的提升。†\dagger† 表示在验证集非黑名单子集上评测(详见 [21]),可能略微提升结果。VGG-16 与 SE-VGG-16 带批归一化训练。

We next consider the additional parameters introduced by the proposed SE block. These additional parameters result solely from the two FC layers of the gating mechanism and therefore constitute a small fraction of the total network capacity. Concretely, the total number introduced by the weight parameters of these FC layers is given by:

接下来考虑提出的 SE 块引入的额外参数。这些额外参数仅来自门控机制的两个 FC 层,因此只占总网络容量的一小部分。具体地,这些 FC 层权重参数引入的总量为:

2r∑s=1SNs⋅Cs2,(5)\frac{2}{r}\sum_{s=1}^{S}N_{s}\cdot{C_{s}}^{2}, \tag{5}r2​s=1∑S​Ns​⋅Cs​2,(5)

where rrr denotes the reduction ratio, SSS refers to the number of stages (a stage refers to the collection of blocks operating on feature maps of a common spatial dimension), CsC_{s}Cs​ denotes the dimension of the output channels and NsN_{s}Ns​ denotes the number of repeated blocks for stage sss (when bias terms are used in FC layers, the introduced parameters and computational cost are typically negligible). SE-ResNet-50 introduces ∼2.5{\sim}2.5∼2.5 million additional parameters beyond the ∼25{\sim}25∼25 million parameters required by ResNet-50, corresponding to a ∼10%{\sim}10\%∼10% increase. In practice, the majority of these parameters come from the final stage of the network, where the excitation operation is performed across the greatest number of channels. However, we found that this comparatively costly final stage of SE blocks could be removed at only a small cost in performance (<0.1%{<}0.1\%<0.1% top-555 error on ImageNet) reducing the relative parameter increase to ∼4%{\sim}4\%∼4%, which may prove useful in cases where parameter usage is a key consideration (see Section VI-D and VII-B for further discussion).

其中 rrr 为降维比,SSS 为阶段数(阶段指在共同空间尺寸的特征图上运算的块集合),CsC_{s}Cs​ 为输出通道维,NsN_{s}Ns​ 为阶段 sss 的重复块数(FC 层使用偏置时,引入的参数与计算代价通常可忽略)。SE-ResNet-50 在 ResNet-50 所需约 ∼25{\sim}25∼25 百万参数之外额外引入约 ∼2.5{\sim}2.5∼2.5 百万参数,相对增加约 ∼10%{\sim}10\%∼10%。实践中,这些参数多数来自网络最后阶段,因为 excitation 在通道数最多处执行。但我们发现,去掉这一相对昂贵的最后阶段 SE 块,表现代价很小(ImageNet 上 top-555 错误率增加 <0.1%{<}0.1\%<0.1%),相对参数增幅可降到约 ∼4%{\sim}4\%∼4%,在参数用量是关键考量时可能有用(进一步讨论见第 VI-D 与 VII-B 节)。

V Experiments

V 实验

In this section, we conduct experiments to investigate the effectiveness of SE blocks across a range of tasks, datasets and model architectures.

本节通过实验,在一系列任务、数据集与模型架构上考察 SE 块的有效性。

original re-implementation SENet
top-1 err. top-5 err. top-5 err. top-1 err. top-1 err. top-5 err. top-5 err. MFLOPs Params Params top-1 err. top-1 err. top-5 err. top-5 err. MFLOPs Params Params
top-5 err.
top-1 err.
top-5 err.
Params
top-1 err.
top-5 err.
Params
MobileNet [64] 29.429.429.4 - 28.428.428.4 9.49.49.4 569569569 4.24.24.2M 25.3(3.1)25.3_{(3.1)}25.3(3.1)​ 7.7(1.7)7.7_{(1.7)}7.7(1.7)​ 572572572 4.74.74.7M
ShuffleNet [65] 32.632.632.6 - 32.632.632.6 12.512.512.5 140140140 1.81.81.8M 31.0(1.6)31.0_{(1.6)}31.0(1.6)​ 11.1(1.4)11.1_{(1.4)}11.1(1.4)​ 142142142 2.42.42.4M
top-5 err.
top-1 err.
top-5 err.
Params
top-1 err.
top-5 err.
Params

TABLE III: Single-crop error rates (%) on the ImageNet validation set and complexity comparisons. MobileNet refers to “1.0 MobileNet-224” in [64] and ShuffleNet refers to “ShuffleNet 1×(g=3)1\times(g=3)1×(g=3)” in [65]. The numbers in brackets denote the performance improvement over the re-implementation.

original re-implementation SENet
top-1 err. top-5 err. top-5 err. top-1 err. top-1 err. top-5 err. top-5 err. MFLOPs Params Params top-1 err. top-1 err. top-5 err. top-5 err. MFLOPs Params Params
top-1 err.
Params
top-1 err.
Params
MobileNet [64] 29.429.429.4 - 28.428.428.4 9.49.49.4 569569569 4.24.24.2M 25.3(3.1)25.3_{(3.1)}25.3(3.1)​ 7.7(1.7)7.7_{(1.7)}7.7(1.7)​ 572572572 4.74.74.7M
ShuffleNet [65] 32.632.632.6 - 32.632.632.6 12.512.512.5 140140140 1.81.81.8M 31.0(1.6)31.0_{(1.6)}31.0(1.6)​ 11.1(1.4)11.1_{(1.4)}11.1(1.4)​ 142142142 2.42.42.4M
TABLE III: Single-crop error rates (%) on the ImageNet validation set and complexity comparisons. MobileNet refers to “1.0 MobileNet-224” in [64] and ShuffleNet refers to “ShuffleNet 1×(g=3)1\times(g=3)1×(g=3)” in [65]. The numbers in brackets denote the performance improvement over the re-implementation.

表 III:ImageNet 验证集单裁剪错误率(%)与复杂度比较。MobileNet 指 [64] 中的 “1.0 MobileNet-224”,ShuffleNet 指 [65] 中的 “ShuffleNet 1×(g=3)1\times(g=3)1×(g=3)”。括号内数字表示相对重实现的提升。

Figure 4

Fig. 4: Training baseline architectures and their SENet counterparts on ImageNet. SENets exhibit improved optimisation characteristics and produce consistent gains in performance which are sustained throughout the training process.

图 4:在 ImageNet 上训练基线架构及其 SENet 对应物。SENet 表现出更好的优化特性,并在整个训练过程中持续产生稳定的表现增益。

V-A Image Classification

V-A 图像分类

To evaluate the influence of SE blocks, we first perform experiments on the ImageNet 201220122012 dataset [10] which comprises 1.281.281.28 million training images and 505050K validation images from 100010001000 different classes. We train networks on the training set and report the top-111 and top-555 error on the validation set.

为评估 SE 块的影响,我们首先在 ImageNet 201220122012 数据集 [10] 上实验:该数据集含 1.281.281.28 百万训练图像与来自 100010001000 个不同类别的 505050K 验证图像。我们在训练集上训练网络,并在验证集上报告 top-111 与 top-555 错误率。

Each baseline network architecture and its corresponding SE counterpart are trained with identical optimisation schemes. We follow standard practices and perform data augmentation with random cropping using scale and aspect ratio [5] to a size of 224×224224\times 224224×224 pixels (or 299×299299\times 299299×299 for Inception-ResNet-v2 [21] and SE-Inception-ResNet-v2) and perform random horizontal flipping. Each input image is normalised through mean RGB-channel subtraction. All models are trained on our distributed learning system ROCS which is designed to handle efficient parallel training of large networks. Optimisation is performed using synchronous SGD with momentum 0.90.90.9 and a minibatch size of 102410241024. The initial learning rate is set to 0.60.60.6 and decreased by a factor of 101010 every 303030 epochs. Models are trained for 100100100 epochs from scratch, using the weight initialisation strategy described in [66]. The reduction ratio rrr (in Section III-B) is set to 161616 by default (except where stated otherwise).

每个基线网络架构及其对应 SE 版本使用相同优化方案训练。我们遵循标准做法,用尺度与长宽比随机裁剪 [5] 做数据增强到 224×224224\times 224224×224 像素(Inception-ResNet-v2 [21] 与 SE-Inception-ResNet-v2 为 299×299299\times 299299×299),并做随机水平翻转。每张输入图像经均值 RGB 通道减法归一化。所有模型在我们设计用于高效并行训练大网络的分布式学习系统 ROCS 上训练。优化使用动量 0.90.90.9 的同步 SGD,minibatch 大小为 102410241024。初始学习率设为 0.60.60.6,每 303030 个 epoch 降为原来的 1/101/101/10。模型从零训练 100100100 个 epoch,权重初始化策略见 [66]。降维比 rrr(第 III-B 节)默认设为 161616(除非另有说明)。

When evaluating the models we apply centre-cropping so that 224×224224\times 224224×224 pixels are cropped from each image, after its shorter edge is first resized to 256256256 (299×299299\times 299299×299 from each image whose shorter edge is first resized to 352352352 for Inception-ResNet-v2 and SE-Inception-ResNet-v2).

评测时采用中心裁剪:先把较短边缩放到 256256256,再裁 224×224224\times 224224×224 像素(Inception-ResNet-v2 与 SE-Inception-ResNet-v2 为较短边先缩到 352352352 再裁 299×299299\times 299299×299)。

Network depth. We begin by comparing SE-ResNet against ResNet architectures with different depths and report the results in Table II. We observe that SE blocks consistently improve performance across different depths with an extremely small increase in computational complexity. Remarkably, SE-ResNet-50 achieves a single-crop top-5 validation error of 6.62%6.62\%6.62%, exceeding ResNet-50 (7.48%) by 0.86% and approaching the performance achieved by the much deeper ResNet-101 network (6.52% top-5 error) with only half of the total computational burden (3.873.873.87 GFLOPs vs. 7.587.587.58 GFLOPs). This pattern is repeated at greater depth, where SE-ResNet-101 (6.07%6.07\%6.07% top-555 error) not only matches, but outperforms the deeper ResNet-152 network (6.34%6.34\%6.34% top-5 error) by 0.27%0.27\%0.27%. While it should be noted that the SE blocks themselves add depth, they do so in an extremely computationally efficient manner and yield good returns even at the point at which extending the depth of the base architecture achieves diminishing returns. Moreover, we see that the gains are consistent across a range of different network depths, suggesting that the improvements induced by SE blocks may be complementary to those obtained by simply increasing the depth of the base architecture.

网络深度。 我们首先比较不同深度的 SE-ResNet 与 ResNet 架构,结果见表 II。我们观察到 SE 块在不同深度上持续提升表现,而计算复杂度增加极小。值得注意的是,SE-ResNet-50 单裁剪 top-5 验证错误率为 6.62%6.62\%6.62%,比 ResNet-50(7.48%)低 0.86%,并接近计算负担约一半的更深 ResNet-101(6.52%6.52\%6.52% top-5 错误率;3.873.873.87 GFLOPs 对 7.587.587.58 GFLOPs)。这一模式在更大深度上重复:SE-ResNet-101(6.07%6.07\%6.07% top-555 错误率)不仅追上、而且超过更深的 ResNet-152(6.34%6.34\%6.34% top-5 错误率)0.27%0.27\%0.27%。虽应指出 SE 块本身增加了深度,但它们以极高计算效率做到这一点,即便在加深基线架构收益递减时仍有良好回报。此外,增益在一系列不同网络深度上一致,表明 SE 块带来的改进可能与单纯加深基线架构所获改进互补。

Integration with modern architectures. We next study the effect of integrating SE blocks with two further state-of-the-art architectures, Inception-ResNet-v2 [21] and ResNeXt (using the setting of 32×432\times 432×4d) [19], both of which introduce additional computational building blocks into the base network. We construct SENet equivalents of these networks, SE-Inception-ResNet-v2 and SE-ResNeXt (the configuration of SE-ResNeXt-50 is given in Table I) and report results in Table II. As with the previous experiments, we observe significant performance improvements induced by the introduction of SE blocks into both architectures. In particular, SE-ResNeXt-50 has a top-5 error of 5.495.495.49% which is superior to both its direct counterpart ResNeXt-50 (5.90%5.90\%5.90% top-5 error) as well as the deeper ResNeXt-101 (5.57%5.57\%5.57% top-5 error), a model which has almost twice the total number of parameters and computational overhead. We note a slight difference in performance between our re-implementation of Inception-ResNet-v2 and the result reported in [21]. However, we observe a similar trend with regard to the effect of SE blocks, finding that SE counterpart (4.79%4.79\%4.79% top-5 error) outperforms our reimplemented Inception-ResNet-v2 baseline (5.21%5.21\%5.21% top-5 error) by 0.42%0.42\%0.42% as well as the reported result in [21].

与现代架构集成。 我们接着研究把 SE 块与另外两种最优架构集成的效果:Inception-ResNet-v2 [21] 与 ResNeXt(使用 32×432\times 432×4d 设定)[19],二者都在基线网络中引入额外计算构建块。我们构造这些网络的 SENet 等价物 SE-Inception-ResNet-v2 与 SE-ResNeXt(SE-ResNeXt-50 配置见表 I),结果见表 II。与先前实验一样,我们观察到向两架构引入 SE 块带来显著表现提升。特别是,SE-ResNeXt-50 的 top-5 错误率为 5.49%5.49\%5.49%,优于其直接对应物 ResNeXt-50(5.90%5.90\%5.90% top-5)以及更深的 ResNeXt-101(5.57%5.57\%5.57% top-5)——后者总参数与计算开销几乎翻倍。我们注意到对 Inception-ResNet-v2 的重实现与 [21] 报告结果略有差异。但就 SE 块效果而言趋势相似:SE 对应物(4.79%4.79\%4.79% top-5)相对我们重实现的 Inception-ResNet-v2 基线(5.21%5.21\%5.21%)提升 0.42%0.42\%0.42%,也优于 [21] 的报告结果。

We also assess the effect of SE blocks when operating on non-residual networks by conducting experiments with the VGG-16 [11] and BN-Inception architecture [6]. To facilitate the training of VGG-16 from scratch, we add Batch Normalization layers after each convolution. We use identical training schemes for both VGG-16 and SE-VGG-16. The results of the comparison are shown in Table II. Similarly to the results reported for the residual baseline architectures, we observe that SE blocks bring improvements in performance on the non-residual settings.

我们还通过在 VGG-16 [11] 与 BN-Inception 架构 [6] 上实验,评估 SE 块在非残差网络上的效果。为便于从零训练 VGG-16,我们在每次卷积后加入批归一化层。VGG-16 与 SE-VGG-16 使用相同训练方案。比较结果见表 II。与残差基线架构上报告的结果类似,我们观察到 SE 块在非残差设定上也带来表现提升。

To provide some insight into influence of SE blocks on the optimisation of these models, example training curves for runs of the baseline architectures and their respective SE counterparts are depicted in Fig. 4. We observe that SE blocks yield a steady improvement throughout the optimisation procedure. Moreover, this trend is fairly consistent across a range of network architectures considered as baselines.

为洞察 SE 块对这些模型优化的影响,图 4 给出基线架构及其各自 SE 对应物运行的示例训练曲线。我们观察到 SE 块在整个优化过程中带来稳定改进。而且这一趋势在作为基线考虑的一系列网络架构上相当一致。

Mobile setting. Finally, we consider two representative architectures from the class of mobile-optimised networks, MobileNet [64] and ShuffleNet [65]. For these experiments, we used a minibatch size of 256 and slightly less aggressive data augmentation and regularisation as in [65]. We trained the models across 8 GPUs using SGD with momentum (set to 0.9) and an initial learning rate of 0.1 which was reduced by a factor of 10 each time the validation loss plateaued. The total training process required ∼400\sim 400∼400 epochs (enabling us to reproduce the baseline performance of [65]). The results reported in Table III show that SE blocks consistently improve the accuracy by a large margin at a minimal increase in computational cost.

移动设定。 最后,我们考虑移动优化网络类中的两个代表性架构:MobileNet [64] 与 ShuffleNet [65]。这些实验使用 minibatch 大小 256,以及如 [65] 中略不激进的数据增强与正则。我们在 8 块 GPU 上用动量(0.9)SGD 训练,初始学习率 0.1,每当验证损失平台后降为原来的 1/101/101/10。总训练过程约需 ∼400\sim 400∼400 个 epoch(使我们能复现 [65] 的基线表现)。表 III 报告的结果显示,SE 块以最小计算成本增幅持续大幅提升准确率。

Additional datasets. We next investigate whether the benefits of SE blocks generalise to datasets beyond ImageNet. We perform experiments with several popular baseline architectures and techniques (ResNet-110 [14], ResNet-164 [14], WideResNet-16-8 [67], Shake-Shake [68] and Cutout [69]) on the CIFAR-101010 and CIFAR-100100100 datasets [70]. These comprise a collection of 50k training and 10k test 32×3232\times 3232×32 pixel RGB images, labelled with 10 and 100 classes respectively. The integration of SE blocks into these networks follows the same approach that was described in Section III-C. Each baseline and its SENet counterpart are trained with standard data augmentation strategies [24, 71]. During training, images are randomly horizontally flipped and zero-padded on each side with four pixels before taking a random 32×3232\times 3232×32 crop. Mean and standard deviation normalisation is also applied. The setting of the training hyperparameters (e.g. minibatch size, initial learning rate, weight decay) match those suggested by the original papers. We report the performance of each baseline and its SENet counterpart on CIFAR-101010 in Table IV and performance on CIFAR-100100100 in Table V. We observe that in every comparison SENets outperform the baseline architectures, suggesting that the benefits of SE blocks are not confined to the ImageNet dataset.

额外数据集。 我们接着考察 SE 块的收益是否泛化到 ImageNet 之外的数据集。我们在 CIFAR-101010 与 CIFAR-100100100 数据集 [70] 上,用若干流行基线架构与技术(ResNet-110 [14]、ResNet-164 [14]、WideResNet-16-8 [67]、Shake-Shake [68] 与 Cutout [69])做实验。它们分别包含标注为 10 与 100 类的 50k 训练与 10k 测试 32×3232\times 3232×32 像素 RGB 图像集合。把 SE 块集成进这些网络遵循第 III-C 节所述相同做法。每个基线及其 SENet 对应物用标准数据增强策略训练 [24, 71]。训练时图像随机水平翻转,每边零填充四像素后再随机裁 32×3232\times 3232×32。也施加均值与标准差归一化。训练超参设定(如 minibatch 大小、初始学习率、权重衰减)与原论文建议一致。我们在表 IV 报告各基线及其 SENet 在 CIFAR-101010 上的表现,表 V 报告 CIFAR-100100100。每次比较中 SENet 都优于基线架构,表明 SE 块的收益不限于 ImageNet 数据集。

original SENet
ResNet-110 [14] 6.376.376.37 5.215.215.21
ResNet-164 [14] 5.465.465.46 4.394.394.39
WRN-16-8 [67] 4.274.274.27 3.883.883.88
Shake-Shake 26 2x96d [68] + Cutout [69] 2.562.562.56 2.122.122.12

TABLE IV: Classification error (%) on CIFAR-10.

original SENet
ResNet-110 [14] 6.376.376.37 5.215.215.21
ResNet-164 [14] 5.465.465.46 4.394.394.39
WRN-16-8 [67] 4.274.274.27 3.883.883.88
Shake-Shake 26 2x96d [68] + Cutout [69] 2.562.562.56 2.122.122.12

表 IV:CIFAR-10 上的分类错误率(%)。

original SENet
ResNet-110 [14] 26.8826.8826.88 23.8523.8523.85
ResNet-164 [14] 24.3324.3324.33 21.3121.3121.31
WRN-16-8 [67] 20.4320.4320.43 19.1419.1419.14
Shake-Even 29 2x4x64d [68] + Cutout [69] 15.8515.8515.85 15.4115.4115.41

TABLE V: Classification error (%) on CIFAR-100.

original SENet
ResNet-110 [14] 26.8826.8826.88 23.8523.8523.85
ResNet-164 [14] 24.3324.3324.33 21.3121.3121.31
WRN-16-8 [67] 20.4320.4320.43 19.1419.1419.14
Shake-Even 29 2x4x64d [68] + Cutout [69] 15.8515.8515.85 15.4115.4115.41

表 V:CIFAR-100 上的分类错误率(%)。

top-1 err. top-5 err.
Places-365-CNN [72] 41.0741.0741.07 11.4811.4811.48
ResNet-152 (ours) 41.1541.1541.15 11.6111.6111.61
SE-ResNet-152 40.37 11.01

TABLE VI: Single-crop error rates (%) on Places365 validation set.

top-1 err. top-5 err.
Places-365-CNN [72] 41.0741.0741.07 11.4811.4811.48
ResNet-152 (ours) 41.1541.1541.15 11.6111.6111.61
SE-ResNet-152 40.37 11.01

表 VI:Places365 验证集上的单裁剪错误率(%)。

V-B Scene Classification

V-B 场景分类

We also conduct experiments on the Places365-Challenge dataset [73] for scene classification. This dataset comprises 888 million training images and 36,50036,50036,500 validation images across 365365365 categories. Relative to classification, the task of scene understanding offers an alternative assessment of a model’s ability to generalise well and handle abstraction. This is because it often requires the model to handle more complex data associations and to be robust to a greater level of appearance variation.

我们还在 Places365-Challenge 数据集 [73] 上做场景分类实验。该数据集含跨 365365365 个类别的 888 百万训练图像与 36,50036,50036,500 验证图像。相对分类,场景理解任务提供对模型泛化能力与处理抽象能力的另一评估。因为这常要求模型处理更复杂的数据关联,并对更大程度的外观变化保持稳健。

We opted to use ResNet-152 as a strong baseline to assess the effectiveness of SE blocks and follow the training and evaluation protocols described in [72, 74]. In these experiments, models are trained from scratch. We report the results in Table VI, comparing also with prior work. We observe that SE-ResNet-152 (11.01%11.01\%11.01% top-5 error) achieves a lower validation error than ResNet-152 (11.61%11.61\%11.61% top-5 error), providing evidence that SE blocks can also yield improvements for scene classification. This SENet surpasses the previous state-of-the-art model Places-365-CNN [72] which has a top-5 error of 11.48%11.48\%11.48% on this task.

我们选择 ResNet-152 作为强基线以评估 SE 块有效性,并遵循 [72, 74] 所述训练与评测协议。这些实验中模型从零训练。结果见表 VI,并与先前工作比较。我们观察到 SE-ResNet-152(11.01%11.01\%11.01% top-5 错误率)验证错误率低于 ResNet-152(11.61%11.61\%11.61% top-5),为 SE 块也能提升场景分类提供证据。该 SENet 超过先前最优模型 Places-365-CNN [72](该任务上 top-5 错误率 11.48%11.48\%11.48%)。

AP@IoU=0.50.50.5 AP
ResNet-50 57.9 38.0
SE-ResNet-50 61.0 40.4
ResNet-101 60.1 39.9
SE-ResNet-101 62.7 41.9

TABLE VII: Faster R-CNN object detection results (%) on COCO minival set.

AP@IoU=0.50.50.5 AP
ResNet-50 57.9 38.0
SE-ResNet-50 61.0 40.4
ResNet-101 60.1 39.9
SE-ResNet-101 62.7 41.9

表 VII:COCO minival 集上 Faster R-CNN 目标检测结果(%)。

V-C Object Detection on COCO

V-C COCO 上的目标检测

We further assess the generalisation of SE blocks on the task of object detection using the COCO dataset [75]. As in previous work [19], we use the minival protocol, i.e., training the models on the union of the 808080k training set and a 353535k val subset and evaluating on the remaining 555k val subset. Weights are initialised by the parameters of the model trained on the ImageNet dataset. We use the Faster R-CNN [4] detection framework as the basis for evaluating our models and follow the hyperparameter setting described in [76] (i.e., end-to-end training with the ’2x’ learning schedule). Our goal is to evaluate the effect of replacing the trunk architecture (ResNet) in the object detector with SE-ResNet, so that any changes in performance can be attributed to better representations. Table VII reports the validation set performance of the object detector using ResNet-50, ResNet-101 and their SE counterparts as trunk architectures. SE-ResNet-50 outperforms ResNet-50 by 2.4%2.4\%2.4% (a relative 6.3%6.3\%6.3% improvement) on COCO’s standard AP metric and by 3.1%3.1\%3.1% on AP@IoU=0.50.50.5. SE blocks also benefit the deeper ResNet-101 architecture achieving a 2.0%2.0\%2.0% improvement (5.0%5.0\%5.0% relative improvement) on the AP metric. In summary, this set of experiments demonstrate the generalisability of SE blocks. The induced improvements can be realised across a broad range of architectures, tasks and datasets.

我们进一步在 COCO 数据集 [75] 上用目标检测任务评估 SE 块的泛化。与先前工作 [19] 一样,我们使用 minival 协议:在 808080k 训练集与 353535k 验证子集的并集上训练,在剩余 555k 验证子集上评测。权重由 ImageNet 训练模型的参数初始化。我们用 Faster R-CNN [4] 检测框架作为评测模型的基础,并遵循 [76] 所述超参设定(即带 ’2x’ 学习日程的端到端训练)。目标是评估用 SE-ResNet 替换目标检测器中主干架构(ResNet)的效果,从而使任何表现变化可归因于更好的表示。表 VII 报告用 ResNet-50、ResNet-101 及其 SE 对应物作为主干时检测器的验证集表现。SE-ResNet-50 在 COCO 标准 AP 指标上超过 ResNet-50 2.4%2.4\%2.4%(相对提升 6.3%6.3\%6.3%),在 AP@IoU=0.50.50.5 上超过 3.1%3.1\%3.1%。SE 块也使更深的 ResNet-101 受益,AP 上提升 2.0%2.0\%2.0%(相对提升 5.0%5.0\%5.0%)。总之,这组实验展示了 SE 块的可泛化性。诱导的改进可在广泛的架构、任务与数据集上实现。

V-D ILSVRC 2017 Classification Competition

V-D ILSVRC 2017 分类竞赛

224×224224\times 224224×224 320×320320\times 320320×320 / 299×299299\times 299299×299
top-1 err. top-5 err. top-1 err. top-5 err.
ResNet-152 [13] 23.023.023.0 6.76.76.7 21.321.321.3 5.55.55.5
ResNet-200 [14] 21.721.721.7 5.85.85.8 20.120.120.1 4.84.84.8
Inception-v3 [20] - - 21.221.221.2 5.65.65.6
Inception-v4 [21] - - 20.020.020.0 5.05.05.0
Inception-ResNet-v2 [21] - - 19.919.919.9 4.94.94.9
ResNeXt-101 (64 ×\times× 4d) [19] 20.420.420.4 5.35.35.3 19.119.119.1 4.44.44.4
DenseNet-264 [17] 22.1522.1522.15 6.126.126.12 - -
Attention-92 [58] - - 19.519.519.5 4.84.84.8
PyramidNet-200 [77] 20.120.120.1 5.45.45.4 19.219.219.2 4.74.74.7
DPN-131 [16] 19.9319.9319.93 5.125.125.12 18.5518.5518.55 4.164.164.16
SENet-154 18.68 4.47 17.28\mathbf{17.28}17.28 3.79\mathbf{3.79}3.79

TABLE VIII: Single-crop error rates (%) of state-of-the-art CNNs on ImageNet validation set with crop sizes 224×224224\times 224224×224 and 320×320320\times 320320×320 / 299×299299\times 299299×299.

224×224224\times 224224×224 320×320320\times 320320×320 / 299×299299\times 299299×299
top-1 err. top-5 err. top-1 err. top-5 err.
ResNet-152 [13] 23.023.023.0 6.76.76.7 21.321.321.3 5.55.55.5
ResNet-200 [14] 21.721.721.7 5.85.85.8 20.120.120.1 4.84.84.8
Inception-v3 [20] - - 21.221.221.2 5.65.65.6
Inception-v4 [21] - - 20.020.020.0 5.05.05.0
Inception-ResNet-v2 [21] - - 19.919.919.9 4.94.94.9
ResNeXt-101 (64 ×\times× 4d) [19] 20.420.420.4 5.35.35.3 19.119.119.1 4.44.44.4
DenseNet-264 [17] 22.1522.1522.15 6.126.126.12 - -
Attention-92 [58] - - 19.519.519.5 4.84.84.8
PyramidNet-200 [77] 20.120.120.1 5.45.45.4 19.219.219.2 4.74.74.7
DPN-131 [16] 19.9319.9319.93 5.125.125.12 18.5518.5518.55 4.164.164.16
SENet-154 18.68 4.47 17.28\mathbf{17.28}17.28 3.79\mathbf{3.79}3.79

表 VIII:ImageNet 验证集上最优 CNN 在裁剪尺寸 224×224224\times 224224×224 与 320×320320\times 320320×320 / 299×299299\times 299299×299 下的单裁剪错误率(%)。

extra data crop size top-1 err. top-5 err.
Very Deep PolyNet [78] - 331331331 18.7118.7118.71 4.254.254.25
NASNet-A (6 @ 4032) [42] - 331331331 17.317.317.3 3.83.83.8
PNASNet-5 (N=4,F=216) [35] - 331331331 17.117.117.1 3.83.83.8
SENet-154† - 320320320 16.8816.8816.88 3.583.583.58
AmoebaNet-C [79] - 331331331 16.516.516.5 3.53.53.5
ResNeXt-101 32×4832\times 4832×48d [80] ✓ 224224224 14.614.614.6 2.42.42.4

TABLE IX: Comparison (%) with state-of-the-art CNNs on ImageNet validation set using larger crop sizes/additional training data. †This model was trained with a crop size of 320×320320\times 320320×320.

extra data crop size top-1 err. top-5 err.
Very Deep PolyNet [78] - 331331331 18.7118.7118.71 4.254.254.25
NASNet-A (6 @ 4032) [42] - 331331331 17.317.317.3 3.83.83.8
PNASNet-5 (N=4,F=216) [35] - 331331331 17.117.117.1 3.83.83.8
SENet-154† - 320320320 16.8816.8816.88 3.583.583.58
AmoebaNet-C [79] - 331331331 16.516.516.5 3.53.53.5
ResNeXt-101 32×4832\times 4832×48d [80] ✓ 224224224 14.614.614.6 2.42.42.4

表 IX:在更大裁剪尺寸/额外训练数据下与最优 CNN 在 ImageNet 验证集上的比较(%)。†该模型以 320×320320\times 320320×320 裁剪尺寸训练。

SENets formed the foundation of our submission to the ILSVRC competition where we achieved first place. Our winning entry comprised a small ensemble of SENets that employed a standard multi-scale and multi-crop fusion strategy to obtain a top-5 error of 2.251%2.251\%2.251% on the test set. As part of this submission, we constructed an additional model, SENet-154, by integrating SE blocks with a modified ResNeXt [19] (the details of the architecture are provided in Appendix). We compare this model with prior work on the ImageNet validation set in Table VIII using standard crop sizes (224×224224\times 224224×224 and 320×320320\times 320320×320). We observe that SENet-154154154 achieves a top-1 error of 18.68%18.68\%18.68% and a top-5 error of 4.47%4.47\%4.47% using a 224×224224\times 224224×224 centre crop evaluation, which represents the strongest reported result.

SENet 构成我们 ILSVRC 竞赛提交的基础,并取得第一名。我们的获胜条目由一小套 SENet 集成组成,采用标准多尺度、多裁剪融合策略,在测试集上得到 2.251%2.251\%2.251% 的 top-5 错误率。作为该提交的一部分,我们通过把 SE 块与修改版 ResNeXt [19] 集成,构造了额外模型 SENet-154(架构细节见附录)。我们在表 VIII 中用标准裁剪尺寸(224×224224\times 224224×224 与 320×320320\times 320320×320)在 ImageNet 验证集上与先前工作比较该模型。我们观察到 SENet-154154154 用 224×224224\times 224224×224 中心裁剪评测达到 top-1 错误率 18.68%18.68\%18.68%、top-5 错误率 4.47%4.47\%4.47%,为当时报告的最强结果。

Following the challenge there has been a great deal of further progress on the ImageNet benchmark. For comparison, we include the strongest results that we are currently aware of in Table IX. The best performance using only ImageNet data was recently reported by [79]. This method uses reinforcement learning to develop new policies for data augmentation during training to improve the performance of the architecture searched by [31]. The best overall performance was reported by [80] using a ResNeXt-101101101 32×48d32\times 48d32×48d architecture. This was achieved by pretraining their model on approximately one billion weakly labelled images and finetuning on ImageNet. The improvements yielded by more sophisticated data augmentation [79] and extensive pretraining [80] may be complementary to our proposed changes to the network architecture.

竞赛之后,ImageNet 基准上又有大量进一步进展。为比较,我们在表 IX 列出目前所知的最强结果。仅用 ImageNet 数据的最佳表现最近由 [79] 报告。该方法用强化学习开发训练时新的数据增强策略,以提升 [31] 搜索到的架构表现。总体最佳表现由 [80] 用 ResNeXt-101101101 32×4832\times 4832×48d 架构报告,做法是在约十亿弱标注图像上预训练再在 ImageNet 上微调。更精细数据增强 [79] 与大规模预训练 [80] 带来的改进,可能与我们对网络架构提出的改动互补。

VI Ablation Study

VI 消融研究

In this section we conduct ablation experiments to gain a better understanding of the effect of using different configurations on components of the SE blocks. All ablation experiments are performed on the ImageNet dataset on a single machine (with 8 GPUs). ResNet-50 is used as the backbone architecture. We found empirically that on ResNet architectures, removing the biases of the FC layers in the excitation operation facilitates the modelling of channel dependencies, and use this configuration in the following experiments. The data augmentation strategy follows the approach described in Section V-A. To allow us to study the upper limit of performance for each variant, the learning rate is initialised to 0.1 and training continues until the validation loss plateaus[^2] (∼300{\sim}300∼300 epochs in total). The learning rate is then reduced by a factor of 10 and then this process is repeated (three times in total). Label-smoothing regularisation [20] is used during training.

本节做消融实验,以更好理解 SE 块各组件使用不同配置的影响。所有消融在单机(8 GPU)上的 ImageNet 数据集上进行,骨干为 ResNet-50。我们经验地发现:在 ResNet 架构上,去掉 excitation 操作中 FC 层的偏置有助于建模通道依赖,后续实验采用该配置。数据增强策略遵循第 V-A 节所述。为研究各变体的表现上限,学习率初始化为 0.1,训练持续到验证损失平台[^2](总共约 ∼300{\sim}300∼300 个 epoch)。然后将学习率降为原来的 1/101/101/10,再重复该过程(共三次)。训练中使用标签平滑正则 [20]。

Ratio rrr top-1 err. top-5 err. Params
222 22.2922.2922.29 6.006.006.00 45.745.745.7M
444 22.2522.2522.25 6.096.096.09 35.735.735.7M
888 22.2622.2622.26 5.995.995.99 30.730.730.7M
161616 22.2822.2822.28 6.036.036.03 28.128.128.1M
323232 22.7222.7222.72 6.206.206.20 26.926.926.9M
original 23.3023.3023.30 6.556.556.55 25.625.625.6M

TABLE X: Single-crop error rates (%) on ImageNet and parameter sizes for SE-ResNet-50 at different reduction ratios. Here, original refers to ResNet-50.

Ratio rrr top-1 err. top-5 err. Params
222 22.2922.2922.29 6.006.006.00 45.745.745.7M
444 22.2522.2522.25 6.096.096.09 35.735.735.7M
888 22.2622.2622.26 5.995.995.99 30.730.730.7M
161616 22.2822.2822.28 6.036.036.03 28.128.128.1M
323232 22.7222.7222.72 6.206.206.20 26.926.926.9M
original 23.3023.3023.30 6.556.556.55 25.625.625.6M

表 X:不同降维比下 SE-ResNet-50 在 ImageNet 上的单裁剪错误率(%)与参数量。此处 original 指 ResNet-50。

VI-A Reduction ratio

VI-A 降维比

The reduction ratio rrr introduced in Eqn. 5 is a hyperparameter which allows us to vary the capacity and computational cost of the SE blocks in the network. To investigate the trade-off between performance and computational cost mediated by this hyperparameter, we conduct experiments with SE-ResNet-50 for a range of different rrr values. The comparison in Table X shows that performance is robust to a range of reduction ratios. Increased complexity does not improve performance monotonically while a smaller ratio dramatically increases the parameter size of the model. Setting r=16r=16r=16 achieves a good balance between accuracy and complexity. In practice, using an identical ratio throughout a network may not be optimal (due to the distinct roles performed by different layers), so further improvements may be achievable by tuning the ratios to meet the needs of a given base architecture.

式 5 引入的降维比 rrr 是超参,允许我们改变网络中 SE 块的容量与计算成本。为考察该超参调节的表现与计算成本折中,我们在一系列不同 rrr 值上对 SE-ResNet-50 做实验。表 X 的比较显示,表现对一系列降维比稳健。增加复杂度并不单调提升表现,而更小的比值会急剧增加模型参数量。设 r=16r=16r=16 在准确率与复杂度之间取得良好平衡。实践中,网络通篇使用相同比值未必最优(因不同层角色不同),因此按给定基线架构需求调比值可能还有进一步提升空间。

VI-B Squeeze Operator

VI-B Squeeze 算子

We examine the significance of using global average pooling as opposed to global max pooling as our choice of squeeze operator (since this worked well, we did not consider more sophisticated alternatives). The results are reported in Table XI. While both max and average pooling are effective, average pooling achieves slightly better performance, justifying its selection as the basis of the squeeze operation. However, we note that the performance of SE blocks is fairly robust to the choice of specific aggregation operator.

我们考察用全局平均池化相对全局最大池化作为 squeeze 算子选择的重要性(由于效果良好,未再考虑更复杂替代)。结果见表 XI。最大与平均池化都有效,但平均池化略好,正当化其作为 squeeze 操作基础的选择。不过我们指出,SE 块表现对具体聚合算子的选择相当稳健。

VI-C Excitation Operator

VI-C Excitation 算子

We next assess the choice of non-linearity for the excitation mechanism. We consider two further options: ReLU and tanh, and experiment with replacing the sigmoid with these alternative non-linearities. The results are reported in Table XII. We see that exchanging the sigmoid for tanh slightly worsens performance, while using ReLU is dramatically worse and in fact causes the performance of SE-ResNet-50 to drop below that of the ResNet-50 baseline. This suggests that for the SE block to be effective, careful construction of the excitation operator is important.

我们接着评估 excitation 机制的非线性选择。考虑另外两个选项:ReLU 与 tanh,并用它们替换 sigmoid 做实验。结果见表 XII。用 tanh 换 sigmoid 略伤表现,而用 ReLU 显著更差,实际上使 SE-ResNet-50 表现落到 ResNet-50 基线之下。这表明要使 SE 块有效,仔细构造 excitation 算子很重要。

Squeeze top-1 err. top-5 err.
Max 22.57 6.09
Avg 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03

TABLE XI: Effect of using different squeeze operators in SE-ResNet-50 on ImageNet (error rates %).

Squeeze top-1 err. top-5 err.
Max 22.57 6.09
Avg 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03

表 XI:SE-ResNet-50 上不同 squeeze 算子在 ImageNet 上的影响(错误率 %)。

Excitation top-1 err. top-5 err.
ReLU 23.47 6.98
Tanh 23.00 6.38
Sigmoid 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03

TABLE XII: Effect of using different non-linearities for the excitation operator in SE-ResNet-50 on ImageNet (error rates %).

Excitation top-1 err. top-5 err.
ReLU 23.47 6.98
Tanh 23.00 6.38
Sigmoid 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03

表 XII:SE-ResNet-50 上 excitation 算子不同非线性在 ImageNet 上的影响(错误率 %)。

Stage top-1 err. top-5 err. GFLOPs Params
ResNet-50 23.30 6.55 3.86 25.6M
SE_Stage_2 23.03 6.48 3.86 25.6M
SE_Stage_3 23.04 6.32 3.86 25.7M
SE_Stage_4 22.68 6.22 3.86 26.4M
SE_All 22.28 6.03 3.87 28.1M

TABLE XIII: Effect of integrating SE blocks with ResNet-50 at different stages on ImageNet (error rates %).

Stage top-1 err. top-5 err. GFLOPs Params
ResNet-50 23.30 6.55 3.86 25.6M
SE_Stage_2 23.03 6.48 3.86 25.6M
SE_Stage_3 23.04 6.32 3.86 25.7M
SE_Stage_4 22.68 6.22 3.86 26.4M
SE_All 22.28 6.03 3.87 28.1M

表 XIII:在不同阶段把 SE 块与 ResNet-50 集成在 ImageNet 上的影响(错误率 %)。

VI-D Different stages

VI-D 不同阶段

We explore the influence of SE blocks at different stages by integrating SE blocks into ResNet-50, one stage at a time. Specifically, we add SE blocks to the intermediate stages: stage_2, stage_3 and stage_4, and report the results in Table XIII. We observe that SE blocks bring performance benefits when introduced at each of these stages of the architecture. Moreover, the gains induced by SE blocks at different stages are complementary, in the sense that they can be combined effectively to further bolster network performance.

我们通过一次只在一个阶段把 SE 块集成进 ResNet-50,探索 SE 块在不同阶段的影响。具体地,我们向中间阶段 stage_2、stage_3 与 stage_4 添加 SE 块,结果见表 XIII。我们观察到在架构这些阶段的每一处引入 SE 块都带来表现收益。而且,不同阶段 SE 块诱导的增益是互补的:它们可有效组合以进一步支撑网络表现。

VI-E Integration strategy

VI-E 集成策略

(a) Residual block

(a) 残差块

Finally, we perform an ablation study to assess the influence of the location of the SE block when integrating it into existing architectures. In addition to the proposed SE design, we consider three variants: (1) SE-PRE block, in which the SE block is moved before the residual unit; (2) SE-POST block, in which the SE unit is moved after the summation with the identity branch (after ReLU) and (3) SE-Identity block, in which the SE unit is placed on the identity connection in parallel to the residual unit. These variants are illustrated in Figure 5 and the performance of each variant is reported in Table XIV. We observe that the SE-PRE, SE-Identity and proposed SE block each perform similarly well, while usage of the SE-POST block leads to a drop in performance. This experiment suggests that the performance improvements produced by SE units are fairly robust to their location, provided that they are applied prior to branch aggregation.

最后,我们做消融研究,评估把 SE 块集成进现有架构时位置的影响。除提出的 SE 设计外,我们考虑三个变体:(1) SE-PRE 块,把 SE 块移到残差单元之前;(2) SE-POST 块,把 SE 单元移到与恒等分支相加之后(ReLU 之后);(3) SE-Identity 块,把 SE 单元放在恒等连接上、与残差单元并行。这些变体见图 5,各变体表现见表 XIV。我们观察到 SE-PRE、SE-Identity 与提出的 SE 块表现相近,而使用 SE-POST 块会导致表现下降。该实验表明,只要 SE 单元在分支聚合之前应用,其带来的表现提升对位置相当稳健。

Design top-1 err. top-5 err.
SE 22.28 6.03
SE-PRE 22.23 6.00
SE-POST 22.78 6.35
SE-Identity 22.20 6.15

TABLE XIV: Effect of different SE block integration strategies with ResNet-50 on ImageNet (error rates %).

Design top-1 err. top-5 err.
SE 22.28 6.03
SE-PRE 22.23 6.00
SE-POST 22.78 6.35
SE-Identity 22.20 6.15

表 XIV:ResNet-50 上不同 SE 块集成策略在 ImageNet 上的影响(错误率 %)。

Design top-1 err. top-5 err. GFLOPs Params
SE 22.2822.2822.28 6.036.036.03 3.873.873.87 28.128.128.1M
SE_3×\times×3 22.4822.4822.48 6.026.026.02 3.863.863.86 25.825.825.8M

TABLE XV: Effect of integrating SE blocks at the 3x3 convolutional layer of each residual branch in ResNet-50 on ImageNet (error rates %).

Design top-1 err. top-5 err. GFLOPs Params
SE 22.2822.2822.28 6.036.036.03 3.873.873.87 28.128.128.1M
SE_3×\times×3 22.4822.4822.48 6.026.026.02 3.863.863.86 25.825.825.8M

表 XV:在 ResNet-50 每个残差分支的 3x3 卷积层集成 SE 块在 ImageNet 上的影响(错误率 %)。

In the experiments above, each SE block was placed outside the structure of a residual unit. We also construct a variant of the design which moves the SE block inside the residual unit, placing it directly after the 3×33\times 33×3 convolutional layer. Since the 3×33\times 33×3 convolutional layer possesses fewer channels, the number of parameters introduced by the corresponding SE block is also reduced. The comparison in Table XV shows that the SE_3×\times×3 variant achieves comparable classification accuracy with fewer parameters than the standard SE block. Although it is beyond the scope of this work, we anticipate that further efficiency gains will be achievable by tailoring SE block usage for specific architectures.

上述实验中,每个 SE 块放在残差单元结构之外。我们还构造把 SE 块移入残差单元内部、直接放在 3×33\times 33×3 卷积层之后的设计变体。由于 3×33\times 33×3 卷积层通道更少,对应 SE 块引入的参数也减少。表 XV 的比较显示,SE_3×\times×3 变体以比标准 SE 块更少的参数达到可比分类准确率。虽超出本文范围,我们预期通过为特定架构定制 SE 块用法还可获得进一步效率收益。

VII Role of SE blocks

VII SE 块的作用

Although the proposed SE block has been shown to improve network performance on multiple visual tasks, we would also like to understand the relative importance of the squeeze operation and how the excitation mechanism operates in practice. A rigorous theoretical analysis of the representations learned by deep neural networks remains challenging, we therefore take an empirical approach to examining the role played by the SE block with the goal of attaining at least a primitive understanding of its practical function.

尽管提出的 SE 块已在多项视觉任务上提升网络表现,我们仍希望理解 squeeze 操作的相对重要性,以及 excitation 机制在实践中如何运作。对深度神经网络所学表示做严格理论分析仍具挑战,因此我们采取经验方法考察 SE 块扮演的角色,目标是至少获得对其实际功能的初步理解。

top-1 err. top-5 err. GFLOPs Params
ResNet-50 23.3023.3023.30 6.556.556.55 3.863.863.86 25.625.625.6M
NoSqueeze 22.9322.9322.93 6.396.396.39 4.274.274.27 28.128.128.1M
SE 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03 3.873.873.87 28.128.128.1M

TABLE XVI: Effect of Squeeze operator on ImageNet (error rates %).

top-1 err. top-5 err. GFLOPs Params
ResNet-50 23.3023.3023.30 6.556.556.55 3.863.863.86 25.625.625.6M
NoSqueeze 22.9322.9322.93 6.396.396.39 4.274.274.27 28.128.128.1M
SE 22.28\mathbf{22.28}22.28 6.03\mathbf{6.03}6.03 3.873.873.87 28.128.128.1M

表 XVI:Squeeze 算子在 ImageNet 上的影响(错误率 %)。

(a) SE_2_3

(a) SE_2_3

VII-A Effect of Squeeze

VII-A Squeeze 的影响

To assess whether the global embedding produced by the squeeze operation plays an important role in performance, we experiment with a variant of the SE block that adds an equal number of parameters, but does not perform global average pooling. Specifically, we remove the pooling operation and replace the two FC layers with corresponding 1×11\times 11×1 convolutions with identical channel dimensions in the excitation operator, namely NoSqueeze, where the excitation output maintains the spatial dimensions as input. In contrast to the SE block, these point-wise convolutions can only remap the channels as a function of the output of a local operator. While in practice, the later layers of a deep network will typically possess a (theoretical) global receptive field, global embeddings are no longer directly accessible throughout the network in the NoSqueeze variant. The accuracy and computational complexity of both models are compared to a standard ResNet-50 model in Table XVI. We observe that the use of global information has a significant influence on the model performance, underlining the importance of the squeeze operation. Moreover, in comparison to the NoSqueeze design, the SE block allows this global information to be used in a computationally parsimonious manner.

为评估 squeeze 操作产生的全局嵌入是否对表现起重要作用,我们实验一种增加同等参数量但不做全局平均池化的 SE 块变体。具体地,去掉池化,并把 excitation 算子中的两个 FC 层换成通道维相同的对应 1×11\times 11×1 卷积,即 NoSqueeze,其 excitation 输出保持与输入相同的空间尺寸。与 SE 块不同,这些逐点卷积只能作为局部算子输出的函数重映射通道。实践中深层网络较后层通常具有(理论上的)全局感受野,但在 NoSqueeze 变体中,全局嵌入不再在整个网络中直接可及。两模型的准确率与计算复杂度相对标准 ResNet-50 的比较见表 XVI。我们观察到使用全局信息对模型表现有显著影响,凸显 squeeze 操作的重要性。而且,相对 NoSqueeze 设计,SE 块允许以计算上吝啬的方式使用该全局信息。

VII-B Role of Excitation

VII-B Excitation 的作用

To provide a clearer picture of the function of the excitation operator in SE blocks, in this section we study example activations from the SE-ResNet-50 model and examine their distribution with respect to different classes and different input images at various depths in the network. In particular, we would like to understand how excitations vary across images of different classes, and across images within a class.

为更清楚描绘 SE 块中 excitation 算子的功能,本节研究 SE-ResNet-50 模型的示例激活,并考察它们相对不同类别、不同输入图像、在网络不同深度上的分布。我们特别希望理解:激发如何跨不同类别图像变化,以及如何在同一类别内跨图像变化。

We first consider the distribution of excitations for different classes. Specifically, we sample four classes from the ImageNet dataset that exhibit semantic and appearance diversity, namely goldfish, pug, plane and cliff (example images from these classes are shown in Appendix). We then draw fifty samples for each class from the validation set and compute the average activations for fifty uniformly sampled channels in the last SE block of each stage (immediately prior to downsampling) and plot their distribution in Fig. 6. For reference, we also plot the distribution of the mean activations across all of the 100010001000 classes.

我们首先考虑不同类别的激发分布。具体地,我们从 ImageNet 数据集中采样四个在语义与外观上具多样性的类别,即 goldfish、pug、plane 与 cliff(这些类别的示例图像见附录)。然后从验证集为每类抽取五十个样本,计算每个阶段最后一个 SE 块(下采样正前)中均匀采样的五十个通道的平均激活,并在图 6 中画出其分布。作为参照,我们也画出全部 100010001000 个类别平均激活的分布。

We make the following three observations about the role of the excitation operation. First, the distribution across different classes is very similar at the earlier layers of the network, e.g. SE_2_3. This suggests that the importance of feature channels is likely to be shared by different classes in the early stages. The second observation is that at greater depth, the value of each channel becomes much more class-specific as different classes exhibit different preferences to the discriminative value of features, e.g. SE_4_6 and SE_5_1. These observations are consistent with findings in previous work [81, 82], namely that earlier layer features are typically more general (e.g. class agnostic in the context of the classification task) while later layer features exhibit greater levels of specificity [83].

我们对 excitation 操作的作用做如下三点观察。第一,在网络较早层(例如 SE_2_3),不同类别间的分布非常相似。这表明特征通道的重要性在早期阶段很可能被不同类别共享。第二,在更大深度处,每个通道的取值变得远更类别特定,不同类别对特征判别价值表现出不同偏好,例如 SE_4_6 与 SE_5_1。这些观察与先前工作 [81, 82] 的发现一致,即较早层特征通常更通用(例如在分类任务语境下类别无关),而较后层特征表现出更高特化程度 [83]。

Next, we observe a somewhat different phenomena in the last stage of the network. SE_5_2 exhibits an interesting tendency towards a saturated state in which most of the activations are close to one. At the point at which all activations take the value one, an SE block reduces to the identity operator. At the end of the network in the SE_5_3 (which is immediately followed by global pooling prior before classifiers), a similar pattern emerges over different classes, up to a modest change in scale (which could be tuned by the classifiers). This suggests that SE_5_2 and SE_5_3 are less important than previous blocks in providing recalibration to the network. This finding is consistent with the result of the empirical investigation in Section IV which demonstrated that the additional parameter count could be significantly reduced by removing the SE blocks for the last stage with only a marginal loss of performance.

接着,我们在网络最后阶段观察到略有不同的现象。SE_5_2 表现出有趣的饱和倾向:多数激活接近一。当所有激活取值一时,SE 块退化为恒等算子。在网络末端的 SE_5_3(紧接其后是分类器前的全局池化),不同类别上也出现相似模式,仅有适度尺度变化(可由分类器调节)。这表明在为网络提供重标定方面,SE_5_2 与 SE_5_3 不如先前块重要。该发现与第 IV 节经验调查结果一致:去掉最后阶段的 SE 块可显著减少额外参数量,而表现损失仅边际。

Finally, we show the mean and standard deviations of the activations for image instances within the same class for two sample classes (goldfish and plane) in Fig. 7. We observe a trend consistent with the inter-class visualisation, indicating that the dynamic behaviour of SE blocks varies over both classes and instances within a class. Particularly in the later layers of the network where there is considerable diversity of representation within a single class, the network learns to take advantage of feature recalibration to improve its discriminative performance [84]. In summary, SE blocks produce instance-specific responses which nevertheless function to support the increasingly class-specific needs of the model at different layers in the architecture.

最后,我们在图 7 中给出两类样本(goldfish 与 plane)同类图像实例激活的均值与标准差。我们观察到与类间可视化一致的趋势,表明 SE 块的动态行为既随类别变化,也随类内实例变化。特别是在网络较后层——单类内表示多样性相当大——网络学习利用特征重标定提升判别表现 [84]。总之,SE 块产生实例特定响应,却仍支撑模型在架构不同层上日益类别特定的需求。

VIII Conclusion

VIII 结论

In this paper we proposed the SE block, an architectural unit designed to improve the representational power of a network by enabling it to perform dynamic channel-wise feature recalibration. A wide range of experiments show the effectiveness of SENets, which achieve state-of-the-art performance across multiple datasets and tasks. In addition, SE blocks shed some light on the inability of previous architectures to adequately model channel-wise feature dependencies. We hope this insight may prove useful for other tasks requiring strong discriminative features. Finally, the feature importance values produced by SE blocks may be of use for other tasks such as network pruning for model compression.

本文提出 SE 块:一种通过使网络能做动态通道维特征重标定来提升表示能力的结构单元。广泛实验表明 SENet 的有效性,它们在多个数据集与任务上达到最优表现。此外,SE 块也对先前架构未能充分建模通道维特征依赖给出一些启示。我们希望这一洞见对其他需要强判别特征的任务有用。最后,SE 块产生的特征重要性值可能对网络剪枝等模型压缩任务有用。

Acknowledgments

致谢

The authors would like to thank Chao Li and Guangyuan Wang from Momenta for their contributions in the training system optimisation and experiments on CIFAR dataset. We would also like to thank Andrew Zisserman, Aravindh Mahendran and Andrea Vedaldi for many helpful discussions. The work is supported in part by NSFC Grants (61632003, 61620106003, 61672502, 61571439), National Key R&D Program of China (2017YFB1002701), and Macao FDCT Grant (068/2015/A2). Samuel Albanie is supported by EPSRC AIMS CDT EP/L015897/1.

作者感谢 Momenta 的 Chao Li 与 Guangyuan Wang 在训练系统优化与 CIFAR 数据集实验上的贡献。我们也感谢 Andrew Zisserman、Aravindh Mahendran 与 Andrea Vedaldi 的许多有益讨论。本工作部分得到 NSFC 资助(61632003、61620106003、61672502、61571439)、国家重点研发计划(2017YFB1002701)以及澳门 FDCT 资助(068/2015/A2)支持。Samuel Albanie 由 EPSRC AIMS CDT EP/L015897/1 支持。

Appendix: Details of SENet-154

附录:SENet-154 细节

SENet-154 is constructed by incorporating SE blocks into a modified version of the 64×\times×4d ResNeXt-152 which extends the original ResNeXt-101 [19] by adopting the block stacking strategy of ResNet-152 [13]. Further differences to the design and training of this model (beyond the use of SE blocks) are as follows: (a) The number of the first 1×11\times 11×1 convolutional channels for each bottleneck building block was halved to reduce the computational cost of the model with a minimal decrease in performance. (b) The first 7×77\times 77×7 convolutional layer was replaced with three consecutive 3×33\times 33×3 convolutional layers. (c) The 1×11\times 11×1 down-sampling projection with stride-222 convolution was replaced with a 3×33\times 33×3 stride-222 convolution to preserve information. (d) A dropout layer (with a dropout ratio of 0.20.20.2) was inserted before the classification layer to reduce overfitting. (e) Label-smoothing regularisation (as introduced in [20]) was used during training. (f) The parameters of all BN layers were frozen for the last few training epochs to ensure consistency between training and testing. (g) Training was performed with 8 servers (64 GPUs) in parallel to enable large batch sizes (2048). The initial learning rate was set to 1.01.01.0.

SENet-154 通过把 SE 块并入修改版的 64×\times×4d ResNeXt-152 构造:后者采用 ResNet-152 [13] 的块堆叠策略,扩展了原始 ResNeXt-101 [19]。除使用 SE 块外,该模型设计与训练的进一步差异如下:(a) 每个瓶颈构建块的第一个 1×11\times 11×1 卷积通道数减半,以最小表现损失降低模型计算成本。(b) 第一个 7×77\times 77×7 卷积层换成连续三个 3×33\times 33×3 卷积层。(c) 带 stride-2 卷积的 1×11\times 11×1 下采样投影换成 3×33\times 33×3 stride-2 卷积以保留信息。(d) 在分类层前插入 dropout 层(dropout 比 0.20.20.2)以减少过拟合。(e) 训练中使用标签平滑正则(如 [20] 引入)。(f) 最后若干训练 epoch 冻结所有 BN 层参数,以确保训练与测试一致。(g) 用 8 台服务器(64 GPU)并行训练以支持大批大小(2048)。初始学习率设为 1.01.01.0。

(a) goldfish

References

参考文献

[1] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “ImageNet classification with deep convolutional neural networks,” in Conference on Neural Information Processing Systems , 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 Conference on Neural Information Processing Systems , 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.

[7] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick, “Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks,” in CVPR , 2016.

[8] A. Newell, K. Yang, and J. Deng, “Stacked hourglass networks for human pose estimation,” in ECCV , 2016.

[9] M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu, “Spatial transformer networks,” in Conference on Neural Information Processing Systems , 2015.

[10] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei, “ImageNet large scale visual recognition challenge,” International Journal of Computer Vision , 2015.

[11] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” in ICLR , 2015.

[12] S. Santurkar, D. Tsipras, A. Ilyas, and A. Madry, “How does batch normalization help optimization? (no, it is not about internal covariate shift),” in Conference on Neural Information Processing Systems , 2018.

[13] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in CVPR , 2016.

[14] K. He, X. Zhang, S. Ren, and J. Sun, “Identity mappings in deep residual networks,” in ECCV , 2016.

[15] R. K. Srivastava, K. Greff, and J. Schmidhuber, “Training very deep networks,” in Conference on Neural Information Processing Systems , 2015.

[16] Y. Chen, J. Li, H. Xiao, X. Jin, S. Yan, and J. Feng, “Dual path networks,” in Conference on Neural Information Processing Systems , 2017.

[17] G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks,” in CVPR , 2017.

[18] Y. Ioannou, D. Robertson, R. Cipolla, and A. Criminisi, “Deep roots: Improving CNN efficiency with hierarchical filter groups,” in CVPR , 2017.

[19] S. Xie, R. Girshick, P. Dollár, Z. Tu, and K. He, “Aggregated residual transformations for deep neural networks,” in CVPR , 2017.

[20] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna, “Rethinking the inception architecture for computer vision,” in CVPR , 2016.

[21] C. Szegedy, S. Ioffe, V. Vanhoucke, and A. Alemi, “Inception-v4, inception-resnet and the impact of residual connections on learning,” in AAAI Conference on Artificial Intelligence , 2016.

[22] M. Jaderberg, A. Vedaldi, and A. Zisserman, “Speeding up convolutional neural networks with low rank expansions,” in BMVC , 2014.

[23] F. Chollet, “Xception: Deep learning with depthwise separable convolutions,” in CVPR , 2017.

[24] M. Lin, Q. Chen, and S. Yan, “Network in network,” in ICLR , 2014.

[25] G. F. Miller, P. M. Todd, and S. U. Hegde, “Designing neural networks using genetic algorithms.” in ICGA , 1989.

[26] K. O. Stanley and R. Miikkulainen, “Evolving neural networks through augmenting topologies,” Evolutionary computation , 2002.

[27] J. Bayer, D. Wierstra, J. Togelius, and J. Schmidhuber, “Evolving memory cell structures for sequence learning,” in ICANN , 2009.

[28] R. Jozefowicz, W. Zaremba, and I. Sutskever, “An empirical exploration of recurrent network architectures,” in ICML , 2015.

[29] L. Xie and A. L. Yuille, “Genetic CNN,” in ICCV , 2017.

[30] E. Real, S. Moore, A. Selle, S. Saxena, Y. L. Suematsu, J. Tan, Q. Le, and A. Kurakin, “Large-scale evolution of image classifiers,” in ICML , 2017.

[31] E. Real, A. Aggarwal, Y. Huang, and Q. V. Le, “Regularized evolution for image classifier architecture search,” arXiv preprint arXiv:1802.01548 , 2018.

[32] T. Elsken, J. H. Metzen, and F. Hutter, “Efficient multi-objective neural architecture search via lamarckian evolution,” arXiv preprint arXiv:1804.09081 , 2018.

[33] H. Liu, K. Simonyan, and Y. Yang, “DARTS: Differentiable architecture search,” arXiv preprint arXiv:1806.09055 , 2018.

[34] J. Bergstra and Y. Bengio, “Random search for hyper-parameter optimization,” JMLR , 2012.

[35] C. Liu, B. Zoph, J. Shlens, W. Hua, L.-J. Li, L. Fei-Fei, A. Yuille, J. Huang, and K. Murphy, “Progressive neural architecture search,” in ECCV , 2018.

[36] R. Negrinho and G. Gordon, “Deeparchitect: Automatically designing and training deep architectures,” arXiv preprint arXiv:1704.08792 , 2017.

[37] S. Saxena and J. Verbeek, “Convolutional neural fabrics,” in Conference on Neural Information Processing Systems , 2016.

[38] A. Brock, T. Lim, J. M. Ritchie, and N. Weston, “SMASH: one-shot model architecture search through hypernetworks,” in ICLR , 2018.

[39] B. Baker, O. Gupta, R. Raskar, and N. Naik, “Accelerating neural architecture search using performance prediction,” in ICLR Workshop , 2018.

[40] B. Baker, O. Gupta, N. Naik, and R. Raskar, “Designing neural network architectures using reinforcement learning,” in ICLR , 2017.

[41] B. Zoph and Q. V. Le, “Neural architecture search with reinforcement learning,” in ICLR , 2017.

[42] B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, “Learning transferable architectures for scalable image recognition,” in CVPR , 2018.

[43] H. Liu, K. Simonyan, O. Vinyals, C. Fernando, and K. Kavukcuoglu, “Hierarchical representations for efficient architecture search,” in ICLR , 2018.

[44] H. Pham, M. Y. Guan, B. Zoph, Q. V. Le, and J. Dean, “Efficient neural architecture search via parameter sharing,” in ICML , 2018.

[45] M. Tan, B. Chen, R. Pang, V. Vasudevan, and Q. V. Le, “Mnasnet: Platform-aware neural architecture search for mobile,” arXiv preprint arXiv:1807.11626 , 2018.

[46] B. A. Olshausen, C. H. Anderson, and D. C. V. Essen, “A neurobiological model of visual attention and invariant pattern recognition based on dynamic routing of information,” Journal of Neuroscience , 1993.

[47] L. Itti, C. Koch, and E. Niebur, “A model of saliency-based visual attention for rapid scene analysis,” IEEE Transactions on Pattern Analysis and Machine Intelligence , 1998.

[48] L. Itti and C. Koch, “Computational modelling of visual attention,” Nature reviews neuroscience , 2001.

[49] H. Larochelle and G. E. Hinton, “Learning to combine foveal glimpses with a third-order boltzmann machine,” in Conference on Neural Information Processing Systems , 2010.

[50] V. Mnih, N. Heess, A. Graves, and K. Kavukcuoglu, “Recurrent models of visual attention,” in Conference on Neural Information Processing Systems , 2014.

[51] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, Ł. Kaiser, and I. Polosukhin, “Attention is all you need,” in Conference on Neural Information Processing Systems , 2017.

[52] T. Bluche, “Joint line segmentation and transcription for end-to-end handwritten paragraph recognition,” in Conference on Neural Information Processing Systems , 2016.

[53] A. Miech, I. Laptev, and J. Sivic, “Learnable pooling with context gating for video classification,” arXiv:1706.06905 , 2017.

[54] C. Cao, X. Liu, Y. Yang, Y. Yu, J. Wang, Z. Wang, Y. Huang, L. Wang, C. Huang, W. Xu, D. Ramanan, and T. S. Huang, “Look and think twice: Capturing top-down visual attention with feedback convolutional neural networks,” in ICCV , 2015.

[55] K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhudinov, R. Zemel, and Y. Bengio, “Show, attend and tell: Neural image caption generation with visual attention,” in ICML , 2015.

[56] L. Chen, H. Zhang, J. Xiao, L. Nie, J. Shao, W. Liu, and T. Chua, “SCA-CNN: Spatial and channel-wise attention in convolutional networks for image captioning,” in CVPR , 2017.

[57] J. S. Chung, A. Senior, O. Vinyals, and A. Zisserman, “Lip reading sentences in the wild,” in CVPR , 2017.

[58] F. Wang, M. Jiang, C. Qian, S. Yang, C. Li, H. Zhang, X. Wang, and X. Tang, “Residual attention network for image classification,” in CVPR , 2017.

[59] S. Woo, J. Park, J.-Y. Lee, and I. S. Kweon, “CBAM: Convolutional block attention module,” in ECCV , 2018.

[60] J. Yang, K. Yu, Y. Gong, and T. Huang, “Linear spatial pyramid matching using sparse coding for image classification,” in CVPR , 2009.

[61] J. Sanchez, F. Perronnin, T. Mensink, and J. Verbeek, “Image classification with the fisher vector: Theory and practice,” International Journal of Computer Vision , 2013.

[62] L. Shen, G. Sun, Q. Huang, S. Wang, Z. Lin, and E. Wu, “Multi-level discriminative dictionary learning with application to large scale image classification,” IEEE TIP , 2015.

[63] V. Nair and G. E. Hinton, “Rectified linear units improve restricted boltzmann machines,” in ICML , 2010.

[64] A. G. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang, T. Weyand, M. Andreetto, and H. Adam, “MobileNets: Efficient convolutional neural networks for mobile vision applications,” arXiv:1704.04861 , 2017.

[65] X. Zhang, X. Zhou, M. Lin, and J. Sun, “ShuffleNet: An extremely efficient convolutional neural network for mobile devices,” in CVPR , 2018.

[66] K. He, X. Zhang, S. Ren, and J. Sun, “Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification,” in ICCV , 2015.

[67] S. Zagoruyko and N. Komodakis, “Wide residual networks,” in BMVC , 2016.

[68] X. Gastaldi, “Shake-shake regularization,” arXiv preprint arXiv:1705.07485 , 2017.

[69] T. DeVries and G. W. Taylor, “Improved regularization of convolutional neural networks with cutout,” arXiv preprint arXiv:1708.04552 , 2017.

[70] A. Krizhevsky and G. Hinton, “Learning multiple layers of features from tiny images,” Citeseer, Tech. Rep., 2009.

[71] G. Huang, Y. Sun, Z. Liu, D. Sedra, and K. Q. Weinberger, “Deep networks with stochastic depth,” in ECCV , 2016.

[72] L. Shen, Z. Lin, G. Sun, and J. Hu, “Places401 and places365 models,” https://github.com/lishen-shirley/Places2-CNNs , 2016.

[73] B. Zhou, A. Lapedriza, A. Khosla, A. Oliva, and A. Torralba, “Places: A 10 million image database for scene recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence , 2017.

[74] L. Shen, Z. Lin, and Q. Huang, “Relay backpropagation for effective learning of deep convolutional neural networks,” in ECCV , 2016.

[75] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollár, and C. L. Zitnick, “Microsoft COCO: Common objects in context,” in ECCV , 2014.

[76] R. Girshick, I. Radosavovic, G. Gkioxari, P. Dollár, and K. He, “Detectron,” https://github.com/facebookresearch/detectron , 2018.

[77] D. Han, J. Kim, and J. Kim, “Deep pyramidal residual networks,” in CVPR , 2017.

[78] X. Zhang, Z. Li, C. C. Loy, and D. Lin, “Polynet: A pursuit of structural diversity in very deep networks,” in CVPR , 2017.

[79] E. D. Cubuk, B. Zoph, D. Mane, V. Vasudevan, and Q. V. Le, “Autoaugment: Learning augmentation policies from data,” arXiv preprint arXiv:1805.09501 , 2018.

[80] D. Mahajan, R. Girshick, V. Ramanathan, K. He, M. Paluri, Y. Li, A. Bharambe, and L. van der Maaten, “Exploring the limits of weakly supervised pretraining,” in ECCV , 2018.

[81] H. Lee, R. Grosse, R. Ranganath, and A. Y. Ng, “Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations,” in ICML , 2009.

[82] J. Yosinski, J. Clune, Y. Bengio, and H. Lipson, “How transferable are features in deep neural networks?” in Conference on Neural Information Processing Systems , 2014.

[83] A. S. Morcos, D. G. Barrett, N. C. Rabinowitz, and M. Botvinick, “On the importance of single directions for generalization,” in ICLR , 2018.

[84] J. Hu, L. Shen, S. Albanie, G. Sun, and A. Vedaldi, “Gather-excite: Exploiting feature context in convolutional neural networks,” in Conference on Neural Information Processing Systems , 2018.