残差网络 ResNet 为什么能训练出1000层的模型 动手学深度学习v2
Posted AI架构师易筋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了残差网络 ResNet 为什么能训练出1000层的模型 动手学深度学习v2相关的知识,希望对你有一定的参考价值。
1. 残差网络 ResNet
假设你在CNN卷积神经网络中只了解一个什么网络,那就是残差网络 ResNet。ResNet 是一个很简单,也很有用的网络。
增加更多的层总是改进精度吗?不一样,比如左边的图F6比F3,距离目标函数f*更远,所以效果是更差的。
残差块 f(x) = x + g(x)
https://cv.gluon.ai/model_zoo/classification.html
2. 代码实现
10个epoch,train acc 0.996, test acc 0.885
3. ResNet为什么能训练出1000层的模型
因为乘法会使得梯度消失或者梯度爆炸;假设都能控制成梯度消失,ResNet就是把累积乘法变成了加法,解决了梯度消失的问题。
4. Q&A
-
- 残差网络ResNet
f(x) = x + g(x)
, 如果g(x)
对网络训练是变化的,不是减弱了这个效果么? 是的,残差网络ResNet是保证深的神经网络下,不会变差。
- 残差网络ResNet
-
- 为什么ImageNet不能达到测试准确率100%。 因为 ImageNet中的测试集,有一些label是错的。
5. 第二部分完结竞赛:图片分类
竞赛地址:https://www.kaggle.com/c/classify-leaves
参考
https://www.bilibili.com/video/BV1bV41177ap?p=1
以上是关于残差网络 ResNet 为什么能训练出1000层的模型 动手学深度学习v2的主要内容,如果未能解决你的问题,请参考以下文章