浅述经典的4种卷积网络之(1)AlexNet

这里不对AlexNet网络进行详细的原理阐述,只是卷积网络的由来以及网络结构和网络参数进行叙述,然后通过tensorflow进行代码实现,参看《tensorflow实战》。
1.AlexNet网络叙述
获得2012年ILSVRC比赛分类项目的冠军,top-5错误率16.4%,使用额外数据可达到15.3%2012年Hinton的学生Alex Krizhevsky提出了深度卷积神经网络模型AlexNet,是LeNet的更深更宽版本。包含了6亿3000万个连接,6000个参数和65万个神经元,8层神经网络(不包括池化和LRN),其中有5个卷积层,其中三个卷积层后面连接了最大池化层,最后还有3个全连接层。最后一层是有1000类输出的softmax层用作分类,LRN出现在第一个和第二个卷积层后,而最大池化层出现在两个LRN和最后一个卷积层后,ReLU则应用在这8个层每一层的后面,AlexNet训练时使用2个GPU,故结构图部分被拆为2个部分。

图1 AlexNet网络结构图
如图1所示,我们可以分析网络经过卷积和池化之后的参数数量:

layerinput sizefilter sizefilter numberoutput sizestridespooling type
conv1224*224*311*11*39655*55*964valid
LRN1
max pooling155*55*963*39627*27*962valid
conv227*27*965*5*9625627*27*2561same
LRN2
max pooling227*27*2563*325613*13*2562valid
conv313*13*2563*3*25638413*13*3841same
conv413*13*3843*3*38438413*13*3841same
conv513*13*3843*3*38425613*13*2561same
max pooling313*13*2563*32566*6*2562valid
FC16*6*2564096
FC240964096
FC340961000

AlexNet首次在CNN中成功应用了ReLU、Dropout和LRN等Trick,AlexNet包含了几个新的技术点如下:
①成功使用ReLU作为CNN的激活函数,验证其在深层网络上超过sigmoid函数,成功解决了sigmoid在网路较深时的梯度弥散问题。
②训练时采用dropout随机忽略一部分神经元,以避免过拟合。在AlexNet里面将最后几个全连接层使用了dropout。
③在CNN中使用重叠的最大池化层。此前CNN一般使用平均池化,AlexNet避免了平均池化带来的模糊效果,并且提出了让步长比池化尺寸小,这样池化的输出之间会有覆盖和重叠,提升了特征的丰富性。
④提出了LRN层,对局部神经元的活动创建竞争机制,使得响应较大的值变得相对更大,并抑制其他反馈小的神经元,增强了模型泛化能力。
⑤使用CUDA加速深度网路的训练,利用GPU强大的计算能力,处理神经网络训练时大量的矩阵运算。
⑥数据增强,随机从256*256的原始图像中截取224*224大小的区域(以及水平翻转的镜像),相当于增加了(256-224)^2*2=2048倍的数据量。减轻过拟合,增强泛化能力。进行预测时,取图片的四个角和中间并进行左右翻转,总共获取10张图片进行识别,最后对十次结果求平均值。同时,AlexNet提到对rgb图像进行PCA处理,并对主成分做一个标准差为0.1的高斯扰动,这个trick可以下降1%错误率。
2.AlexNet网络tensorflow实现

啦啦啦~后续待进啦啦啦~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值