AlexNet
发布日期:2021-05-07 13:29:53 浏览次数:16 分类:精选文章

本文共 1641 字,大约阅读时间需要 5 分钟。

1、AlexNet网络结构(NIPS2012):    

    AlexNet由5个卷积层+3个全连接层组成(不包括LRN层和最大池化层),输入图像大小为224*224*3,第一个卷积层为96个11*11*3的卷积核,步长为4。第二个卷积层为256个5*5*48的卷积核,步长为1。第三个卷积层为384个3*3*256的卷积核,步长为1。第四个卷积层为384个3*3*192个卷积核,步长为1。第五个卷积层为256个3*3*192个卷积核,步长为1。第六个全连接层有2048个神经元,第七个全连接层有2048个神经元,第八个全连接层有1000个神经元,最后是一个softmax回归。

  第二个、第四个和第五个卷积层只与前面一层的相同GPU上的神经元有连接,而第三个卷积层以及最后三个全连接层与前面一层的两块GPU上的所有神经元有连接。局部响应归一化层(LRN)跟随在第一个卷积层和第二个卷积层之后,最大池化层跟随在LRN层之后和第五个卷积层之后。每个卷积层和全连接层之后都跟着一个ReLU的激活函数。此外,前两个全连接层使用了Dropout技术,以0.5的概率忽略掉了一些神经元。 整个网络有6000万个参数,有65000个神经元。

2、数据增强和训练

  ImageNet包含1500万标注的高分辨率的图像,属于22000个类别,在每年一度的ILSVRC比赛中,使用的数据集为ImageNet的一个子集,大约有1000个类别,每个类别1000张图片。总的来说,有120万张训练图片,50000张验证集图片和150000张测试集图片。AlexNet的实验大部分是在ILSVRC2010的实验中做的。由于ImageNet的图像大小是不同的,我们先对原始图片进行缩放,使得图片最小边为256,然后再从中裁剪出256*256的图片。除了减去图像像素均值以外,我们不对图像做任何处理,这样就得到了我们的原始训练集。

  AlexNet做了两个方面的数据增强:第一个是从256*256的图像中随机裁剪出224*224的图像块(并且增加水平翻转),这样的话一张256*256的图片可以转换出2048张224*224的图片,极大的增强了数据集的大小。在做测试的时候,从256*256的图片中的四个角加一个中心裁剪出5张224*224的图片(并做水平翻转),得到10张图片变种,最后的softmax值是这10张图片变种的平均值。第二个数据增强方式是改变训练图像的RGB通道的强度,具体来说,先对所有训练集的的RGB像素值做PCA,然后对于每张训练图片,我们对其加上主成成分的倍数,它的幅度与对应的特征值乘以一个随机变量成比例,这个随机变量取自均值为0方差为0.1的高斯分布。因此对于图像的每个RGB像素值,我们对它加上:

            

  其中是RGB像素3*3协方差矩阵的特征向量和特征值,是上述的随机变量,每张训练图像的相同直到这张图像用于第二次训练。该方案近似地捕获自然图像的重要特性,即对于光照的颜色和强度的改变,物体的类别是不变的。该方案将前top1的错误率降低了1%以上。

  我们用均值为0方差为0.01的高斯分布来初始化所有网络层的权重。第二、第四和第五个卷积层的偏置初始化为1,其它层的偏置初始化为0。训练时使用随机梯度下降法来训练,batchsize为128,momentum为0.9,weight decay为0.0005。对所有网络层使用相同的学习率,并在训练时手动调整学习率,学习率初始化为0.01,当验证误差在当前学习率不再改变时,我们把学习率除以10,当调整学习率达到三次时,我们终止训练。整个训练过程约90个epoch,120万张图片。

3、实验结果

    ILSVRC2010上的top1的错误率为37.5%,top5的错误率为17.0%。

  

4、参考

AlexNet官方代码:

论文:《ImageNet Classification with Deep Convolutional Neural Networks》

上一篇:VGGNet
下一篇:SSL协议、Https、数字证书

发表评论

最新留言

不错!
[***.144.177.141]2025年03月28日 14时16分15秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章