AlexNet
论文《ImageNet Classification with Deep Convolutional Neural Networks》
1. 数据集
ImageNet包括1500万张高分辨率标记图片,标签类别大约有22000类。
ImageNet通过top-1 error和top-5 error 来评判模型好坏。其中top-1 表示测试图像的真实标签与模型预测标签不同,top-5表示测试图像的真实标签不在模型预测可能性最大的前5个预测标签中。
学习类似于ImageNet的大型数据集,要求模型有很强的学习能力。
2. 模型选择
为满足对模型学习能力的要求,文中采用卷积神经网络(Convolutional Neural Network,CNN)模型。
相比于标准的前馈神经网络(Feedforward Neural Network),CNN有如下优势:
- CNN有更少的连接和参数,更容易训练,同时理论上CNN性能比FNN只差一点。
- CNN的局部结构相对高效。
- CNN可以使用GPU加速训练。
基于上述特点,文中使用了CNN模型。同时由于数据集的规模较大,所以模型不会出现严重的过拟合问题。
3. 模型结构及特点
3.1 模型结构
AlexNet包括5层卷积层(convolutional layer)和3层全连接层(fully connected layers)。
模型中的卷积层层数是通过实验得到的:
- 去除任何一层卷积层都会导致模型性能的下降,且每层卷积层包含的参数不到模型总参数数量的1%。
- 模型规模受限于硬件设备,主要是GPU的存储容量。
- 模型规模受限于训练时间,需要使得训练时间在可接受的范围内。
由此可以看出,简单的使用更快的GPU和更大的数据集就可以提高模型的最终结果。
3.2 模型特点
3.2.1 ReLU激活函数(Rectified Linear Unit)
比起饱和的非线性激活函数(如tanh激活函数、sigmoid激活函数),非饱和线性激活函数(如ReLU激活函数)的训练时间更短。
3.2.2 多GPU训练
受限于GPU的存储容量,文中将模型分为两部分,分别在两个GPU上进行训练。具体来说,文中在每个GPU上放置一半的神经元,且GPU只在特定层进行通信,如Alex模型中第2层和第3层中两个GPU需要进行通信。
3.2.3 局部响应归一化LRN (Local Response Normalization)
x