图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks

1.概述
AlexNet包括6000万个参数和65万个神经元,网络结构包括5个卷积层和3个全连接层,最后一个全连接层接1000路softmax层用于分类,其中第1、2卷积层后连接局部响应归一化层(LRN),第1、2、5卷积层后连接最大池化层。
数据集:ILSVRC(ImageNet子数据集),包括120万张训练集图片(1000类),5万张验证集图片和15万张测试集图片;
ImageNet数据集:1500万带标签数据,分为2200类。
评价准则:top-1错误率和top-5错误率:15.3%(夺得2012年ImageNet ILSVRC冠军)。
top-1错误率表示预测类别正确时的错误率,top-5错误率表示正确值位于预测概率值最高的5个类别时的错误率。
创新点
1.首次使用修正线性单元(ReLU)**函数加速收敛,缓解梯度消失问题;
ReLU:f(x) = max(0, x)是非饱和非线性函数(非饱和:当x趋于正无穷时,f(x)也趋于正无穷),不存在饱和区,导数始终为1,计算量小,因此收敛较快;tanh和sigmoid**函数都是饱和非线性**函数,输入值处于饱和区时,梯度几乎为0,因此收敛极慢。
为什么ReLU是非线性函数?
虽然ReLU在大于0的区间是线性,在小于0的区间也是线性,但是整体不是线性的,不是一条直线。
三种**函数如下:
图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks
tanh和ReLU的收敛对比如下:
图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks
2.首次使用dropout,防止过拟合。dropout可以看做是一种模型组合,每次生成的网络结构都不一样,通过组合多个模型的方式有效减少过拟合。使用dropout技术,以0.5的概率将每个隐藏神经元的输出设为0,被dropout的神经元将不参与前向和反向传播,在训练阶段的每次前向传播,都会重新dropout,因此,每次有新的输入时,模型会采样成不同的架构,但是所有的架构共享权值,该技术可以减少神经元之间的相互依赖性,所以,模型被强制学习更加稳健的特征;
3.首次使用
重叠池化
(Overlapping Pooling),一般池化,池化窗口z与滑动步长s相等,重叠池化指的是s<z的池化,此时相邻滑窗之间会有重叠,本文使用z=3,s=2;
4.提出局部响应归一化层(LRN)增加泛化能力(后证无效);
5.使用
多GPU进行并行训练
,由于GPU之间可以直接进行数据交换,无需经过主机内存,因此可以进行并行训练;
6.采用数据增强,防止过拟合,一是随机裁剪,二是对RGB空间做主成分分析(PCA)。
2.网络结构
第3层卷积层和全连接层数据互通,其他卷积层数据不互通。
图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks
具体结构和参数如***意:输入应该是227X227X3,而不是224X224X3):
卷积运算计算公式:output_size = 【input_size - kernel_size + 2*padding】/stride + 1,其中[【】表示向下取整。
卷积层参数计算公式:卷积核数量 * 卷积核 + 偏置
例:Conv1:96个11X11X3的卷积核:96X11X11X3+96=34848
padding:p = (f-1)/2
图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks
训练细节:batch size = 128,momentum = 0.9,weight decay = 0.0005,epoch = 90。

参考链接:
AlexNet的TensorFlow实现以及Keras实现
AlexNet详解