论⽂阅读笔记:深度残差⽹络:DeepResidualLearning
论⽂阅读笔记:深度残差⽹络:Deep Residual Learning
本⽂主要包含如下内容:
论⽂来⾃微软 Kaiming He 何恺明,是2016的CVPR
主要思想
论⽂利⽤信號叠加合并的優點,解決了超深度CNN網絡訓練問題。提出了⼀个 deep residual learning 框架来解决这种因为深度增加⽽导致性能下降问题。
残差⽹络 Residual networks 赢得了 ImageNet 的 detection, localization, 以及COCO数据集上的 detection 和 gmentation 的第⼀名。
现阶段⽹络存在的问题
越深的⽹络效果越好,但是随着⽹络层数的增加,问题随之⽽来:⾸先,梯度的消失和发散 vanishing/exploding gradients,导致训练难以收敛。但是随着 normalized initialization [23, 9, 37, 13] 和 intermediate normalization layers[16] 的提出,这个问题得到解决。
其次,随着⽹络深度的增加,在系统精度得到饱和之后,精度迅速下降。对⼀个合适深度的模型加⼊额外的层数反⽽会导致训练误差变⼤。因为训练误差也会随着深度增加⽽增⼤。
⽹络结构
那么,如果我们增加的层数可以构建为⼀个 identity mappings,那么增加层数后的⽹络训练误差应该不会增加。这⾥我们提出⼀个deep residual learning 框架来解决这种因为深度增加⽽导致性能下降
问题。 假设我们期望的⽹络层关系映射为 H(x), 我们让 the stacked nonlinear layers 拟合另⼀个映射, F(x):= H(x)-x , 那么原先的映射就是 F(x)+x。 这⾥我们假设优化残差映射F(x) ⽐优化原来的映射 H(x)容易。
思想:“假如⽬前有⼀个可以⼯作的很好的⽹络A,这时来了⼀个⽐它更深的⽹络B,只需要让B的前⼀部分与A完全相同,后⼀部分只实现⼀个恒等映射,这样B最起码能获得与A相同的性能,⽽不⾄于更差。深度残差学习的思想也由此⽽产⽣,既然B后⾯的部分完成的是恒等映射,何不在训练⽹络的时候加上这⼀先验,于是构造⽹络的时候加⼊了shortcut连接,即每层的输出不是传统神经⽹络当中
输⼊的映射,⽽是映射和输⼊的叠加”
该⽹络结构受 VGG ⽹络的启发,设计思路:对于相同输出特征图尺⼨,卷积层有相同个数的滤波器;如果特征图尺⼨缩⼩⼀半,滤波器个数加倍以保持每个层的计算复杂度。通过步长为2的卷积来进⾏降采样。⼀共34个权重层。 (全卷积⽹络 FCN)
实验结果
实验结果表明,残差⽹络有利的解决了随着深度的增加,⽹络精度反⽽进⼀步降低的问题。该⽹络能够随着⽹络深度的增加进⼀步提⾼⽹络的精度。
在数据集 CIFAR-10 上,残差⽹络展现了最好的结果。
实验结果表明,在数据集 PASCAL VOC 和 COCO,针对分类任务和检测任务,残差⽹络都有较好的表现。