论文学习笔记-Alexnet

论文:Imagenet Classification with Deep Convolutional Neural Networks

这篇论文主要介绍了大名鼎鼎的Alexnet。
abstract:用Alexnet将基于Imagenet数据集的 LSVERC-2010(ILSVERC)比赛中的120万张高分辨率图片分为1000类。top-1 error rate =37.5%,top-5 error rate = 17.0%. Alexnet大约有6000万个参数,650,000个神经元。包含5个卷积层,其中部分卷积层后接最大池化层,三个全连接层。输出层是1000维的softmax函数。使用非饱和神经元和GPU,在全连接层使用dropout。
一、Introduction主要内容:
                                                1.为了提高物体识别的性能,收集更大的数据集,建立更好的模型,使用更多的防止过拟合的技巧。
                2.简单的识别任务可以使用较小的数据集,例如MNIST数字识别任务,其性能已经接近人类的表现。
                                                3.Imagenet 数据集总共包含1500万张高分辨率图片,类别超过22000种。
        4.使用在ILSVERC-2010和ILSVERC-2012比赛中的Imagenet子集(120万张图片,1000类)
                                        5.使用了几个方法去防止过拟合。
        6.用了5个卷积层,且实验结果表面去掉任意一个卷积层,会导致模型性能变差。即使每个卷积层中的参数个数不到总参数个数的1%。
        7.由于显存不足,因此使用了两个GPU(GTX 580 3GB)
       二、 The Dataset主要内容:
                                               1.Imagenet数据集总共包含包含1500万张高分辨率图片,类别超过22000种。这些图片从网络上收集,并用amazon's Mechanical Turk crowd-sourcing tool(有空了解,应该是某种制作标签的工具)制作标签。从2010年开始,Imagenet Large-Scale Visual Recognition Challenge(ILSVRC)成为Visual Recognition Challenge比赛的一部分。ILSVRC 使用的是Imagenet的子集,1000类,每类大约1000张图片。其中,训练集120万张,验证集5万张,测试集 15万张。
2.只有ILSVRC-2010的测试集有标签。(论文发表在2012年,当年是这样,现在情况不清楚)。因此,论文大部分实验用ILSVRC-2010。
                                                3.top-5 :输入一张图片,模型预测5个类别,只有其中有一个类别是正确类别,就算预测正确。
4.Imagenet中包含各种分辨率的图片,而alexnet需要固定分辨率的图片。因此用下采样法将图片调整为256*256.对长方形图片,先将短的边调整为256,再调整长的边为256。
5.对调整后的图像,再做一个处理:对RGB图像,图像中每个像素减去该像素所在通道内的像素平均值,从而实现中心化(centered)。(经过该处理后,图像的每个通道的像素之和为0,有利于加快训练速度。)
       三、 The Architecture主要内容:
1.tanh(x)或sigmoid 为饱和非线性函数。(x大于或小于一定值后,导数趋近与0,即学习变得困难。训练时间增加。)
                                                2.使用ReLU函数,其为非饱和非线性函数,可以大幅度减小训练时间。(x大于0,导数等于1,学习能力保持不变。x小于0,导数为0,不学习。更符合人类神经元激活机理。还有更好的leaky Relu函数。)
3.论文中还提及f(x)=|tanh(x)|函数,该函数可以防止过拟合。
                                                4.两个cross-GPU可以进行并行运算。且两个GPU能够不通过计算机内存而直接相互读写。
                                                5.在并行运算中,每个GPU输入输入一半的kernel(这里的kernel 包括卷积层和池化层的feature map,也包括全连接层的神经元。
                                                6.还有一个小技巧:在第3层,每个GPU都输入所有kernel map(kernel map 应该就是feature map)
                                                7.论文中还提到,两个3gb的GPU比一个6gb的GPU花费更少的训练时间。主要原因是Alexnet中的大部分参数都在全连接层中,而用相同量的数据训练含4096个神经元的网络比同时训练两个含2048个神经元的网络花费更多时间。
                                                8.Local Response Normalization(LRN):局部响应归一化。主要模仿的是生物神经系统中的侧抑制机制(lateral inhibition),可以理解为当某个神经元处于高度兴奋状态时,会抑制它相邻神经元(’adjcent‘)。例如,当我们特别高兴时,我们被扎一针,我们也许不会有平时那样的疼痛感,即管理疼痛的神经元被抑制了。
        9.最大池化层。通常,最大池化层,stride=size。但该论文中,size=3,stride=2';有轻微的防止过拟合的作用。
                                                10.整体结构。图片输入为224*224*3,第一层:11*11*3的卷积核,stride=4,且两个GPU分别输出48个kernel,总共96个kernel(feature map),。下一层的每个feature map大小为(ceil(224-11)/4)+1 =55,其中ceil(x)表示不小于x的最小整数,例如ceil(5.5)=6。
四、防止过拟合
1.数据增强,图像平移和水平镜像。将256*256的图片随机提取出224*224patch(不是很理解这patch的具体含义:究竟是从256*256中随机选出224*224个像素再按顺序组合,还是必须是256*256个中选择连续的224*224,).并生成这些224*224的水平镜像。数据集总共扩大2048倍(256-224)*(256-224)*2=2048.
2.PCA(没有看懂这部分,以后在看。)
                                                3.在全连接层使用dropout。使用dropout 可以使神经元不依赖其他神经元的出现。训练阶段,dropout=0.5,在测试阶段,使用所用神经元,但每个神经元的输出值需乘以0.5.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值