内容摘要
增加深度网络的深度后,同时也会导致增加训练的难度。本文对此问题提出一个解决方案,也就是残差的学习框架。通过这个框架可以简化网络训练,但又可以适合在更深层次的网络使用。与过去传统的方法比较,这个方法是重新配置层为参考层并输入学习残差函数中,而不是只学习未参考的函数。通过研究和实验,这些残差网络更易于优化,且在增加深度的同时又可以获得其准确性。运用ImageNet的图像数据集,实现仅3.57%的误差。深度残差网也称为了ILSVRC和2015年的COCO的竞赛中,取得某些完成任务的第一名。
2.主要内容
(i)在卷积神经网络模型中,添加更多层会导致训练误差的提高,从而降低其准确性。如图1所示。
图1图1,带有20层和56层“普通”网络的CIFAR-10上的训练错误(左)和测试错误(右)。较深的网络具有较高的训练错误,从而导致测试错误的增加。这也就成为了模型训练退化问题。在本文中,通过引入深度残差学习框架来解决此退化问题。明确图层适合残差映射,而不是每个堆叠的层都直接适合所需的基础映射。形式上,将所需的基础映射表示为H(x),让堆叠的非线性层适合F(x):= H(x)− x的另一个映射。原始映射为F(x)+ x。假设优化残差映射比优化原始未引用映射要更容易。如果身份映射是最佳的,则将残差推到零比通过非线性层的堆栈拟合身份映射要容易。
图2图2所示,F (x) + x 可以通过前馈神经网络的”shortcut connections”(快捷连接)来实现,快捷连接是跳过一层或多层的连接。在这里,快捷方式连接仅执行身份映射,并将其输出添加到堆叠层的输出中(图2)。身份快捷连接既不会增加额外的参数,也不会增加计算复杂性。整个网络仍然可以通过SGD反向传播进行端到端训练,并且可以使用公共库(例如Caffe)轻松实现,而无需修改求解器。
作者同作在ImageNet 进行全面实验,以显示退化问题并评估其方法。实验证明:1)极深的残差网络易于优化,但是当深度增加时,对应的“普通”网络(简单地堆叠层)显示出更高的训练误差; 2)深层残差网络可以通过大大增加深度来轻松享受准确性的提高,所产生的结果比以前的网络要好得多。
在CIFAR-10集上也呈现出类似的结果,这表明优化困难和此方法的效果不仅针对于特定数据集而已。在这个数据集上成功地训练出了100多个层的模型,并探索了1000多个层的模型。
(ii)残差表示(Residual Representations)和快捷连接(Shortcut Connections)
A.残差表示
在图像识别中,VLAD 是通过相对于字典的残差矢量进行编码的表示,Fisher Vector 可公式化为VLAD的概率版本。两者都是图像检索和分类的有力的浅层表示。对于矢量量化,编码残差矢量比编码原始矢量更有效。在低级视觉和计算机图形学中,为了求解偏微分方程(PDE),广泛使用的Multigrid方法将系统重新形成为多个尺度的子问题,其中每个子问题都由残差负责。在较粗和较细的比例之间, Multigrid的另一种选择是分层基础预处理,它依赖于表示两个尺度之间残差向量的变量。由此可见,这些求解器的收敛速度比不知道解的剩余性质的标准求解器快很多。这些方法也说明了,良好的重构或预处理可以简化优化过程。
B.快捷连接
快捷连接的实践和理论已经有一段很长的时间了。由于训练多层感知器(MLP)的早期实践是添加从网络输入连接到输出的线性层。一些中间层直接连接到辅助分类器,以解决消失或爆炸梯度。 通过快速连接实现对层响应,梯度和传播误差进行居中的方法。在“起始”层由快捷分支和一些更深的分支组成。与“高速公路网络” 提供具有选通功能的快捷连接, 本文中提到的是不带参数的身份快捷方式相反,这些门取决于数据和参数。当封闭的快捷方式“关闭”(接近零)时,高速公路网络中的图层表示非残差功能。相反,公式1是学习残差函数。身份快捷方式永远不会关闭,所有信息始终都会通过传递,并需要学习其他残差功能。另外,高速公路网络还没有显示出深度极大增加(例如超过100层)的精度。
(iii)深度残差学习(Deep Residual Learning)
(1)残差学习
将H(x)视为由一些堆叠层(不一定是整个网络)拟合的基础映射,其中x表示这些层中第一层的输入。如果假设多个非线性层可以渐近逼近复杂函数2,那么就可以假设它们可以渐近逼近残差函数,即H(x)-x(假设输入和输出为尺寸相同)。因此,没有让堆叠的层近似为H(x),而是明确地让这些层近似为残差函数F(x):= H(x)-x。因此,原始函数变为F(x)+ x。尽管两种形式都应能够渐近地逼近所需的功能(如假设),但学习的难易程度可能有所不同。
这种重新定义是由与退化问题有关的违反直觉的现象引起的(如图1的左图所示)。如果可以将添加的层构造为身份映射,则较深的模型应具有不大于其较浅的对应部分的训练误差。退化问题是因为求解器可能难以通过多个非线性层来逼近身份映射。通过残差学习的重新公式化,如果身份映射是最佳的,则求解器可以简单地将多个非线性层的权重逼近零,以逼近身份映射。在实际情况下,身份映射是不可能的,但重新制定可能有助于解决问题。如果最优函数比零映射更接近于一个恒等式,那么求解器参考恒等式应更容易找到扰动,而不是学习一个新的函数。
(2)通过快捷方式进行身份映射
对每几个堆叠的层采用残差学习。构建块如图2所示
公式2这里的x和y是所考虑的层的输入和输出向量。函数F(x,{Wi})表示要学习的残差映射。对于图2中具有两层的示例,F =W2σ(W1x),其中σ表示ReLU,并且为了简化符号省略了偏置。 F + x操作通过快捷连接和逐元素加法执行。加法后我们采用第二个非线性度(即σ(y),见图2)。
公式2中的快捷连接既没有引入额外的参数,也没有引入计算的复杂性。为了公平地比较同时具有相同数量的参数,深度,宽度和计算成本的平原和残差网络(除了可以忽略的逐元素加法)。
如果x和F的维度不相同(例如, 当改变了输入或输出的通道),可通过快捷连接执行一个线性映射Ws来匹配两者之间的维度。那么公式就变为了公式3:
注:Ws仅在匹配维度时使用。
图3 是ImageNet的示例网络体系结构。左图:作为参考的VGG-19模型(196亿个FLOP)。中间:具有34个参数层(36亿个FLOP)的普通网络。右图:一个具有34个参数层的残差网络(36亿个FLOP)。虚线快捷方式会增加尺寸。表1显示了更多详细信息和其他变体。
表1 表2表2,ImageNet验证的最高的1个错误(%,进行10个裁剪测试)。 ResNet与普通的ResNet相比没有额外的参数。
图4图4表示在ImageNet上进行的训练。细曲线表示训练误差,粗曲线表示中心农作物的验证误差。左图:18和34层的普通网络。右图:18和34层的残差网络。在该图中,残差网络与普通网络相比没有额外的参数。
通过比较,普通网络出现了明显的退化问题,同时较高的层数也产生了更高的错误率。这种情况不是梯度消失造成的,而是因为BN层的存在,不存在信号消失的问题。残差网络在34层的结果比18层更优,且在验证集上也出现了较高的准确率。证明了这种设置解决了退化的问题。18层的普通网络和18层的残差网络的准确率差不多,但是残差网络的收敛更快。
(iii)CIFAR-10数据集的分析
CIFAR-10数据集,该数据集包含10个类别的50k训练图像和10k测试图像。本文的重点是极度深度的网络的行为,而不是推动最先进的结果,因此有意使用了如下的简单架构。
普通或残差体系结构遵循图3中的形式(中图/右图)。网络输入为32×32图像,每像素均值被减去。第一层是3×3的卷积。然后在大小分别为{32,16,8}的特征图中使用具有3×3卷积的6n层堆栈,每个特征图大小具有2n层。过滤器的数量分别为{16、32、64}。二次采样由步长为2的卷积执行。网络以全局平均池,10路全连接层和softmax结尾。总共有6n + 2个堆叠的加权层。下表总结了体系结构:
表3 表4表4:CIFAR-10测试集上的分类错误。所有方法都具有数据增强功能。对于ResNet-110(残差网络),将其运行5次并显示“最佳(平均值±标准差)。
A.层响应分析
响应是BN之后以及其他非线性(ReLU /加法)之前每个3×3层的输出。对于ResNet(残差网络),此分析揭示了残差函数的响应强度。残差函数通常可能比非残差函数更接近于零。同时更深的ResNet(残差网络)具有较小的响应范围,如图5中的ResNet-20、56和110之间的比较所证明。
图5B.大于1000层的深度模型的探究
在一个超过1000层的深度模型中,将n设置为200,从而得到1202层网络,该网络如上所述进行训练。优化良好,没有增加难度。该1000层网络能够实现训练误差<0.1%,其测试误差仍然相当不错(7.93%的测试误差)。
3. 总结+思考
为了解决增加深层带给深度卷积神经网络带来的退化和训练难度提高问题,作者提出了一种叫深度残差学习的概念。此方法不仅简化了训练难度,但又很好地得到其模型的训练准确度和最小的误差率。通过本文的学习,可以认为:
深度残差学习可以使超深度网络更能轻松地训练,并且不会因为深度的增加,减少其准确性。深度网络通过深度残差学习,可以很好的传递,并在ImageNet数据集上提供200+层级,和对CIFAR数据集上提供1000+层级。且此方法不受数据的特定所限制。
不过为了降低非常深的层而引起的计算成本,作者使用具有1 x 1卷积的瓶颈层来减少输入的特征图的数量。所以此方法在未来可待进一步探讨非更深入的卷积层。
【参考文献】Deep Residual Learning for Image Recognition by Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun
【原文链接】https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdf