
 论文地址:https://arxiv.org/abs/1512.03385
摘要
重新定义了网络的学习方式
让网络直接学习输入信息与输出信息的差异(即残差)
比赛第一名
1 介绍
不同级别的特征可以通过网络堆叠的方式来进行丰富
梯度爆炸、梯度消失解决办法:
    1.网络参数的初始标准化
    2.网络中间层的标准化(BN)
退化的解决办法:
    残差模块
    shortcut可以跳过一层或者多次来进行实现恒等映射,且没有增加额外的参数,也没有增加计算的复杂度
    ResNet复杂度比VGG-16要低

2 相关工作
    residual representations:
    shortcut connections:不带门功能
3 深度残差学习
3.1 残差学习
        残差函数 F(x)=H(x)-x
        很难将非线性的层训练成恒等映射
        但是在残差的框架下,如果恒等映射是最优的结果,那么网络只需要让新增加的非线性层的权重变为0,即可达到拟合恒等映射的目的。
        在实际的例子中,恒等映射或许不是最优的结果,但是却有助于解决训练退化的问题。(至少不会变差)
3.2 shortcut实现identity mapping
        y=F(x,{Wi})+x
        解决x和F(x)维度不一样的问题:
        y=F(x,{Wi})+Ws*x (这种方法叫投影映射,会带来额外的参数和计算量)
3.3 网络结构
      普通网络:
      残差网络:
            维度增加:
                      (A) 新增的维度用0代替(zero-padding)
                      (B) 线性投影(通过1x1卷积实现,会带来额外的参数和计算量)
           尺寸不一致:
                      使用stridr=2的卷积来让他们统一。(下采样的一种,会带来额外的参数和计算量)

3.4 部署
                    在卷积和激活之间添加了BN(方差偏移)
                    SGD优化器
                     mini-batch size=256
                    learning rate=0.1( The learning rate starts from 0.1 and is divided by 10 when the error plateaus)
                     momentum=0.9
                    没有使用dropout(与BN不兼容)
4 实验
4.1 ImageNet分类
                     训练集:128万
                     验证集:5万
                     测试:10万
                     普通网络:
                               观测到训练退化的问题:
                                                  34层网络比18层网络有更高的训练误差
                               这种退化现象不太可能是由梯度消失引起的:
                                               因为BN的使用,所以前向传播的过程中不会出现0方差的问题
                                               因为BN的使用,反向传播的过程中所展示出现的梯度也是健康的
                               猜测是由于更深的普通网络就是有指数级的更低的收敛速度。(有待验证)
                     残差网络:
                           18层 34层
                            对应增加的维度,使用0进行填充(方案A),所以相对于普通网络,没有增加新的参数
                            发现:32层残差网络展示了相当低的训练误差,并且可以泛化到验证集
                             说明:残差网络结构可以解决退化问题
                     恒等映射VS投影映射:
                               投影映射并不能在本质上解决退化的问题,而且引入了新的参数。所以为了减少内存使用,时间的复杂度和模型的大小,选择主要使用恒等映射(parameter-free),维度增加时,使用0进行填充。
                   更深的瓶颈结构:
                                无参数的恒等映射对应瓶颈结构来说尤其重要,轻量化。
                   50层残差结构:
                   101层和152层残差结构:
                   和其他先进的方法比:

 
4.2 CIFAR-10数据集测试和分析
                 层响应分析
                 开发大于1000层的网络
4.3 在PASCAL和MS coco上的目标检测
                在其他的识别任务上也有很好的泛化能力。
                比赛第一名



















