ResNet到底深不深?

上海站 | 高性能计算之GPU CUDA培训

4月13-15日 ResNet到底深不深?_第1张图片三天密集式学习  快速带你晋级 阅读全文 >


正文共1143个字,4张图,预计阅读时间3分钟。


今年5月份的时候,Cornell University的几个人研究了ResNet,发现它所谓的“超深网络”只是个噱头,文章如下:


Residual Networks are Exponential Ensembles of Relatively Shallow Networks


文章的主题是:


A residual network is not a single ultra-deep network, but instead is a very large implicit ensemble of many networks.


意思是ResNet并不深,它本质上是一堆浅层网络的集合。


这不是打Kaiming He的脸吗?Kaiming He肯定看了这篇文章,不知道心里会想什么,没找到他的回应。


然后作者就分析了ResNet的网络结构,如下图:

ResNet到底深不深?_第2张图片

ResNet展开形式


意思是说,一个拥有三个block的ResNet可以展开为上右图的形式,仔细琢磨琢磨,还真是这么回事儿。ResNet就像是搭积木,在一个主干网络的旁路上,插入了各种各样的积木网络,这种网络集合的效果类似于Dropout,或者更恰当的说, 类似于多个网络的ensemble形态,所以精度很高。


为了佐证“ResNet并不深”的这个观点,作者就把ResNet拆了,分析了不完整网络的识别精度(去掉某个block),如下图:


ResNet到底深不深?_第3张图片

网络不完整性测试


果然不出作者所料,少个block对网络影响甚微,这就好比一堵墙拆个砖头也不至于塌掉。与之相比,VGGNet如果去点东西,识别率惨不忍睹,因为ResNet是多线的,而VGG是单线的。


看下图就明白了:


ResNet到底深不深?_第4张图片

单线和多线网络


多线网络里,把f2 block删了,网络还是通的,但如果把单线网络的f2删了,网络就断了。


另外还得说一下,ResNet并没有解决训练梯度消散的问题,它的主干网的反向梯度依然随着深度增大而变得越来越小,只不过ResNet有很多 identity skip connection,这些 connection 能把梯度原封不动的反向传回去,从而掩盖了梯度消散问题。


最后,继网络的“深度”和“宽度”两项指标之后,作者根据网络包含的“子网络”数量,提出了一个新指标——multiplicity。新指标是很隐蔽的,不容易分析,期待作者的下一篇论文。


感想


随着神经网络研究的加深,感觉人类正在逐渐解开生物神经网络的面纱。Andreas Veit提出的新指标——multiplicity,似乎与人类神经网络有脱不开的干系,或许人脑就是利用多个“子网络”搭出一个复杂的网络,它有主干,有旁支,有各种复杂的东西。简单的前向网络和回环网络还是太简单,还是需要更复杂的结构才能得到更好的效果。


原文链接:https://www.jianshu.com/p/b724411571ab


查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org


请关注人工智能LeadAI公众号,查看更多专业文章

ResNet到底深不深?_第5张图片

大家都在看

640.png?

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

你可能感兴趣的:(ResNet到底深不深?)