一.论文概述
Alex Krizhevsky、Ilya
Sutskever和Geoffrey Hinton训练了一个大型深度卷积神经网络将ImageNet LSVRC-2010数据集中的120万张高清图片分类到1000个不同类别中。该分类网络拥有六千万的参数以及65万个神经元,共五个卷积层,其中一些卷积层后面跟着最大池化层,并且网络利用softmax函数实现了1000类分类的最后三个全连接层。同时为了使训练速度更快,利用高效的GPU实现卷积操作;为减少过拟合,采用了Dropout的正则化方法。并通过该模型的变体在ILSVRC-2012的竞赛中取得了优异的成绩。
二.主要观点
通过收集更大的数据集,学习训练更大的模型,并用更好的技术来避免过拟合。该卷积神经网络包括了5个卷积层和3个全连接层,去掉任意一个卷积层都会使表现更差。同时,更快的GPU以及更大的数据集均可以使结果更好。
三.重要方法
1. 数据集
ImageNet是由大概22000个类别超过1500万章带标签的高分辨率图像组成的数据集。通过对图片的采样,获得固定大小的256X256的分辨率。
2. 模型体系结构
下图即为网络架构,五个卷积层和三个全链接层。如下图所示
2.1 ReLU非线性处理
使用Nair和Hinton的ReLUs神经网络,此神经网络的运行速度按照图示比标准的神经网络要快3到5倍。在大型数据集的处理表现上,ReLU的快速处理性能会使分类事半功倍。
2.2多GPU并行训练
以GTX
580作为实验工具进行并行化训练,由于训练样本过大,可将该神经网络分布在两个GPU上,将各一半的网络核放在每个GPU上,这种结构网络比单GPU网络所需的训练时间要少。
2.3局部反应归一化
ReLUs有一个属性,无需对输入数据进行归一化来避免饱和。这种反应归一化通过一种模仿生物神经元的横向抑制,让神经元利用不同核心程序进行计算的产生竞争,从而降低错误率。对于位置(x,y)上实行ReLU训练的具体公式为:
2.4重叠池化
CNN中的池化层对同一核心程序映射中相邻的神经元组的输出求和。通过重叠池化能让模型更难过拟合。
2.5整体结构
介绍了CNN的整体结构,每一层的输入输出及各层核心程序与各层的连接。
3. 减少过拟合
AlexNet 使用了 2 种形式的数据扩充,两种方法都让由原始图片产生的变换图片的过程,仅带着几乎可以忽略不计的计算量,所以被变换的图片不需要被存在磁盘上。AlexNet 使用的变换图片是在 GPU 正在训练前一批图片时,由 CPU 上的 Python 代码产生的,所以这些数据扩充的策略实际上是可以看做不产生计算量的。
3.1 数据集放大
第一种数据扩充的方法由生成图片平移和水平反射组成,作者通过在 256*256 尺寸的图片上随机提取 224*224 的小块,然后在这些被提取的小块上训练网络。即使结果训练样例是高度内部依赖的,这个办法将训练集的尺寸增加了 2048 倍。没有这个策略,AlexNet 一定会产生过拟合,这将迫使作者使用更小的网络,从而影响训练效果。第二个策略是修改训练图片中的 RGB 通道的强度。AlexNet 对每一个训练图片将主要组成部分的倍数加上按一定比例的相应的特征值乘上一个从一个均值为 0,标准差为 0.1 的高斯函数中提取的随机参数。这个策略大致上得到了原始图片的一个重要属性,就是物质在照明强度和颜色上的特性是不会改变的。这个策略减少了大约 1%的 top-1 错误率。
3.2Dropout
AlexNet 也使用了“dropout”技术来实现模型合并,即对每一个隐层神经元以 0.5 的概率将其设置为 0,即“被剔除”。这种“被剔除”的神经元不会对前向传播产生作用,也不会参加反向传播。所以,每次输入,神经元网络采样得到的是不同结构,但是所有的结构共享权重。这个技术减少了神经元共适应性的复杂性,因为一个神经元不能依赖于特别的一个其他的神经元。因此,这个技术使其学习到更加健壮的特征,使其在与许多不同的其他神经元的随机子集连接时更加有效。在测试阶段,AlexNet 使用了全部神经元,但是将它们的输出乘上了 0.5,这是一个合理的近似去得到由多指数 dropout 网络产生的预测分配性的几何平均值。Dropout 技术将需要覆盖的迭代次数进行了翻倍。
四.思考与启发
综上所述,AlexNet 作为图像深层卷积网络的开山之作有其独到的见解及不可取代的显著成果,其研究问题及解决问题的思想方法及实践方法都值得我们去学习和借鉴。
�