论文的布景与贡献
问题与布景

由上咱们很想知道:
1️⃣ 神经网络是不是越深越好?
2️⃣ 为什么更深的神经网络更难去练习?
3️⃣ 残差学习结构为什么能够处理深网络练习的问题?
神经网络是不是越深越好?
前提是:神经网络的深度有什么用?

Vanishing/exploding gradients problem
臭名昭著的“vanishing or exploding gradients”

梯度问题的中心在于丢失函数核算的差错,经过求导的链式法则反向传播,举个比如,首要确认一个激活函数,然后从C动身依次往前求导,从最后的解析式能够看出,关键在于初始化网络权值以及丢失函数的导数值巨细。假如这两个东西乘积的绝对值比1小,网络越深整个梯度会以指数方式衰减直至梯度消失,反之则会指数爆炸。当然,处理这个问题的思路,便是选一个好的激活函数或者是改动权值。
事实上,从AlexNet开端,神经网络中就使用ReLU函数替换了Sigmoid,一起BN(Batch Normalization)层的参加,也基本处理了梯度消失/爆炸问题。(待会要讲的残差模块,其实也便是用了ReLU作为激活函数)
Degradation problem<层数越多越难以优化>


便是咱们甚至不要求,去优化深网络,能够保持这个恒等映射发挥恒等的作用从而防止深层网络的作用不升反降的退化现象产生,这便是咱们的方针。
主要贡献

ResNet办法结构
残差思维

首要,拟合函数或残差函数都是由SGD算法得到的,平整网络中F(x)需求将多个非线性层拟组成为期望得到的H(x),事实证明这件作业做不到。在ResNet网络中,拟合函数是残差函数即F(x)=H(X)-x,至于x直接由输入端树立Shortcut Connection传递到输出端,汇组成所需求的H(x)。
残差块

这儿的relu便是非线性激活函数,+号表明elment-wise addition是逐元素相乘,要求参与运算的两个对象尺寸相同

残差学习仅仅一个结构,使用能够很灵活。论文这个图,右边是一种有bottleneck结构,分别有3类卷积层,用于先降维再升维,能够降低核算复杂度,下方文字也显示是用在50、101层以及152层上面,比较深的网络中。另一种没有瓶颈结构的,是“basic block”。
网络架构


试验部分
在ImageNet上平整网络与ResNet比照


在CIFAR-10上平整网络与ResNet比照

比较不同配置的ResNet

分类使命的试验

在CIFAR-10上做分类使命时,比较精彩的点有:
1、Highway networks的层数从19升到32,错误率反而上升
2、ResNet110是该试验最好的模型网络
3、1202层有必定优化作用,但比较差
评述启示
Error face

基于2018年11月 《Visualizing the Loss Landscape of Neural Nets》
1、ResNet-20加不加Shortcut其实问题不是差很大
2、ResNet-56(no short)迅速恶化变得极端不光滑,添加了快捷衔接之后这个梯度作用就很不错
hypothesis

improve
Based on 何恺明 2016/6 《Identity Mappings in Deep Residual Networks》

