Resnet学习总结

1、简介:
ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名,因为它“简单与实用”并存,之后很多方法都建立在ResNet50或者ResNet101的基础上完成的,检测,分割,识别等领域都纷纷使用ResNet,Alpha zero也使用了ResNet,所以可见ResNet确实很好用。

2、深度网络的好处
(1)特征的“等级”随着网络深度的增加而变高
(2)极其深的网络使该网络拥有极强大的表达能力

3、深度网络存在的问题
(1)梯度消失(或者梯度爆炸)
(2)退化问题:层数更深的网络反而有更高的训练误差

这里解释下(2),下图是8层平原网络,假设我们通过迭代,在前面的6层就已经到达最优了,那么对于第7和第8层,其实不需要,我们就想让他成为恒等的网络,即从第6层的输出和第8层的输出值一样。我们自然认为这样的网络不管后面加多少的层数,只要是恒等层,也即w均为1时,误差会和只有6层的值一样。------然而,通过实验却发现,网络自己在训练的时候是不可能做到将w学习为1,随着层数的增加,误差是越来越大的,所以这种现象被称为-----退化问题。
Resnet学习总结_第1张图片
Resnet学习总结_第2张图片
4、怎么解决深度网络存在的两个问题
既然我们可能使用深度的网络,后面的层数可能不会学习w=1,那么我们能不能跳过后面的层数呢?
所以提出了残差的结构:Resnet学习总结_第3张图片
这里我们增加了一个shortcut,最开始我们想跳过不需要的层,即让H(x) = x,而现在呢,我们网络层数不确定,使用了深度网络F(x),让输入x直接跳过F(x)并与F(x)相加,所以,F(x) = H(x) - x,拟合目标变成使F(x)趋近于0,这样可以使的网络训练更容易一些。

5、残差网络怎么解决前面提到的两个问题
(1)解决梯度消失
Resnet学习总结_第4张图片
(2)退化问题,通过实验证明
Resnet学习总结_第5张图片

你可能感兴趣的:(AI)