Paper:Inception-V4,Inception-ResNet and the Impact of Residual connections on Learing
作者:Christian Szegedy
亮点:Google自研的Inception-v3与何恺明的残差神经网络有相近的性能,v4版本通过将残差连接的思想引入v3,也就是Inception-ResNet网络来提升卷积神经网络的性能。
学号:20200318028
Finish:paper-4
1.Inception一词从何而来,内部结构如何?
谷歌制作的Inception Network神经网络最初提出时深度是比较可以了,有个电影叫盗梦空间讲的是关于人类做梦的现象,正好也比较应景,所以就叫Inception==‘盗梦空间’,网络的结构即由此得名,这个网络的结构以及其中的用到的Inception block如图2所示。
Incetion block作者给与的解释是,既然大家在争论卷积核的尺寸,那干脆就都并联起来,同时用上,而之所以在3*3卷积核之前用一层1*1的conv,目的是为了减少参数,相对于直接使用3*3的卷积参数减少为原来的1/(Kernel-size)^2,也就是卷积核尺寸的平方分之一,这种技术就叫深度可分离卷积,在一些轻量级神经网络里经常用到,如Moible-Net详细参考此链接:
深度可分离卷积_evergreenswj的博客-CSDN博客_深度可分离卷积blog.csdn.net2.Residual block
这是何恺明提出的很有用技术,简单介绍一下残差块的含义,相对于传统的深度神经神经网络,残差块是在两层互相连接的网络上定义的,即在block中,数据在经过第二次线性变换之后,并不直接输入非线性变换g中,如图3所示,而是与block的初始输入加和后,再进行非线性变换,这种结构直观上的解释就是,误差能一直向后传递,可以使训练过程更加容易。
详细可以参考:
残差网络_百度百科baike.baidu.com3.论文中提出的两种Inception Net
paper提出两种性能较好的卷积神经网络,分别是Inception-v4,与Inception-ResNet-v2,v4没有加入残差连接模块,也取得了比较好的性能,我考虑这是谷歌在表明,自家的技术路线也是可以继续发展的,并不比他resnet系列的差,事实上性能也可以,Inception-Resnet-v2则结合了resnet的思想取得不错的效果。
3.1 Inception-v4
v4的整体网络框架以及其中用到的inception-A、B、C block如图4所示,其中用到的stem-block如图5所示。
从图4来看,google提出的v4版本中用到的这三个block,从结构上来看,明显可以看出大量使用1*1卷积方法,这样就减少很多参数,从A-boock来看,block的不同通道,不考虑1*1卷积,分别使用了池化,不操作,一层3*3的卷积,两层3*3的卷积,从B-block来看,基本上相当于将A-block里的卷积用卷积核分解来替代,参数数量可以减少为原来的2/kernel-size,我思考这里的原因是,B-block因为比A深,所以为了保证提取复杂特征,所以要设计更加复杂的结构,但是为了减少参数数量在这里就用卷积核分解,卷积分解:
怎么把3×3卷积分解为1×3和3×1?www.zhihu.com从C-block来看,使用了形状不同的convlution-kernel,进行串并联,从这些技术上来看,可谓是五花八门,应有尽有,能用得上的技术基本都用上了,这能保证模型提取到丰富的特征,实验结果显示,这种复杂的设计效果还是有的,证明这个技术路线还能往下走(PS:听同学说,已经出到18、19了,也不知道真假的)
3.2 Inception-ResNet-v2
这个网络结构与v4的整体框架相似,但其中用的block中用残差连接的思想替代了复杂的结构,两个网络框架的对比如图6所示。
从图7来看,Inception ResNet v2版本里用的block,可以看出,几个block深度不同,结构的复杂程度却是相似的,而v4的block随着深度的增加,block在变得越来越复杂,随之而来,Inception ResNet v2里面用到的参数就很少了。
玄学:paper中提到,残杀连接里用的kernel-size的数量如果超过1000,在平均池化层前的最后一层在一定迭代次数之后就会产生大量0值,用batchnormzation也不行,最后使用了Scaling of the Residuals,这个trick,减少了这种现象,具体思路是在v2的几个blcok里经过inception-block之后乘以一个常数,加进行残差连接就好吃了,论文也没讲这是为什么,总是是有点大理解,也是因为理解的层次还不高。
3.3 Inception v4 VS Inception ResNet v2
从图8两者对比效果来看,还是残差神经网络更胜一筹。
总结:
Google的这篇paper,相当于对自己已有的Inception路线又进行了革新,一方面证明了这个路线可以吸收新的trick,具有很强的容纳性,另一方面,对Inception本身做了一组优化,比如深度可分离卷积,卷积核分解等等trcik,虽然创新性不如batchnormalization高,但是仍然很值得学习。同时也感谢看到最后的同学,谢谢你的鼓励和支持。