论文阅读:深度卷积神经网络的图像网络分类。
在2010的imagenet lsvrc-2010上,在对* * * 1000个类别的1.2万张高分辨率图片进行分类的任务中,测试集上top-1和top-5的错误率分别为37.5%和655。同样,top-1只对一个图像预测1个类别),在ImageNet LSVRC-2012的比赛中,top-5的错误率为15.3%。AlexNet拥有6亿个参数和65万个神经元,包括五个卷积层,其中一些卷积层后面是max-pooling层和三个全连接层。为了减少过拟合,在完全连接的层中使用了漏接,这将在下面更详细地描述。
数据来自ImageNet。训练集包含654.38+0.2万张图片,验证集包含5万张图片,测试集包含654.38+0.5万张图片。这些图片分为654.38+0.000类别,有很多不同的分辨率,但是AlexNet的输入要求是固定分辨率。为了解决这个问题,Alex的团队使用了低采样率,将每张图片的分辨率降低到256×256。具体方法是给定一个矩形图像,先对图像进行重新缩放,使其短边的长度为256,然后从结果图像的中心裁剪出尺寸为256×256的图片。
当时标准的神经元激活函数是tanh()函数,这个饱和的非线性函数在梯度减小时比不饱和的非线性函数慢很多。因此,ReLU函数被用作AlexNet中的激活函数。图1表明,在4层卷积网络中使用ReLU函数在CIFAR-10数据集上25%的训练错误率比在相同条件下在相同网络中使用tanh函数快6倍。
AlexNet采用两条GTX 580 3G并行训练路径,将一半内核或神经元放在每个GPU上,GPU只在特定层进行通信。
ReLU函数不像tanh和sigmoid那样有限定的范围,需要在ReLU之后进行归一化。LRN的想法来自于神经生物学中一个叫做“侧抑制”的概念,这意味着被激活的神经元会抑制周围的神经元。计算公式:
Bi x,y表示由第I个卷积核进行卷积计算,然后通过ReLU后,位置(x,y)处神经元的激活值。
Ai x,y表示归一化值。
n代表与卷积核I相邻的k个卷积核,卷积核I是一个超参数,一般设置为5。
n表示卷积核的总数。
α = 10?4,且β = 0.75。
重叠池意味着相邻池窗口之间有重叠部分。更准确地说,池层可以看作是间隔为s的池单元的网格,每个池单元以合并单元的位置为中心概括出一个大小为z × z的邻域,即池大小为z,步长为s .当s
网络的最后一层(Full8)的输出被馈送到包含1000个单元的softmax层,该层用于预测1000个标签。响应规范化图层位于1和第二个卷积图层之后,最大池化图层位于响应规范化图层和第五个卷积图层之后,ReLU激活函数应用于所有卷积图层和完全连接图层。
早期,减少图像数据过拟合最常用的方法是人为增加数据集。AlexNet使用两种方法来增加数据量:
第一,镜面反射和随机剪裁。
首先镜像图像,然后从原始图像和镜像图像(256×256)中随机选取227×227块。通过这种方法,训练集的大小增加了2048倍,尽管得到的训练样本将是高度相互依赖的。但是不使用这种方法会导致严重的过拟合,迫使我们使用更小的网络。测试时,AlexNet会提取5个测试样本及其镜像(共***10个块,四个角和中心位置)进行预测,预测结果是softmax的这10个块的平均值。
第二,改变训练图像中RGB通道的强度。
对整个ImageNet训练集的RGB像素值集进行PCA(主成分分析)。对于每张图片,将找到的主成分的倍数相加,其大小与对应的特征值成正比,再乘以由均值为0、标准差为0.1的高斯分布绘制的随机变量。
Pi和λi分别是RGB像素值的3 × 3协方差矩阵的第I个特征向量和特征值。αi是上面提到的随机变量。对于特定训练图像的所有像素,每个αi仅被绘制一次,直到该图像被再次用于训练,此时它被重新绘制。该方案近似地捕捉到了自然图像的一个重要特征,即物体识别不随光照强度和颜色的变化而变化。
AlexNet中设置的失活概率为0.5。测试时,使用过的神经元被重复使用,但它们的输出被乘以0.5。
AlexNet采用随机梯度下降算法,批量为128,动量衰减参数设置为0.9,权重衰减参数为0.0005。这里的权值衰减不仅是归一化器,还减少了模型的训练误差,权值更新过程就变成了:其中是迭代指数,动量变量,学习率,第一批梯度的平均值。
另外,在AlexNet中,层的权重初始化为高斯分布,均值为0,标准差为0.001,第2、4、5卷积层和全连通层的偏移量初始化为1。这样做的好处是,通过给ReLU函数一个正向激励,加快了早期学习速度。其他层的偏移被初始化为0。