Alexnet总结

ImageNet Classification with Deep Convolutional Neural Networks 论文总结

1 引言

现在有了一个更大的数据集imageNet,我们通过改变CNN的深度和广度得到学习能力更强的模型。在这之前CNN模型的训练的时间代价昂贵,而目前的GPU促进了大规模CNN的训练;同时鉴于最近出现的大规模数据集,使得过拟合现象得到控制。本文的贡献是得到了迄今为止最大型的卷积神经网络,性能效果也是最好的。模型中包含了一些新的特征,提升了网络性能同时减少了训练时间。为了避免过拟合,文章介绍了几种有效方法。

2 数据集

imageNet视觉识别挑战赛ILSVRC从2010年开始举办,数据集包含大约有 120 万张训练图像,50,000 张验证图像和 150,000 张测试图像。top-1错误率是,模型第一类预测不是正确结果;top-5指前五类预测都没有正确结果。

3 模型体系结构

网络模型包含八个学习层——五个卷积层和三个全连接层。介绍最重要的几项创新:

3.1 ReLU

第一是首次使用ReLU作为CNN的激活函数,解决了Sigmoid在网络较深时的梯度弥散问题。ReLU称为线性修正单元,使用这种不饱和非线性神经元的深度CNN网络的训练时间比带 tanh 单元的同等网络要快好几倍。更快的学习对大型数据集上训练的 大型模型的性能有很大影响。 

图3-1 ReLU 左为数学图像 右为训练错误率

3.2 在多个GPU训练

第二是由于基于120万个训练样本的网络太大,且当前的GPU不足以支持网络训练,因此将网络分布在两个GPU上训练。文章介绍了一个小技巧:GPU 间的通讯只在某些层进行。也因此,产生了最终的训练模型如图3-2.上写两部分分别在两个GPU训练。顶

图3-2 alexnet网络结构

其中上下两列不是独立的,同时双GPU网络能降低错误率( top-1 与 top-5 误差率分别减少了 1.7%与 1.2%)且减少训练时间。

3.3 局部相应归一化(LRN)

ReLU的一个特性是不需要输入归一化来防止它们达到饱和,然而文章发现局部归一化方案有助于
提升泛化能力。对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。通常:在某些层应用 ReLU 归一化后再应用这种归一化。如此将 top-1 与 top-5 误差率分 别减少了 1.4%与 1.2%。也验证了该方案在 CIFAR-10 数据集上的有效性:四层 CNN 不带归一化 时的测试误差率是 13%,带归一化时是 11%。代码和参数文件对其有精确详细的说明: http://code.google.com/p/cuda-convnet/ 。

3.4 重叠pooling

在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。This scheme reduces the top-1 and top-5 error rates by 0.4% and 0.3%。

3.5 总体结构

如图3-2,该网络包括八个带权层;前五层是卷积 层,剩下三层是全连接层。最后一个全连接层的输出被送到一个 1000-way 的 softmax 层,产生一个覆盖1000类标签的分布。CNN 体系结构示意图3-2,明确显示了两个 GPU 之间的职责划分。一个 GPU 运行图中顶部的层次部 分,而另一个 GPU 运行图中底部的层次部分。GPU 之间仅在某些层互相通信。该网络的输入是 150,528 维的,且该网络剩下各层的神经元数分别为 253,440–186,624–64,896–64,896– 43,264–4096–4096–1000。

扫描二维码关注公众号,回复: 4607100 查看本文章

ReLU 非线性应用于每个卷积层及全连接层 的输出。第一个卷积层利用 96 个大小为 11×11×3、步长为 4 个像素(这是同一核映射中邻近神经 元的感受野中心之间的距离)的核,来对大小为 224×224×3 的输入图像进行滤波。第二个卷积层 需要将第一个卷积层的(响应归一化及池化的)输出作为自己的输入,且利用 256 个大小为 5×5×48 的核对其进行滤波。第三、第四和第五个卷积层彼此相连,没有任何介于中间的 pooling 层与归一化层。第三个卷积层有 384 个大小为 3×3×256 的核被连接到第二个卷积层的(归一化 的、池化的)输出。第四个卷积层拥有 384 个大小为 3×3×192 的核,第五个卷积层拥有 256 个大 小为 3×3×192 的核。全连接层都各有 4096 个神经元 .

4 减少过拟合

 描述了减少过拟合的两种主要方法:

4.1 数据增强

认为地扩大数据集,如水平反射,五部分提取(四个边角碎片和中心碎片)。第二是在图像中每个像素的R、G、B值上分别加上一个数,用到 方法为PCA。图像不随着光照强度和颜色而改变的。此方法降低top-1错误率1%。

4.2 dropout

“dropout”技术就是以 0.5 的概率将每个隐层神经元的输出设置为零。以这种方式“dropped out”的神经元既不利于前向传播,也不参与反向传播。在图3-2 中前两个全连接层使用 dropout。如果没有 dropout,网络会表现出大量的过拟合。dropout 使收敛所需的迭代次数 大致增加了一倍。 

5 详细学习过程

AlexNet训练采用的是随机梯度下降 (stochastic gradient descent),每批图像大小为128,动力为0.9,权重衰减为0.005,Alexnet认为权重衰减非常重要。

6 结果

ILSVRC2010比赛冠军方法是Sparse coding,这之后(AlexNet前)报道最好方法是SIFT+FVs。CNN方法横空出世,远超传统方法。 

ILSVRC-2012,Alex参加比赛,获得冠军,远超第二名SIFT+FVs。本文所描述的 CNN 实现了 18.2%的 top-5 误差率。对五个相似 CNN 的预测求平均值得出了 16.4%的误差率。

猜你喜欢

转载自blog.csdn.net/weixin_41803874/article/details/85055570