AlexNet 论文阅读笔记
# 一、论文结构
# 1.1 摘要
- 在 ILSVRC-2010 的 120 万张图片上训练深度卷积神经网络,获得最优结果,top-1 和 top-5 error 分别为 37.5% 和 17%;
- 该网络(AlexNet)由 5 个卷积层和 3 个全连接层构成,共计 6000 万参数,65 万个神经元;
- 为加快训练,采用非饱和激活函数:ReLU,采用 GPU 训练;
- 为减轻过拟合,采用了 Dropout 方法;
- 基于以上模型及技巧,在 ILSVRC-2012 以超出第二名 10.9 个百分点成绩夺冠。
# 1.2 论文标题
.
├── 1. Introduction
├── 2. The Dataset
├── 3. The Architecture(AlexNet 内部细节)
│ ├── 3.1 ReLU Nonlinearity
│ ├── 3.2 Training on Multiple GPUs
│ ├── 3.3 Local Response Normalization
│ ├── 3.4 Overlapping Pooling
│ └── 3.5 Overall Architecture
├── 4. Reducing Overfitting(防止过拟合)
│ ├── 4.1 Data Augmentation(数据增强)
│ └── 4.2 Dropout(随机失活)
├── 5. Details of learning
├── 6. Results
│ └── 6.1 Qualitative Evaluations
└── 7. Discussion
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
以上是该论文的标题目录,其中第 3、4 章节是最重要的,第 3 章介绍了 AlexNet 网络结构及其内部细节,包括 ReLU、多 GPU、LRN、Overlapping Pooling;而第 4 章介绍了两个防止过拟合的方法,包括数据增强和 Dropout。
下面会详细介绍 AlexNet 的网络结构以及论文中所用到的训练技巧。
# 二、AlexNet 结构
# 2.1 网络连接方式
# 2.2 ReLU 激活函数
论文中提到,使用 ReLU 作为激活函数会使网络训练更快,如下图所示,在 CIFAR-10 数据集上达到 25% 错误率耗费的时间,使用 ReLU 作为激活函数要比 tanh 训练速度要快 6 倍。
此外,ReLU 还可以防止梯度消失,使网络具有稀疏性。
# 2.3 Local Response Normalization
Local Response Normalization(局部响应标准化):有助于 AlexNet 泛化能力的提升,受真实神经元侧抑制(lateral inhibition)启发。
说明
侧抑制:细胞分化变为不同时,它会对周围细胞产生抑制信号,阻止它们向相同方向分化,最终表现为细胞命运的不同。
# 2.4 Overlapping Pooling
Overlapping Pooling(重叠池化):相比于一般的池化操作,重叠池化的步长小于池化窗口,其在池化输出特征过程中添加相邻像素的信息来进行重叠式池化,可以重新获得非重叠失去的关键特征信息。
采用 Overlapping Pooling 不仅可以提升预测精度,同时一定程度上可以减缓过拟合。
# 三、训练技巧
# 3.1 Data Augmentation(数据增强)
方法一:针对位置
训练阶段:
- 图片统一缩放至 256 x 256
- 随机位置裁剪出 224 x 224 区域
- 随机进行水平翻转
测试阶段:
- 图片统一缩放至 256 x 256
- 裁剪出 5 个 224 x 224 区域(顶角加中心)
- 均进行水平翻转,共得到 10 张 224 x 224 图片,对预测结果取平均
方法二:针对颜色
通过 PCA 方法修改 RGB 通道的像素值,实现颜色扰动,效果有限,仅在 top-1 提升 1 个点(top-1 acc 约 62.5%)。
# 3.2 Dropout(随机失活)
- 随机:dropout probability(eg:p = 0.5)
- 失活:weight = 0
注意
训练和测试两个阶段的数据尺度变化,测试时,神经元输出值需要乘以 p。
# 四、实验结果及分析
# 4.1 卷积核可视化
下图是第一卷积层在 224 × 224 × 3 的输入图像上学习到的大小为 11 × 11 × 3 的 96 个卷积核。上面的 48 个核是在 GPU 1 上学习到的,而下面的 48 个卷积核是在 GPU 2 上学习到的。
可以看出卷积核呈现出不同的频率、方向和颜色,而且两个 GPU 还表现出分工学习的现象。
# 4.2 特征的相似性
上图每一行的图片在第二个全连接层输出特征向量的欧式距离都是最相近的。因此,我们可用 AlexNet 提取高级特征,将其应用于图像检索、图像聚类、图像编码等领域。
# 五、论文总结
# 5.1 关键点
- 合理算法模型:深度卷积神经网络 —— 算法
- 高性能计算资源:GPU —— 算力
- 大量带标签数据:ImageNet —— 算料
# 5.2 创新点
- 采用 ReLU 加快大型神经网络训练
- 采用 LRN 提升大型网络泛化能力
- 采用 Overlapping Pooling 提升指标
- 采用随机裁剪翻转及色彩扰动增加数据多样性
- 采用 Drpout 减轻过拟合
# 5.3 启发点
深度与宽度可决定网络能力。
Their capacity can be controlled by varying their depth and breadth. (1 Introduction p2)
更强大 GPU 及更多数据可进一步提高模型性能。
All of our experiments suggest that our results can be improved simply by waiting for faster GPUs and bigger datasets to become available. (1 Introduction p5)
图片缩放细节,对短边先缩放。
Given a rectangular image, we first rescaled the image such that the shorter side was of length 256, and then cropped out the central 256×256 patch from the resulting image.(2 Dataset p3)
ReLU 不需要对输入进行标准化来防止饱和现象,即说明 sigmoid/tanh 激活函数有必要对输入进行标准化。
ReLUs have the desirable property that they do not require input normalization to prevent them from saturating(3.3 LRN p1)
卷积核学习到频率、方向和颜色特征。
The network has learned a variety of frequency- and orientation-selective kernels, as well as various colored blobs.(6.1 p1)
相似图片具有“相近”的高级特征。
If two images produce feature activation vectors with a small Euclidean separation, we can say that the higher levels of the neural network consider them to be similar.(6.1 p3)
图像检索可基于高级特征,效果应该优于基于原始图像。
This should produce a much better image retrieval method than applying autoencoders to the raw pixels.(6.1 p4)
网络结构具有相关性,不可轻易移除某一层。
It is notable that our network’s performance degrades if a single convolutional layer is removed.(7 Discussion p1)
采用视频数据,可能有新突破。
Ultimately we would like to use very large and deep convolutional nets on video sequences.(7 Discussion p2)