卷积神经网络CNN盛行的今天, 形形色色, 各式各样的网络结构不断涌现. 研究者们为了解决不同的任务, 或是为了将网络能力最大化, 可谓是无所不用其极. 然而现如今流行的网络结构都对应的来头, 今天我们就来讲讲CNN网络结构进化过程中几篇比较关键的文章。

2012 Alex Net, CNN 开始展露头角

要点

  1. 网络模型结构如下图,有5个卷积层和3个全连接层组成。网络中部具有两条独立的路径,是为了让模型跑在两个GPU上,加快训练。采用ReLU激活层,克服梯度消失问题,训练速度是tanh激活层的6倍。
  2. Local Response Normalization。对相同位置的某个相邻范围的响应值进行归一化。该方法后来应该没有人再采用了吧!
  3. Overlapping Pooling。即pooling的宽度大于stride的长度。根据作者的研究,重叠的pooling可以提高精度,并且轻微避免过拟合。
  4. 对数据进行增益,避免过拟合。数据增益的措施有:1)平移,水平翻转。2)对颜色进三通道进行PCA,加入均值为0,标准差为0.1,相对于PCA特征值的误差。
  5. DropOut 避免过拟合。按作者的提法,dropout是组合不同的小网络的方法。作者在前两个全连接层采用了dropout 的训练方法。
  6. 用stochastic gradient descent + mini batch 方法进行训练,并且运用了momentum 和 weight decay。

AlexNet 使得困难的ImageNet分类任务的精度一下提升了一大截,CNN从此声名鹊起,备受关注。文章中使用的一些训练的技巧,例如:数据增益、DropOut、ReLU,至今仍然倍广泛采用。同时论文指出了网络深度对于精度的影响很大,这可以说为后人指出了改进和提升的方向。

2015 VGG Net,深度学习越来越深

要点:

  1. 用多层3x3的卷积层代替一层7x7的卷几层,增加了网络的深度,同时提高了非线性能力。因为多层意味着更多的激活函数。
  2. 用小的卷积核减少了参数个数。
  3. 三层连续的3x3的卷积的感受野与一层7x7卷积相当。
  4. 网络对分类和定位任务效果都不错。
  5. 采用Caffe框架进行训练
  6. 在数据增益中加入尺度缩放

文章摘要和通篇都在强调一件事情:网络深度决定了网络的能力。在提高网络深度的情况下,即使用较小的卷积核,也能达到不错的效果。

2015 GoogLeNet 不仅要深,还要『宽』

GoogLeNet 是第一个开始让CNN网络横向扩展的网络。文章提出的模型赢得了ILSVRC 2014 的冠军,将top-5错误率降到了6.7%。

Inception单元

文章主要的突破性是,设计的网络不像过去只是单纯地堆叠卷几层来增加深度以提高网络的能力,而是在每一层中让网络变得更宽:通过不同大小的卷积核对上层的featuremap进行卷积,然后再把结果连接(concate)起来。为了减少计算量和控制维度,加入1x1的卷几层进行 Dimension Reduction。

要点

  1. 引入Inception单元,是的网络单层能够处理多尺度信息。
  2. 充分利用1x1的卷几层达到:控制维度爆炸进而腾出更多的空间增加网络深度的目的,文章还提到了,1x1的卷积起到了组合相关性较强的FeatureMap的作用。
  3. 文章建议在高层引入Inception 模块,是为了减少内存和计算量。

2015 Microsoft ResNet

之前的网络增加的深度还处在前人同一量级的水平上,ResNet增加的网络层数,是高一个量级的,达到了152层!ResNet 在ImageNet预测的准确率创下了新高,top-1错误率3.6%,战胜了人类的水平。

要点

网络深度增加到一定程度,在增加网络层数误差反而上升

  • 提出残差网络(residual network)来解决上面的问题
  • 虽然ResNet 的网络深度比VGG高得多,但是它的复杂度更低。
  • 残差网络在不同的任务中均表现得很好,说明改网络结构具有一般性。
  • 网络学习看成是拟合一个H(x)函数, H(x) = x + res(x), 单纯增加网络深度,很难让网络自行发现 identity mapping 即输入到输出不变的成分。为了解决这个问题加入『短路』路径(shortcut connection)显示知名了Identity mapping 成分
  • 用stride=2 的卷积实现降采样的目的
  • 残差网络的残差输出逐步减小,验证了残差的假设

后记

影响如今卷积神经网络的结构的文章远不止上面的几篇文章。笔者认为上面的文章单从网络结构上概括了CNN进化过程的三个维度:深度、宽度和路劲。提升网络性能的因素、加速网络的训练速度我们可以在开个专题讨论。

参考文献

  1. Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
  2. Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.
  3. Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 1-9.
  4. He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 770-778.

友情打赏

此处应有打赏