论文阅读:ImageNet Classifification with Deep Convolutional Neural Networks
1.背景与意义
大规模现实图像数据集的识别与分类是一个巨大的挑战,一方面,模型的学习能力需要进一步提升;另一方面,带标签的现实图像数据集依旧难以获取,尽管用于ILSVRC竞赛的ImageNet数据集图像数量巨大,种类繁多,但是在极为复杂的模型下也不免会产生过拟合(overfiting)的问题。
这篇文章提出了用于大型图像数据集分类的深度卷积神经网络(CNN)架构,在ImageNet数据集上的表现极为惊艳,开启了深度学习的新篇章。
2.亮点
- 提出用于大型数据集分类的CNN架构
- 为了抑制反向传播过程中由于神经元饱和造成的梯度消失,不采用以往的tanh作为激活函数,而使用Relu.
- 面对GPU显存及运算能力的不足,将整个网络架构拆分成两个部分,分别在一块GPU上并行训练。
- 特征图的局部响应归一化(Local Response Normalization)稍微提升了网络的性能
- 重叠池化(Overlapping Pooling)
- 图像增强(Data Aygmentation): 其一是通过对原始图像的裁剪与水平翻转,保持标签不变时,训练阶段对每张256x256的原始图像扩充为2048张224x224的输入图像,测试阶段为5张;其二通过调整图像RGB通道的亮度进行扩充。
- Dropout抑制过拟合。使用Dropout会减缓训练
3.模型架构
AlexNet的主要架构包含5个卷积层,3个全连接层:
特点:
- 5层卷积层中只在第3个卷积层进行了跨GPU的特征图连接
- 只在第1、2、5层卷积层中使用了Maxpooling(overlap)
- 只在前两个卷积层中使用局部响应归一化
- 只在前两层全连接层中使用Dropout
4.局部响应归一化
局部响应归一化是对经过Relu的activation在相邻的几个特征图间进行的局部归一化,其数学表达如下:
其中n表示在n个相邻(adjacent)的特征图上执行归一化,i表示第i个卷积核所输出的特征图,n,k, alpha, beta等均为超参数。局部响应归一化的作用在于输出激活较大的神经元。
5.模型训练
使用带动量的随机梯度下降(SGD+Momentum),同时使用了学习率衰减,其中v为当前动量,decay rate为0.0005, 初始学习率为0.01, 训练终止前衰减三次。
7.结果
在ILSVRC-2010数据集上分别达到了37.5%(Top-1 error)与17.0%(Top-5 error)
8.模型可视化
这篇论文还对第一层卷积层进行了可视化,结果如下,可以感知到卷积核正在寻找边缘及颜色信息
右图是对最后一个隐含层的特征进行Euclidean distance进行近似得到的结果,最左侧一列为测试图像,剩余列为寻找最后一个隐含层特征最小欧式距离的结果。
9.讨论
- 深度对于CNN的性能有较大影响
- 构建更大更深的CNN模型利于性能提升
- CNN网络可以应用于视频序列,整合时间维度信息利于分类等任务