主流卷积神经网络结构探索和分析(一)

0. 引言

去年7月因为各种原因辞职后终于如愿进入高校做博后,完成多年的心愿。9月份正式入职,老师的20篇 论文的要求真是让我完全懵圈的状态。无论如何,硬着头皮上吧。于是,熬到现在第四篇了。也借此机会把主流的卷积网络的结构梳理梳理。借着新型冠装病毒疫情这个封闭在家的时间,静心思考,也把自己思考的内容与大家分享一下,抛砖引玉。

1. 主流卷积网络概览

目前参考了文章《CIFAR10 to Compare Visual Recognition Performance between Deep Neural》,感兴趣的小伙伴可以自行搜索谷歌学术。文章中将主流的CNN网络结构分为了五类:VGG,GoogLeNet, ResNet,WideResNet, ResNeXt. 本文对这几个网络进行的结构和特点进行详细的分析和讨论。

1.1 VGG

GGNet是牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发的深度卷积神经网络。通过反复堆叠3X3的小型卷积核和2X2的最大池化层,通过不断加深网络结构来提升性能。每次池化后刚好缩小一半,信道数目不断增加一倍。

1.2 GoogLeNet

GoogLeNet的主要思想是对网络进行抽取和分解。从V1到V4经历了四个版本的改进。思路上来说,主要是用较小的卷积核替代较大的卷积核。比如从V1到V2的核心思想可以认为是:用2个3x3的卷积核替代了5x5的卷积核;V2到V3,主要是引入了非对称卷积核的方法,将nxn的卷积核改进为:一个nx1和一个1xn的组合,但是作者在实验的过程中发现,该方法在高分辨率的低层特征中使用的效果不好,因此将非对称卷积放在了网络的中部。V3到V4的进步主要是引入了残差网络。
GoogleNet的作者还有对网络的其他改进,比如目标函数,用avgpooling层替代FC,用BN层替代droopout等改进。在此不一一赘述。相关内容可参考博客:Inception in CNN

1.3 ResNet

ResNet是在2015年有何凯明,张翔宇,任少卿,孙剑共同提出的。ReNet的数学表达很简单,就是在网络之间增加跨层的连接。即在某一层之间实现如下的连接关系。其网络结构示意图如下图所示。
Youtl=f(Xoutl)+Xoutlt Y_{out}^{l}=f(X_{out}^{l})+X_{out}^{l_{t}}
主流卷积神经网络结构探索和分析(一)

1.4 WideResNet

前面讨论的几个网络的思路主要是在网络的深度和广度方面做探索。而ResNet这类网络也会存在由于梯度在反向传播的时候,可以直接经过shortcut,而不用被强制经过residual block,这会导致可能只有很有限的layer学到了有用的知识,而更多的layers对最终结果只做出了很少的贡献。这个问题也被作者称之为diminishing feature reuse。WideResNet和ResNeXt都是对residual block的改进。WideResNet主要是在卷积层之间加入了随机失活的droop out层。其网络结构示意图如下图所示。
主流卷积神经网络结构探索和分析(一)

1.5 ResNeXt

为了打破或deeper,或wider的常规思路,ResNeXt则认为可以引入一个新维度,称之为cardinality。作者在实验上也证明了: increasing cardinality is more effective than going deeper or wider when we increase the capacity。
实际上的思路应该类似与channel group的思想。下图显示了ResNeXt的思路:
主流卷积神经网络结构探索和分析(一)
其中划分为(256,1x1,4)(4,3x3,4)的32个卷积核共享参数,这样整个网络的参数量就不会增加了。

1.6 总结和思考(待完善)

从CNN的网络结构发展历程可以看出,网络结构不断以提高精度、提高收敛速度的目的不断变化。凝结了很多人不断的思考。这里我个人的理解和思考还不够深入,以后有新的思考的时候再补充。