赞
踩
本文参考的论文
Deep Residual Learning for Image Recognition
Identity Mappings in Deep Residual Networks
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
Wide Residual Networks
**
**
近日,看了Kaiming He的残差网络,让人有种焕然一新的感觉。Deep Residual Learning for Image Recognition是CVPR2016 Best Paper。Kaiming He在CVPR2009也获得Best Paper, 相比大牛,简直自惭形秽。
1、问题提出
在构造深度网络的时候,人们遇到一个奇怪的现象,叫做网络退化。所谓的网络退化,是指在增加层数之后,网络的表达能力增强,可是训练精度却下降了。下图表示了网络退化。注意,这并不是overfit的原因,因为训练精度也随网络层数增加而降低。
于是他提出如下的假设:如果增加的层能够构建与上一层一样的输出,那么该增加一层的网络训练精度应该大于等于原来的网络的训练精度。简单的叠加网络可能学习重构(identity mapping)有一定困难。那么如果我们让网络学习残差会如何呢?
2、残差模型
Residual Network的基本结构如下图
在此模型中,由于x直接连接到下一层,没有任何参数,即网络学习到的是F(x)。
3、实验结果
由下图可见,残差模型的训练和测试精度有有明显的提升。
在ImageNet上获得了state-of-the-art结果。同时,在其他数据集以及检测定位等实验中也取得了很好的效果。
4、结论
1)深层残差比浅层残差好 (待商榷,因为有一篇Wide Residual Networks)
2)残差比非残差效果好
3)残差收敛快
5、个人感慨
如此简单而又漂亮的结构与假设,足够获得CVPR Best Paper了。能够观察出退化现象,并作出精妙的假设,厉害啊!跑这样的实验,需要足够的GPU,做够的人去做。现在的瓶颈貌似是硬件了。。。
**
**
改变了ReLU和BN的顺序
Conv->BN->ReLU ====>>>> BN->ReLU->Conv
然后效果就又提升了。。。
我不知道为什么,一定是实验做多了。
**
**
这篇文章将残差用于Inception-v3,提出了Inception-v4模型,又取得了State-of-the-art result
**
**
在深度残差模型中,可能只有一部分的residual block学到了有用的东西,而另一部分只是单纯的复制input到output,因而可以减少层数。下图是他做的改变
他把kernel size变大(变宽),增加了dropout。实验结果达到了深度残差的精度,而他最多只用了40层。因而也不能说越深越好。
另一个值得关注的是他的计算速度比Kaiming He的速度快,这个是此网络的另一重要优势。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。