关于残差网络Resnet的理解
来源:互联网 发布:java vr开发入门 编辑:程序博客网 时间:2024/05/06 04:33
Deep Residual Learning for Image Recognition 这篇论文已很有名
参考了大家阅读后的看法http://www.jianshu.com/p/e58437f39f65,也想聊聊自己阅读后的理解
网络深度是影响深度卷积神经网络性能的一大因素,但是研究者发现当网络不断加深时,训练的结果并不好。这不是因为过拟合,因为过拟合的话应该是训练集上结果好,测试集不好,但深度网络出现的现象是训练集上的效果就不好。而且这种现象还会随着深度加深而变差。这并不符合逻辑,因为深层网络在训练时,可以是在浅层网络的函数上加上一个恒等变换。而深层网络显然没有把这种恒等变换学习到。因此,提出了Resnet。
网络结构是有好多个block组成,每个block的构成如下图,加入了一个shortcut connections 从函数上来看就是加入了一个恒等变换。
从正向传播上来看,引入恒等变换可以使网络参数调整作用更大。这个地方引用下知乎上一个特别好的回答(http://www.jianshu.com/p/e58437f39f65)
“F是求和前网络映射,H是从输入到求和后的网络映射。比如把5映射到5.1,那么引入残差前是F'(5)=5.1,引入残差后是H(5)=5.1, H(5)=F(5)+5, F(5)=0.1。这里的F'和F都表示网络参数映射,引入残差后的映射对输出的变化更敏感。比如s输出从5.1变到5.2,映射F'的输出增加了1/51=2%,而对于残差结构输出从5.1到5.2,映射F是从0.1到0.2,增加了100%。明显后者输出变化对权重的调整作用更大,所以效果更好。残差的思想都是去掉相同的主体部分,从而突出微小的变化,看到残差网络我第一反应就是差分放大器”
这位朋友的回答我觉得很形象。
那么什么是更敏感,我觉得从反向传播上来看就是“梯度消失现象得以解决”。梯度是用来更新权值参数以使网络拟合的更好的,用误差项来求得,而误差项表征的其实就是对网络损失值的敏感程度(我是这么理解的)。所以说,加入了一个short connections 从反向传播上,给误差项来了一个直接向前面层的传播并相加,缓解了梯度的减小问题。从而解决了梯度消失。
- 关于残差网络Resnet的理解
- ResNet残差网络的理解
- ResNet残差网络
- 残差网络resnet
- 深度残差网络:ResNet
- 深度残差网络 ResNet
- 残差网络resnet学习
- 残差网络resnet学习
- 残差网络resnet学习
- tensorflow搭建自己的残差网络(ResNet)
- 残差resnet网络原理详解
- 深度残差网络(ResNet)浅析
- 深度残差网络(ResNet)浅析
- 残差网络的理解
- 从零开始搭建 ResNet 之 残差网络(持续更新)
- 对ResNet的理解
- 对ResNet的理解
- ResNet, AlexNet, VGG, Inception: 理解各种卷积网络的结构
- java复制数组的四种方法
- HDOJ_1004这个题做了好久
- HDU 6038 (2017 多校训练赛1 1006) Function(图论)
- gitlab如何删除一个项目
- Android 一天搞定 NDK和JNI编程 3分钟学会写NDK实例
- 关于残差网络Resnet的理解
- HDU 3068 2017 Multi-University Training Contest
- _CrtIsValidHeapPointer出错的解决方法
- FileReader图片预览上传
- java IO序列化—纯个人见解
- [bzoj4241]历史研究 回滚莫队
- Python中的SyntaxError错误之can't decode bytes in...
- Nginx定义域名访问
- GET,POST,PUT,DELETE的区别