论文阅读:ImageNet Classification with Deep Convolutional Neural Networks

此篇文章是AlexNet的产生

论文中原图.png

细节放大图.png

image.png
1 前言

在2010年的ImageNet LSVRC-2010上,AlexNet在给包含有1000种类别的共120万张高分辨率图片的分类任务中,在测试集上的top-1和top-5错误率为37.5%和17.0%(top-5 错误率:即对一张图像预测5个类别,只要有一个和人工标注类别相同就算对,否则算错。同理top-1对一张图像只预测1个类别),在ImageNet LSVRC-2012的比赛中,取得了top-5错误率为15.3%的成绩。AlexNet有6亿个参数和650,000个神经元,包含5个卷积层,有些层后面跟了max-pooling层,3个全连接层,为了减少过拟合,在全连接层使用了dropout,下面进行更加详细的介绍。

2 数据集

数据来源于ImageNet,训练集包含120万张图片,验证集包含5万张图片,测试集包含15万张图片,这些图片分为了1000个类别,并且有多种不同的分辨率,但是AlexNet的输入要求是固定的分辨率,为了解决这个问题,Alex的团队采用低采样率把每张图片的分辨率降为256×256,具体方法就是给定一张矩形图像,首先重新缩放图像,使得较短边的长度为256,然后从结果图像的中心裁剪出256×256大小的图片。

3 网络结构
3.1 非线性ReLU函数

在当时,标准的神经元激活函数是tanh()函数,这种饱和的非线性函数在梯度下降的时候要比非饱和的非线性函数慢得多,因此,在AlexNet中使用ReLU函数作为激活函数。figure1展示了在一个4层的卷积网络中使用ReLU函数在CIFAR-10数据集上达到25%的训练错误率要比在相同网络相同条件下使用tanh函数快6倍。

3.2 多GPU训练

AlexNet采用两路GTX 580 3G并行训练,将一半的kernals或neurons放在每个GPU上,且GPU只在特定的层进行通信。


image.png
3.3 局部响应归一化 LRN

ReLU函数不像tanh和sigmoid一样有一个有限的值域区间,所以在ReLU之后需要进行归一化处理,LRN的思想来源于神经生物学中一个叫做“侧抑制”的概念,指的是被激活的神经元抑制周围的神经元。计算公式:
bi x,y表示第i个卷积核进行卷积计算再通过ReLU之后的输出在位置(x,y)处神经元的激活值
ai x,y表示归一化之后的值
n表示与卷积核i毗邻的k个卷积核,超参数,一般设为5
N表示卷积核的总数
α = 10−4, and β = 0.75 两个超参数

3.4 重叠池化

重叠池化就是指相邻池化窗口之间有重叠部分,更确切地说,池化层可以看作是由间隔为s的池化单元的网格组成,每个池化单元总结了以合并单元的位置为中心的大小为z × z的邻域,即池化大小为z,步长为s,当s < z时就是重叠池化。在整个网络中使用了s = 2, z = 3

3.5 总体结构

网络的最后一层(Full8)的输出喂给了一个包含1000个单元的softmax层,用来对1000个标签进行预测。响应归一化层(Response-normalization layers)跟在第1和第2卷积层后面,Max-pooling层跟在Response-normalization层和第5卷积层后面,ReLU激活函数应用与所有卷积层和全连接层输出后。

4 减少过拟合--两种方法减少过拟合
4.1 数据增大

早期最常见的针对图像数据减少过拟合的方法就是人工地增大数据集,AlexNet中使用了两种增大数据量的方法:
第一,镜像反射和随机剪裁。
先对图像做镜像反射,然后在原图和镜像反射的图(256×256)中随机抽取227×227的块。通过这种方法,使得训练集的大小增大了2048倍,尽管由此产生的训练样例会产生高度的相互依赖。但是不使用这种方法又会导致严重的过拟合,迫使我们使用更小的网络。在测试的时候,AlexNet会抽取测试样本及其镜像反射图各5块(总共10块,四个角和中心位置)来进行预测,预测结果是这10个块的softmax块的平均值。
第二,改变训练图像中RGB通道的强度
对整个ImageNet训练集的RGB像素值集进行PCA(主成分分析),对于每张图片,将找到的主成分的倍数相加,其大小与相应的特征值成比例,乘以均值为0,标准偏差为0.1的高斯分布所绘制的随机变量。
pi和λi分别为RGB像素值的3 × 3协方差矩阵的第i个特征向量和特征值,αi即前面提到的随机变量,对于一个特定训练图像的所有像素,每个αi只绘制一次,直到该图像被再次用于训练,这时它被重新绘制。该方案近似地捕捉到了自然图像的一个重要特性,即物体标识不随光照强度和颜色的变化而变化。

4.2 Dropout

在AlexNet中设置的失活概率为0.5,在测试的时候,再使用所用的神经元但是要给它们的输出都乘以0.5。

5 更多细节

AlexNet使用随机梯度下降算法,batch大小是128,动量衰减参数设置为0.9,权重衰减参数为0.0005,这里的权重衰减不仅仅是一个正规化器,同时它减少了模型的训练误差,权重 的更新过程变为: 其中, 是迭代次数索引, 是momentum变量, 是学习速率, 是第 个batch中 的梯度的平均值。

另外,在AlexNet中,所以层的权重 初始化为服从0均值,标准差为0.001的高斯分布,第2、4、5卷积层以及全连接层的偏置量 初始化为1,这样做的好处是它通过给ReLU函数一个正激励从而加速早期学习的速度。其他层的偏置量初始化为0.

你可能感兴趣的:(论文阅读:ImageNet Classification with Deep Convolutional Neural Networks)