卷积网络的block_Inception-ResNet卷积神经网络

ad702266812a976d6feef69338519056.png

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一词从何而来,内部结构如何?

4ffc0c1de21f1e71ab1fa044606c6518.png
figure1.盗梦空间剧照

谷歌制作的Inception Network神经网络最初提出时深度是比较可以了,有个电影叫盗梦空间讲的是关于人类做梦的现象,正好也比较应景,所以就叫Inception==‘盗梦空间’,网络的结构即由此得名,这个网络的结构以及其中的用到的Inception block如图2所示。

a15e3c5b052881b8ba38febe0e68aa96.png
figure2.Inception的Network与block

Incetion block作者给与的解释是,既然大家在争论卷积核的尺寸,那干脆就都并联起来,同时用上,而之所以在3*3卷积核之前用一层1*1的conv,目的是为了减少参数,相对于直接使用3*3的卷积参数减少为原来的1/(Kernel-size)^2,也就是卷积核尺寸的平方分之一,这种技术就叫深度可分离卷积,在一些轻量级神经网络里经常用到,如Moible-Net详细参考此链接:

深度可分离卷积_evergreenswj的博客-CSDN博客_深度可分离卷积​blog.csdn.net
aa7af7127b41592f0d6ab29ebd4335a0.png

2.Residual block

这是何恺明提出的很有用技术,简单介绍一下残差块的含义,相对于传统的深度神经神经网络,残差块是在两层互相连接的网络上定义的,即在block中,数据在经过第二次线性变换之后,并不直接输入非线性变换g中,如图3所示,而是与block的初始输入加和后,再进行非线性变换,这种结构直观上的解释就是,误差能一直向后传递,可以使训练过程更加容易。

34104ec4b4db7616a507251005a107b0.png
figure3.残差神经网络block

详细可以参考:

残差网络_百度百科​baike.baidu.com
e626741f677fcaf473a83ab238b7453c.png

3.论文中提出的两种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所示。

54985c17c44adbfc75f74458f44d15de.png
figure4.v4的框架,以及A、B、C-block

ab8037030afd1f347ffdc65603600586.png
figure5.v4框架用到的Stem-block

从图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所示。

57a078e820febb24e042976829e345af.png
figure6.left:Inception-v4,;right:Inception ResNet v2

从图7来看,Inception ResNet v2版本里用的block,可以看出,几个block深度不同,结构的复杂程度却是相似的,而v4的block随着深度的增加,block在变得越来越复杂,随之而来,Inception ResNet v2里面用到的参数就很少了。

721eb98160d301b1967df6ef052e7e82.png
figure7.Inception ResNet v2用到的block

玄学:paper中提到,残杀连接里用的kernel-size的数量如果超过1000,在平均池化层前的最后一层在一定迭代次数之后就会产生大量0值,用batchnormzation也不行,最后使用了Scaling of the Residuals,这个trick,减少了这种现象,具体思路是在v2的几个blcok里经过inception-block之后乘以一个常数,加进行残差连接就好吃了,论文也没讲这是为什么,总是是有点大理解,也是因为理解的层次还不高。

3.3 Inception v4 VS Inception ResNet v2

从图8两者对比效果来看,还是残差神经网络更胜一筹。

9b932b42e175db8d20e56a4af3fdade8.png
figure8.The error of Inception-v4 and Inception ResNet v2

总结:

Google的这篇paper,相当于对自己已有的Inception路线又进行了革新,一方面证明了这个路线可以吸收新的trick,具有很强的容纳性,另一方面,对Inception本身做了一组优化,比如深度可分离卷积,卷积核分解等等trcik,虽然创新性不如batchnormalization高,但是仍然很值得学习。同时也感谢看到最后的同学,谢谢你的鼓励和支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值