神经网络越深越难训练。我们提出了一个残差学习框架,以简化深层神经网络的训练。我们将层表示为参考层输入的学习残差函数。我们提供了全面的证据,表明这些残差网络更容易优化,并且可以从大幅增加的深度中获得准确性。在ImageNet数据集上,我们评估了152层的残差网络,它比VGG网络深8倍,但复杂性仍然较低。这些残差网络在ImageNet测试集上的误差达到了3.57%。这个结果在ILSVRC 2015分类任务中获得了第一名。我们还在CIFAR-10数据集上对100和1000层的神经网络进行了分析。表示的深度对于视觉识别任务至关重要。仅仅由于我们的深度表示,我们在COCO目标检测数据集上获得了28%的相对提升。深度残差网络作为我们提交给ILSVRC & COCO 2015比赛的基础单元,也让我们在ImageNet检测、ImageNet定位、COCO检测和COCO分割任务上获得了第一名。
图1. 20层和56层“普通”神经网络在CIFAR-10数据集上的训练误差(左)和测试误差(右)。网络越深,训练误差越大,测试误差也越大。
图2. 残差学习:一个构建块。
图3. 网络架构示例。左图:作为参考的VGG-19模型。中图:34层普通网络。右图:34层残差网络。
表1. 更多细节和其他变体。构建块显示在括号中,其中包含堆叠的块数。
图4. 在ImageNet数据集上的训练情况。细线表示训练误差,粗线表示验证误差。左:18层和34层普通网络。右:18层和34层残差网络。
表2. 在ImageNet验证集上的Top-1误差。与普通网络相比,这里的残差网络没有额外的参数。
表3. 在ImageNet验证集上的错误率。
表4. 在ImageNet验证集上单模型结果的错误率。
表 5. 集合错误率。
图5. 更深的残差函数。左图:ResNet-34 的构建块。右图:ResNet-50/101/152的“瓶颈”构建块。
表6. 在CIFAR-10测试集上的分类误差。
图6. 在CIFAR-10数据集上的训练及测试情况。虚线表示训练误差,粗线表示测试误差。左图:普通网络。中图:ResNets。右图:具有110和1202层的ResNet。
图7. 在CIFAR-10数据集上各层响应的标准差。上图:按原始层序排列。下图:按响应降序排列。
表7. 使用基线模型Faster R-CNN在PASCAL VOC 2007/2012测试集上的目标检测mAP。表8. 使用基线模型Faster R-CNN在COCO验证集上的目标检测mAP。
阅读原文:https://arxiv.org/pdf/1512.03385.pdf