ALexNet
作者:Alex Krizhevsky
单位:University of Toronto
时间:NeurIPS,ILSVRC 2012冠军
题目:ImageNet Classification with Deep Convolutional Neural Networks
摘要
? 我们训练了一个大型深度卷积神经网络来分类 ImageNet LSVRC-2010 竞赛的 120 万张高分辨率的图像,1000 个不同的类别。在测试数据上,我们得到了 top-1 37.5%和 top-5 17.0%的错误率,这个结果比目前的最好结果好很多。这个神经网络有 6000 万参数和 650000 个神经元,包含 5 个卷积层(某些卷积层后面带有池化层)和 3 个全连接层,最后是一个 1000 维的 softmax。为了训练的更快,我们使用了非饱和神经元(ReLU),并在进行卷积操作时使用了非常有效的 GPU。为了减少全连接层的过拟合,我们采用了一个最近开发的名为 dropout 的正则化方法,结果证明是非常有效的。我们也使用这个模型的一个变种参加了 ILSVRC-2012 竞赛,赢得了冠军并且与第二名 top-5 26.2%的错误率相比,我们取得了 top-5 15.3%的错误率。
背景
? 对象识别任务的巨大复杂性意味着这个问题不能被特定化,卷积神经网络(CNNs)的容量可以通过改变深度和广度来控制,它们也可以对图像的本质进行强大且通常正确的假设(由于统计的稳定性和像素的局部性)。
? 与具有层次大小相似的标准前馈神经网络相比,CNNs有更少的连接和参数,更容易训练但在高分辨率图像上训练依旧昂贵。
? 目前的 GPU,搭配了高度优化的 2D 卷积实现,强大到足够进行大量 CNN 的训练,以及最近的数据集例如 ImageNet 包含足够多的标注样本来训练这样的模型而没有严重的过拟合。
模型
? 最终的网络前 5 层是卷积层,剩下的 3 层是全连接层。最后一层全连接层的输出喂给 1000 维的 softmax 层,softmax 会产生 1000 类标签的分布。我们的网络最大化多项逻辑回归的目标,这等价于最大化预测分布下训练样本正确标签的对数概率的均值。
结果
? 作者在ILSVRC-2012训练集训练了五个CNN网络进行平均得到了16.4%的错误率,在 ImageNet 2011 秋季发布的整个数据集上预训练,然后在上述的网络的池化层后又添加了一个卷积层在ILSVRC-2012训练集微调,训练了两个CNN网络。七个 CNN网络的预测进行平均得到了 15.3%的错误率。第二名取得了26.2%的错误率。
? 显示了网络的两个数据连接层学习到的卷积核。网络学习到了大量的频率核、方向选择核,也学到了各种颜色点。
? (左边)通过在 8 张测试图像上计算它的 top-5预测定性地评估了网络学习到的东西。注意即使不在图像中心的目标也能被网络识别,例如左上角的小虫。(右)第一列是 5 张 ILSVRC-2010 测试图像。剩下的列展示了 6 张训练图像,这些图像在最后的隐藏层的特征向量与测试图像的特征向量有最小的欧氏距离。
训练&测试
- 样本的 batch size 为128,, momentum为 0.9,权重衰减率为 0.0005
- 使用均值为 0,标准差为 0.01 的高斯分布对每一层的权重进行初始化
- 学习率初始化为0.01,误差不动时学习率变为原来的0.1
文章亮点
根据作者认为的重要程度排序
- 使用了ReLU激活函数:训练比等价的tanh激活函数快好几倍
- 多GPU模型并行训练:采用交叉验证来对不同GPU的模型进行统一调整
- 局部响应归一化:后续工作很少见到
- 重叠池化:以前的池化每个部分不重叠,采用重叠池化后模型更难过拟合
- 数据增强:图像的平移和水平翻转,改变图像的RGB强度
- dropout丢弃:减少过拟合,模型融合是减少测试误差的方法,但花费时间太多,dropout方法会以 0.5 的概率对每个隐层神经元的输出设为 0,只需要花费两倍的时间。
作者展望
- 结果可以简单地通过等待更快的 GPU 和更大的可用数据集来提高
- 在视频序列上使用非常大的深度卷积网络,视频序列的时序结构会提供非常有帮助的信息
|