读书报告-组号:26-题目:ImageNet Classification with Deep Convolutional Neural Networks

读书报告-组号:26-题目:ImageNet Classification with Deep Convolutional Neural Networks

1、本文中心思想:

        本文主要是用深度卷积神经网络的思想进行大规模的图像分类,AlexNet由Alex Krizhevsky等人在2012年提出,网络由5层卷积层和3层全链接层组成,激活函数为ReLU(线性整流函数),池化层为max-pooling。这个网络的top-1误差率以及top-5误差率都创造新低,当时来看这个效果比之前最顶尖的都要好得多。为了加快训练速度和降低过拟合,分别采用非饱高效的GPU和dropout正则化的方法来实现卷积操作。与层次规模相同的标准前馈神经网络相比,CNN的连接关系和参数更少,所以更易于训练,而其理论上的最佳性能可能只略差一点而已。采用GPU搭配一个高度优化的2D卷积工具,强大到可以完成很大规模的训练,还不会有严重的过拟合。作者写了一个高度优化的GPU二维卷积工具以及训练卷积神经网络过程中的所有其他操作,这些作者都提供了公开的地址,我们可以去网站上学习并且使用这种方法完成我们的相关工作。而且这个新颖的网络中包含一些既新鲜而又不同寻常的特征,它们提高了网络的性能,并减少了网络的训练时间。这个网络包含五个卷积层和三个全连接层,神奇的是不管移去哪一个卷积层性能都会不同程度的变差。另外这个网络的规模主要是受限于当前GPU的可用内存以及我们愿意容忍的训练时间。所以当更快的GPU可以使用的时候,我们不加修改、仍然使用这个网络的话,得到的结果可以轻而易举地得到改进。

        本文特殊之处是:训练出了一个很大的卷积神经网络适用于ILSVRC-2010以及ILSVRC-2012的数据,并给出的GPUs和配合二维和其他的操作过程。

2、创新性分析:

(1)非线 性ReLU:用ReLU替代传统的神经网络,运行的速度明显是原来的5倍左右。传统的饱和神经元模型要慢于不饱和的非线性模型,而且用传统的饱和神经元模型不能进行大型的神经网络实验。将神经元的输出f作为输入x的函数,对其建模的方法标准的应该是

或者

就梯度下降的训练方法而言,这些饱和非线性函数比不饱和非线性函数

要慢很多,训练速度上看的话后者比前者要快好多倍。它的每个网络的学习速率是独立选取的,这使得训练尽可能的快;

(2)该网络还有一个特别大的优点:使用多个GUP用来训练,极大提高了训练的规模。单个GTX 580 GPU只有3GB内存,这限制了可以在其上训练的网络的最大规模。而目前的GPU特别适合跨GPU并行化,另外GPU间的通讯只在某些层进行,比如第3层的核需要从第2层中所有核映射输入。然而,第4层的核只需要从第3层中位于同一GPU的那些核映射输入。与在一个GPU上训练的每个卷积层有一半核的网络比较,该方案将我们的top-1与top-5误差率分别减少了1.7%与1.2%。训练双GPU网络比训练单GPU网络花费的时间略少一些;

(3)局部响应归一化:ReLU具有所希望的特性,它们不需要输入归一化来防止它们达到饱和。如果至少有一些训练样例对ReLU产生了正输入,学习就将会发生在那个神经元上,没有必要局部归一化。但是,作者发现下列这种局部归一化方案有助于一般化,于是在网络中加入了这部分。用

表示点(x,y)处通过应用核计算出的神经元激活度,然后应用ReLU非线性,响应归一化活性

由下式给出

其中求和覆盖了n个“相邻的”位于相同空间位置的核映射,用于归一化的计算,这种响应归一化实现了一种侧向抑制,在使用不同核计算神经元输出的过程中创造对大激活度的竞争。响应归一化将我们的top-1与top-5 误差率分别减少了1.4%与1.2%;

(4)Overlapping Pooling:常见的池化为非重叠池化,本文创新性的采用了重叠池化的方法,设池化窗口为n*n,移动步长为s,当n>s时,池化窗口重叠。本文所采用的max-pooling的kernel为3*3,而步长为2,在增加泛化性的同时使得top-5错误率有所降低;

(5)该网络的总体结构:该网络的体系结构是由五个卷积层和三个全连接层构成的,最后一个全连接层的输出被送到一个1000-way的softmax层,其产生一个覆盖1000类标签的分布。我们的网络使得多分类的Logistic回归目标最大化,这相当于最大化了预 测分布下训练样本中正确标签的对数概率平均值。CNN体系结构示意图如下:

读书报告-组号:26-题目:ImageNet Classification with Deep Convolutional Neural Networks_第1张图片

图中明确显示了两个GPU之间的职责划分。一个GPU运行图中顶部的层次部分,而另一个GPU运行图中底部的层次部分。GPU之间仅在某些层互相通信。第二、第四和第五个卷积层的核只连接到前一个卷积层也位于同一GPU中的那些核映射上(见图2)。第三个卷积层的核被连接到第二个卷积层中的所有核映射上。全连接层中的神经元被连接到前一层中所有的神经元上;

(6)Data Augmentation:该网络中作者还提到了减少过拟合的操作,这个神经网络的结构中有6000万个参数,然而我们的类别不够,那么为了防止过拟合,就要用到数据增强的方式或者采用dropout的技术来防止过拟合。其中,数据增强的方式使用标签-保留转换,这种方法使得我们的训练集规模扩大了2048倍,但是由此产生的训练样例一定程度上存在相互依赖。其实数据增强中还有另一种方案:改变训练图像中RGB通道的强度,该方案将top-1误差率减少了1%以上。另外,如果采用dropout技术,那么每次提出一个输入,该神经网络就尝试一个不同的结构,但是所有这些结构之间共享权重。因为神经元不能依赖于其他特定神经元而存在,所以这种技术降低了神经元复杂的互适应关系。如果没有dropout,我们的网络会表现出大量的过拟合。dropout使收敛所需的迭代次数大致增加了一倍。

读书报告-组号:26-题目:ImageNet Classification with Deep Convolutional Neural Networks_第2张图片

3、总结与分析

        AlexNet成功点主要在于以下三个方面。首先是外部条件的发展。GPU的出现,使得大量计算成为可能;ImageNet提供了大量的训练样本,使得模型更加完善。其次是本文采用了多种加速计算的方法,比如采用双GPU进行并行计算,通过局部响应归一化来加快计算速度。最后是本文采取了多种防止过拟合的方法,采用ReLU函数来避免软饱和函数梯度消失问题,对数据集进行扩大,通过Dropout减少神经元间连接性,采用Overlapping Pooling等,这些做法的采用才使得本文取得了较好的效果。

4、讨论

        作者通过训练了一个深度卷积神经网络,用其对大规模高清数据进行分类。对模型的整体介绍和分析,可知该模型的分辨效果优于先前的其他模型,过程中对其采用的数据集扩充和dropout的方法分别降低了其的分辨错误率和过拟合程度。用举例子的方式证明了其可用度。

        在其过程中任何一个卷积层都发挥着很重要的作用,如果将其中任意一个卷积层删去网络的性能都将会降低。在训练过程中,即便是为了简化实验,也并没有做非监督的预测。与传统的网络相比该深度卷积网络已经得到了改进,让网络变得更大、训练时间变得更长。

你可能感兴趣的:(读书报告-组号:26-题目:ImageNet Classification with Deep Convolutional Neural Networks)