《Deep Residual Learning for Image Recognition》------ResNet 经典网络论文研读
最近看STE-NVNAN的时候开始学习网络,使用pytorch
Abstract
更深层次的神经网络更难训练。我们提出了一个残差学习框架来简化网络的训练,这些网络比以前使用的网络要深刻得多。该框架使得层能根据其输入来学习残差函数而非原始函数(unreferenced functions)。我们提供了全面的经验证据表明,这些残差网络更容易优化,并可以获得精度从大幅增加的深度。在ImageNet数据集上,我们评估残差网络的深度为152层,比VGG网[40]深8倍,但仍然具有较低的复杂性。这些残差网的集合在ImageNet测试集上的误差达到3.57%,该结果在ILSVRC 2015分类任务中获得了第一名。我们还对CIFAR-10进行了100层和1000层的分析。
表达的深度在很多视觉识别任务中具有非常核心的重要性。仅仅由于我们的深度表示,我们在COCO对象检测数据集上获得了28%的相对改进。在2015 ILSVRC和COCO竞赛中,我们提交了大量的深度剩余子网,并在ImageNet检测、ImageNet定位、COCO检测和COCO分割等方面获得了第一名。
1.Introduction
深度卷积神经网络[22,21]在图像分类方面取得了一系列突破[21,49,39]。深度网络自然地以端到端多层的方式集成了低/中/高级别的特性[49]和分类器,并且特性的“级别”可以通过堆叠层的数量(深度)来丰富。最近的证据[40,43]表明,网络深度至关重要,在颇具挑战性的ImageNet数据集[35]上的主要结果[40,43,12,16]都使用了“非常深”的[40]模型,深度为16到30[16]。许多其他非琐碎的视觉识别任务[7,11,6,32,7]也从非常深入的模型中受益匪浅。
在深度的重要性的驱使下,出现了一个新的问题:训练一个更好的网络是否和堆叠更多的层一样简单呢?解决这一问题的障碍便是困扰人们很久的梯度消失/梯度爆炸,这从一开始便阻碍了模型的收敛。归一初始化(normalized initialization)和中间归一化(intermediate normalization)在很大程度上解决了这一问题,它使得数十层的网络在反向传播的随机梯度下降(SGD)上能够收敛。
当深层网络能够收敛时,一个退化问题又出现了:随着网络深度的增加,准确率达到饱和(不足为奇)然后迅速退化。意外的是,这种退化并不是由过拟合造成的,并且在一个合理的深度模型中增加更多的层却导致了更高的错误率,我们的实验也证明了这点。Fig.1展示了一个典型的例子。
3551/5000
(训练精度的降低)表明并不是所有的系统都同样容易优化。让我们考虑一个较浅的体系结构及其更深层的对应结构,它在上面添加了更多的层。通过构造更深层的模型,存在一个解决方案:添加的层是身份映射,其他层是从学习的更浅的模型中复制的。该构造解的存在表明,较深的模型不会比较浅的模型产生更大的训练误差。但实验表明,我们现有的求解器无法找到比构造的解更好或更好的解(或在可行时间内无法找到)。
在本文中,我们通过引入一个深度剩余学习框架来解决退化问题。我们不希望每个堆叠的层直接适合一个期望的底层映射,而是显式地让这些层适合一个剩余的映射。形式上,我们将期望的底层映射表示为H(x),让堆叠的非线性层适合F(x)的另一个映射:= H(x)−x。原始映射被重新映射为F(x)+x。我们假设优化剩余映射比优化原始的未引用映射更容易。在极端情况下,如果一个身份映射是最优的,那么将残差推到零要比通过一堆非线性层来适应一个身份映射更容易。
F(x) +x的表达式可以通过具有“快捷连接”的前馈神经网络来实现(图2)。快捷连接[2,33,48]是指跳过一个或多个层的连接。在我们的例子中,快捷连接只是简单地执行标识映射,它们的输出被添加到堆叠层的输出中(图2)。标识快捷连接既不增加额外的参数,也不增加计算复杂度。整个网络仍然可以通过SGD使用反向传播进行端到端训练,并且可以使用公共库(例如,Caffe[19])轻松实现,而无需修改解算器。
我们在ImageNet[35]上进行了综合实验,展示了降解问题,并对我们的方法进行了评价。结果表明:1)极深剩余网格易于优化,而相对的“纯”网格(简单的叠加层)在深度增加时训练误差较大;2)我们的深度残差网可以很容易地从深度的大幅增加中获得精度增益,产生的结果大大优于以前的网络。
类似的现象也出现在CIFAR-10 set[20]上,这表明优化的困难和我们的方法的效果不仅仅类似于特定的数据集。我们在此数据集上使用超过100层,探索超过1000层的模型。
在ImageNet分类数据集[35]上,我们通过极深剩余网得到了很好的结果。我们的152层残差网是迄今为止在ImageNet上出现的最深的网络,但仍然比VGG网的[40]复杂度低。我们的集合在ImageNet测试集的top-5 error中占3.57%,在2015 ILSVRC分类竞赛中获得第一名。极深表示在其他识别任务上也有很好的泛化性能,并带领我们在2015 ILSVRC & COCO竞赛中进一步获得了第一名:ImageNet检测、ImageNet定位、COCO检测、COCO分割。这一有力的证据表明,残差学习原理是通用的,我们希望它能适用于其他视觉和非视觉问题。