论文的布景与贡献

问题与布景

图像识别的深度残差学习 Kaiming He 2015.12
摘要前三句开宗明义,榜首,深的神经网络很难练习;第二,提出一个残差学习结构ResNet;然后进一步解释,经过将神经网络的层拟组成一个基于输入的残差函数,而非像传统一样直接经过学习一个无参阅函数(unreferenced function)。

由上咱们很想知道:

1️⃣ 神经网络是不是越深越好?

2️⃣ 为什么更深的神经网络更难去练习?

3️⃣ 残差学习结构为什么能够处理深网络练习的问题?

神经网络是不是越深越好?

前提是:神经网络的深度有什么用?

图像识别的深度残差学习 Kaiming He 2015.12
首要,更深能够更好地拟合特征,其次便是将大使命拆分成小使命,每一层做的作业更容易。关于深度卷积网络,在必定程度上越深,提取出来的特征越多,表达抽象的能力越强。

Vanishing/exploding gradients problem

臭名昭著的“vanishing or exploding gradients”

图像识别的深度残差学习 Kaiming He 2015.12
这张图简略展现了,网络的加深确实会带来性能的增强。可是看试验也知道7层和8层之间就没有多大区别了。问题可能便是梯度消失或者爆炸。

yi=(zi)=(wixi+bi)∂C∂b1=∂C∂y4′(z4)w4′(z3)w3′(z2)w2′(z1)y_i=\sigma (z_i)=\sigma (w_ix_i+b_i) \newline \frac{\partial C}{\partial b_1}= \frac{\partial C}{\partial y_4}\sigma ‘(z_4)w_4\sigma ‘(z_3)w_3\sigma ‘(z_2)w_2\sigma ‘(z_1)

梯度问题的中心在于丢失函数核算的差错,经过求导的链式法则反向传播,举个比如,首要确认一个激活函数,然后从C动身依次往前求导,从最后的解析式能够看出,关键在于初始化网络权值以及丢失函数的导数值巨细。假如这两个东西乘积的绝对值比1小,网络越深整个梯度会以指数方式衰减直至梯度消失,反之则会指数爆炸。当然,处理这个问题的思路,便是选一个好的激活函数或者是改动权值。

事实上,从AlexNet开端,神经网络中就使用ReLU函数替换了Sigmoid,一起BN(Batch Normalization)层的参加,也基本处理了梯度消失/爆炸问题。(待会要讲的残差模块,其实也便是用了ReLU作为激活函数)

Degradation problem<层数越多越难以优化>

图像识别的深度残差学习 Kaiming He 2015.12
本文处理的问题主要是退化问题,degradation problem,也便是跟着网络更深,精度过饱和之后会迅速退化。举个比如,便是过拟合中练习差错很小可是测验差错很大退化则是练习差错变大并且测验差错也很大

图像识别的深度残差学习 Kaiming He 2015.12
这张图便是个典型比如。依照道理来讲,56层网络的前20层的结构完全是从这儿的20-layers参数copy过来的,后续参加恒等映射层,在这种情况下,咱们不要求更好但至少要同等作用。但实际上出现了退化

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

主要贡献

图像识别的深度残差学习 Kaiming He 2015.12

ResNet办法结构

残差思维

图像识别的深度残差学习 Kaiming He 2015.12

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

残差块

图像识别的深度残差学习 Kaiming He 2015.12
学习方才的残差思维,以2层为比如,经过2层非线性网络拟合残差函数F(x),再经过外围的x identity,这是一个没有添加任何额外参数的恒等映射,也便是shortcut。

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

图像识别的深度残差学习 Kaiming He 2015.12

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

网络架构

图像识别的深度残差学习 Kaiming He 2015.12

图像识别的深度残差学习 Kaiming He 2015.12

试验部分

在ImageNet上平整网络与ResNet比照

图像识别的深度残差学习 Kaiming He 2015.12

图像识别的深度残差学习 Kaiming He 2015.12
关于Plain Net,深层网络差错大于浅层网络;而关于ResNet,深层网络差错小于浅层网络。除此之外,很明显看出残差衔接的有效性能。

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

图像识别的深度残差学习 Kaiming He 2015.12
该作业在CIFAR-10数据集上统计了平整网络和残差网络的3×3卷积输出的标准差,从图中能够看出残差网络的输出标准差会小于平整网络。(刚开端咱们意图是为了做一个恒等映射,现在发现残差衔接反而能够进一步练习优化神网络模型)

比较不同配置的ResNet

图像识别的深度残差学习 Kaiming He 2015.12

分类使命的试验

图像识别的深度残差学习 Kaiming He 2015.12
Highway networks也是使用了带门函数的shortcut可是是需求参数的(与ResNet不同),当门函数的shortcut关闭后能够相当于没有了残差函数。

在CIFAR-10上做分类使命时,比较精彩的点有:

1、Highway networks的层数从19升到32,错误率反而上升

2、ResNet110是该试验最好的模型网络

3、1202层有必定优化作用,但比较差

评述启示

Error face

图像识别的深度残差学习 Kaiming He 2015.12

基于2018年11月 《Visualizing the Loss Landscape of Neural Nets》

1、ResNet-20加不加Shortcut其实问题不是差很大

2、ResNet-56(no short)迅速恶化变得极端不光滑,添加了快捷衔接之后这个梯度作用就很不错

hypothesis

图像识别的深度残差学习 Kaiming He 2015.12

improve

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

图像识别的深度残差学习 Kaiming He 2015.12

图像识别的深度残差学习 Kaiming He 2015.12