深度卷积神经网络如何应用于ImageNet图像分类,AlexNet原文是什么?
摘要:课余时间,手动翻译了 AlexNet 的原文,感觉这篇文章比较适合小白学习,顺便完成了导论作业
但是没有专门去插入引用部分(
经过llm检查,改正了少许翻译错误
注:全文系手动翻译,虽经过ai检查,仍无法避免少许错误。若有错误,望多多反馈,共同学习进步,谢谢。
ImageNet Classification with Deep Convolutional Neural Networks
From PAPERS.NIPS.CC
Abstract
ImageNet LSVRC-2010 中,需要将 1.2M 张高分辨率图片分类至 1000 余种,本模型(AlexNet)效果获得了 SOTA 。
AlexNet 包括 5 个卷积层(有几个后面配套了最大池化层), 3 个全连接层,共计 60M 参数、 650K 神经元、 1000 道 softmax 。
为了在全连接层中减轻过拟合,使用了 dropout 正则化。
此外,这个模型训练过程中使用了 GPU 进行卷积运算。
1. Introduction
背景:目前的识别方法都是 Machine Learning 而不是 Deep Learning 。因此,如果想要提高表现,方法就是:更多训练数据集、更先进模型、更好防过拟合措施。然而对于在现实复杂背景下的物体本来就不易识别,况且当下的数据集规模太小,大约只有 10K (只适用于 MNIST 这类轻量级简单分类任务),至于数百万张标注图像的大规模数据集,直到最近才可能被收集到。
这个任务识别复杂度很大, ImageNet 提供的数据集大小尚且也不够,需要用先验知识去补充没有的数据。
而卷积层的容量是可控制的,因此相比于那些层的大小一直不变的单向传递的神经网络,使用CNN层能有相当小的连接与参数,使用这种局部连接的高效架构,自然更容易训练。
不过, CNN 也有缺陷。对这么大分辨率的图像集的应用依旧是很贵的。这里就需要使用 GPU 训练了,因为 GPU 非常适合执行 2d 卷积,大大加速训练 CNN 层的过程。
导读:
训练了一个卷积神经网络;写了一个高度优化的使用GPU实现卷积的方法;发现 5 层 CNN 、 3 层全连接是最恰当合适的深度;理论上还能再优化,通过更长训练时间、更快 GPU 、更大数据集
Section 3:使用特殊的方法减少训练时间、提升表现
Section 4:防过拟合的手段
Section 6:在 ILSVRC-2012 上的表现
2. The Dataset
ImageNet 是一个由 15M 个, 22k 类别的高分辨率标签过的数据集。 ILSVRC 使用了 1.2M 个训练图片、 50K 个验证图片, 150K 测试图片。 ILSVRC-2010 是唯一公开测试集标签的版本,因此本模型以此为测试模型的数据集。
模型所要求的输入维度是固定的,而 ImageNet 所提供的图片分辨率是不一样的,因此我们希望将该输入图片下采样至 \(256\times256\) ,所以先进行缩放,使图片的短边为 \(256\) ,而后切出中心的 \(256\times256\) 图片块。除了对每个像素减去训练集像素的像素均值外,没有对训练集进行任何的其他预处理。也就是说,我们是在中心化了的像素的原始RGB值上训练网络。
3. The Architecture
3.1. ReLU Nonlinearity
对于一个神经元的输出 \(f\) ,标准使用函数的是 \(f(x)=tanh(x)\) 或 \(f(x)=(1+e^{-x})^{-1}\) 。然而,因为我们使用的是梯度下降法,这种饱和[1]非线性的激活函数会训练很慢,不如非饱和线性的激活函数 \(f(x)=max(0,x)\) ,即矫正线性单元( \(ReLU\) ) 。
Figure \(1\) 展示了 ReLU 和 tanh 各自在 \(4\) 层卷积神经网络中的表现。在保证各自的学习率都是最优、没有施加任何归一化的条件下,在 CIFAR-10 数据集中达成相同的 \(25\mathcal{\%}\) 训练 Error 时,使用 ReLU 函数的神经网络比使用 tanh 函数的快了 \(6\) 倍。
可见,面对这么大的神经网络, ReLU 函数会有更小的迭代次数,是传统饱和神经元模型所不能实现的。
当然,前人也曾尝试革新 CNN 中的神经元模型过,如使用 \(f(x)=|tanh(x)|\) ,并接着使用本地平均池化。然而,这个创新的主要目的是避免过拟合,因此他们并没有过多关注对训练集的加速能力效果。快速学习对大数据集上训练出来的大模型的表现有很大影响。
