农企新闻网

一文简述ResNet及其多种变体

发布者:李悦
导读公用号:机器之心选自TowardsDataScience作者:Vincent Fung机器之心编译参与:邹俏也、路雪本文次要引见了 ResNet 架构,扼要论述了其近期成功的缘由,并引见了一些风趣的 ResNet 变体。在 AlexNet [1] 获得 LSVRC 2012 分类竞赛冠军之后,深度残差网络(Residual Network, 下文简写为 ResNet)[2] 可以说是过来几年中计算

公用号:机器之心

选自TowardsDataScience

作者:Vincent Fung

机器之心编译

参与:邹俏也、路雪

本文次要引见了 ResNet 架构,扼要论述了其近期成功的缘由,并引见了一些风趣的 ResNet 变体。

在 AlexNet [1] 获得 LSVRC 2012 分类竞赛冠军之后,深度残差网络(Residual Network, 下文简写为 ResNet)[2] 可以说是过来几年中计算机视觉和深度学习范畴最具创始性的任务。ResNet 使训练数百甚至数千层成为能够,且在这种状况下仍能展示出优越的功能。

因其弱小的表征才能,除图像分类以外,包括目的检测和人脸辨认在内的许多计算机视觉使用都失掉了功能提升。

自从 2015 年 ResNet 让人们刮目相看,研讨界的许多人在深化探究所其成功的机密,许多文献中对该模型做了一些改良。本文分为两局部,第一局部为不熟习 ResNet 的人提供一些背景知识,第二局部将引见我最近阅读的一些论文,关于 ResNet 的不同变体和对 ResNet 架构的了解。

重新审视 ResNet

依据泛迫近定理(universal approximation theorem),只需给定足够的容量,单层的前馈网络也足以表示任何函数。但是,该层能够十分庞大,网络和数据易呈现过拟合。因而,研讨界普遍以为网络架构需求更多层。

自 AlexNet 以来,最先进的 CNN 架构曾经越来越深。AlexNet 只要 5 个卷积层,而之后的 VGG 网络 [3] 和 GoogleNet(代号 Inception_v1)[4] 辨别有 19 层和 22 层。

但是,网络的深度提升不能经过层与层的复杂堆叠来完成。由于臭名远扬的梯度消逝成绩,深层网络很难训练。由于梯度反向传达到后面的层,反复相乘能够使梯度无量小。后果就是,随着网络的层数更深,其功能趋于饱和,甚至开端迅速下降。

一文简述ResNet及其多种变体
添加网络深度招致功能下降

在 ResNet 呈现之前有几种办法来应对梯度消逝成绩,例如 [4] 在两头层添加了一个辅佐损失作为额定的监视,但其中没有一种办法真正处理了这个成绩。

ResNet 的中心思想是引入一个所谓的「恒等快捷衔接」(identity shortcut connection),直接跳过一个或多个层,如下图所示:

一文简述ResNet及其多种变体
残差块

一文简述ResNet及其多种变体
ResNet 架构

[2] 的作者以为,堆叠层不应降低网络功能,由于我们可以复杂地在以后网络上堆叠恒等映射(该层不做任何事情),失掉的架构将执行相反的操作。这标明较深的模型所发生的训练误差不应该比拟浅的模型高。他们假定让堆叠层顺应残差映射比使它们直接顺应所需的底层映射要容易一些。上图中的残差块明白标明,它可以做到这一点。

现实上,ResNet 并不是第一个应用快捷衔接的模型,Highway Networks [5] 就引入了门控快捷衔接。这些参数化的门控制流经捷径(shortcut)的信息量。相似的想法可以在长短期记忆网络(LSTM)[6] 单元中找到,它运用参数化的遗忘门控制流向下一个工夫步的信息量。ResNet 可以被以为是 Highway Network 的一种特殊状况。

但是,实验后果标明 Highway Network 的功能并不比 ResNet 好,这有点奇异。Highway Network 的解空间包括 ResNet,因而它的功能至多应该和 ResNet 一样好。这标明,坚持这些「梯度高速路」(gradient highway)的疏通比获取更大的解空间更为重要。

依照这种思绪,[2] 的作者改良了残差块,并提出了一种残差块的预激活变体 [7],梯度可以在该模型中疏通无阻地经过疾速衔接抵达之前的恣意一层。现实上,运用 [2] 中的原始残差块训练一个 1202 层的 ResNet,其功能比 110 层的模型要差。

残差块的变体

[7] 的作者在其论文中经过实验标明,他们可以训练出 1001 层的深度 ResNet,且功能逾越较浅层的模型。他们的训练效果行之有效,因此 ResNet 迅速成为多种计算机视觉义务中最盛行的网络架构之一。

ResNet 的最新变体以及解读

随着 ResNet 在研讨界的不时普及,关于其架构的研讨也在不时深化。本节首先引见几种基于 ResNet 的新架构,然后引见一篇论文,从 ResNet 作为小型网络集合的角度停止解读。

ResNeXt

Xie et al. [8] 提出 ResNet 的一种变体 ResNeXt,它具有以下构建块:

一文简述ResNet及其多种变体
左:[2] 中 ResNet 的构建块;右:ResNeXt 的构建块,基数=32

ResNext 看起来和 [4] 中的 Inception 模块十分类似,它们都遵照了「联系-转换-兼并」的范式。不过在 ResNext 中,不同途径的输入经过相加兼并,而在 [4] 中它们是深度级联(depth concatenated)的。另外一个区别是,[4] 中的每一个途径互不相反(1×1、3×3 和 5×5 卷积),而在 ResNeXt 架构中,一切的途径都遵照相反的拓扑构造。

作者在论文中引入了一个叫作「基数」(cardinality)的超参数,指独立途径的数量,这提供了一种调整模型容量的新思绪。实验标明,经过扩展基数值(而不是深度或宽度),精确率失掉了高效提升。作者表示,与 Inception 相比,这个全新的架构更容易顺应新的数据集或义务,由于它只要一个复杂的范式和一个需求调整的超参数,而 Inception 需求调整很多超参数(比方每个途径的卷积层内核大小)。

这个全新的构造有三种等价方式:

在实践操作中,「联系-变换-兼并」范式通常经过「逐点分组卷积层」来完成,这个卷积层将输出的特征映射分红几组,并辨别执行正常的卷积操作,其输入被深度级联,然后馈送到一个 1×1 卷积层中。

密集衔接卷积神经网络

Huang 等人在论文 [9] 中提出一种新架构 DenseNet,进一步应用快捷衔接,将一切层直接衔接在一同。在这种新型架构中,每层的输出互联网思维,就是在(移动)互联网+、大数据、云计算等科技不断发展的背景下,对市场、用户、产品、企业价值链乃至对整个商业生态进行重新审视的思考方式。由一切之前层的特征映射组成,其输入将传输给每个后续层。这些特征映射经过深度级联聚合。

一文简述ResNet及其多种变体

除理解决梯度消逝成绩,[8] 的作者称这个架构还支持特征重用,使得网络具有更高的参数效率。一个复杂的解释是,在论文 [2] 和论文 [7] 中,恒等映射的输入被添加到下一个模块,假如两个层的特征映射有着十分不同的散布,那么这能够会障碍信息流。因而,级联特征映射可以保存一切特征映射并添加输入的方差,从而促进特征重用。


遵照该范式,我们晓得第 l 层将具有 k *(l-1)+ k_0 个输出特征映射,其中 k_0 是输出图像的通道数目。作者运用一个叫作「增长率」的超参数 (k) 避免网络过宽,他们还用了一个 1*1 的卷积瓶颈层,在昂贵的 3*3 卷积前增加特征映射的数量。全体架构如下表所示:

  • 用于 ImageNet 的 DenseNet 架构

深度随机的深度网络

虽然 ResNet 的弱小功能在很多使用中曾经失掉了证明,但它存在一个明显缺陷:深层网络通常需求停止数周的训练工夫。因而,把它使用在实践场景的本钱十分高。为理解决这个成绩,G. Huang 等作者在论文 [10] 中引入了一种反直觉的办法,即在训练进程中随机丢弃一些层,测试中运用完好的网络。

作者运用残差块作为他们网络的构建块。因而在训练时期,当特定的残差块被启用,它的输出就会同时流经恒等快捷衔接和权重层;否则,就只流过恒等快捷衔接。训练时,每层都有一个「生活概率」,每层都有能够被随机丢弃。在测试工夫内,一切的块都坚持被激活形态,并依据其生活概率停止重新校准。

从方式下去看,H_l 是第 l 个残差块的输入后果,f_l 是由第 l 个残差块的加权映射所决议的映射,b_l 是一个伯努利随机变量(用 1 或 0 反映该块能否被激活)。在训练中:

当 b_l=1 时,该块为正常的残差块;当 b_l=0 时,上述公式为:

既然我们曾经晓得了 H_(l-1) 是 ReLU 的输入,而且这个输入后果曾经是非负的,所以上述方程可简化为将输出传递到下一层的 identity 层:

令 p_l 表示是第 l 层在训练中的生活概率,在测试进程中,我们失掉:

作者将线性衰减规律使用于每一层的生活概率,他们表示,由于较早的层提取的低级特征会被前面的层运用,所以不应频繁丢弃较早的层。这样,规则就变成:

其中 L 表示块的总数,因而 p_L 就是最初一个残差块的生活概率,在整个实验中 p_L 恒为 0.5。请留意,在该设置中,输出被视为第一层 (l=0),所以第一层永远不会被丢弃。随机深度训练的全体框架如下图所示:

训练进程中,每一层都有一个生活概率

与 Dropout [11] 相似,训练随机深度的深度网络可被视为训练许多较小 ResNet 的集合。不同之处在于,上述办法随机丢弃一个层,而 Dropout 在训练中只丢弃一层中的局部隐藏单元。

实验标明,异样是训练一个 110 层的 ResNet,随机深度训练出的网络比固定深度的功能要好,同时大大增加了训练工夫。这意味着 ResNet 中的一些层(途径)能够是冗余的。

作为小型网络集合的 ResNet

[10] 提出一种反直觉的办法,即在训练中随机丢弃网络层,并在测试中运用完好的网络。[14] 引见了一种愈加反直觉的办法:我们实践上可以删除已训练 ResNet 的局部层,但依然坚持绝对不错的功能。[14] 还用异样的方式移除 VGG 网络的局部层,其功能明显降低,这使得 ResNet 架构愈加风趣。

[14] 首先引见了一个 ResNet 的分解图来使讨论愈加明晰。在我们展开网络架构之后,很分明发现,一个有着 i 个残差块的 ResNet 架构有 2**i 个不同途径(由于每个残差块提供两个独立途径)。

依据上述发现,显然移除 ResNet 架构中的局部层对其功能影响不大,由于架构具有许多独立无效的途径,在移除了局部层之后大局部途径依然坚持完好无损。相反,VGG 网络只要一条无效途径,因而移除一个层会对该层的独一途径发生影响。(如 [14] 中的实验所提醒的。)

作者的另一个实验标明,ResNet 中不同途径的集合有相似集成的行为。他们在测试时删除不同数量的层,测试网络功能与删除层的数量能否平滑相关。后果标明,网络行为的确相似集成,如下图所示:

当被删除的层数添加时,误差值随之增长

最终,作者研讨了 ResNet 中途径的特征:

很分明,途径的能够长度散布遵照二项散布,如下图 (a) 所示。大少数途径流经 19 到 35 个残差块。

为了研讨途径长度与经过途径的梯度大小之间的关系,失掉长度为 k 的途径的梯度大小,作者首先向网络输出了一批数据,并随机采样 k 个残差块。当梯度被反向传达时,它们在采样残差块中仅经过权重层停止传达。(b) 标明随着途径长度的添加,梯度大小迅速下降。

如今将每个途径长度的频率与其希冀的梯度大小相乘,以理解每个长度的途径在训练中起到多大作用,如图 (c) 所示。令人诧异的是,大少数奉献来自于长度为 9 到 18 的途径,但它们只占一切途径的一小局部,如 (a) 所示。这是一个十分风趣的发现,它标明 ResNet 并没有处理长途径的梯度消逝成绩,而是经过延长无效途径的长度训练十分深层的 ResNet 网络。

结论

本文次要引见了 ResNet 架构,扼要论述了其近期成功的缘由,并引见了几篇论文,它们叙说了一些风趣的 ResNet 变体,或提供了富有洞察力的解释。希望这篇文章有助于大家了解这项创始性的任务。

本文一切的图表均来自于参考文献中的原始论文。

References:

[1]. A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems,pages1097–1105,2012.
[2]. K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. arXiv preprint arXiv:1512.03385,2015.
[3]. K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556,2014.
[4]. C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,pages 1–9,2015.
[5]. R. Srivastava, K. Greff and J. Schmidhuber. Training Very Deep Networks. arXiv preprint arXiv:1507.06228v2,2015.
[6]. S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Comput., 9(8):1735–1780, Nov. 1997.
[7]. K. He, X. Zhang, S. Ren, and J. Sun. Identity Mappings in Deep Residual Networks. arXiv preprint arXiv:1603.05027v3,2016.
[8]. S. Xie, R. Girshick, P. Dollar, Z. Tu and K. He. Aggregated Residual Transformations for Deep Neural Networks. arXiv preprint arXiv:1611.05431v1,2016.
[9]. G. Huang, Z. Liu, K. Q. Weinberger and L. Maaten. Densely Connected Convolutional Networks. arXiv:1608.06993v3,2016.
[10]. G. Huang, Y. Sun, Z. Liu, D. Sedra and K. Q. Weinberger. Deep Networks with Stochastic Depth. arXiv:1603.09382v3,2016.
[11]. N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever and R. Salakhutdinov. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. The Journal of Machine Learning Research 15(1) (2014) 1929–1958.
[12]. A. Veit, M. Wilber and S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. arXiv:1605.06431v2,2016.

原文链接:https://towardsdatascience.com/an-overview-of-resnet-and-its-variants-5281e2f56035