alexnet的程序代码实现及解释_AlexNet

介绍

AlexNet是2012 ImageNet竞赛的冠军,ALexNet有很多开创的进展。

1) 2012 Most Deep CNN Network on ImageNet

2) highly optimized GPU 实现以及多GPU训练

3)许多开创性的方式训练技术以及处理overfitting手段

多GPU多channel训练

使用relu 非线性函数

采用dropout技术

架构

Relu

在AlexNet之前,大部分神经网络的激活函数是tanh和sigmoid这样饱和的非线性函数,这样非线性函数存在收敛比较慢的缺点。在AlexNet中,引入Relu激活函数,基本成为后续deep neural network的标配。

(relu和tanh收敛速度对比)

多GPU训练

由于当初的硬件局限,采用2个GTX580 GPU一起来训练AlexNet,这也是后面提到多channel(cardinality)的技术。大部分训练都是在独立GPU进行,只是在第3层CNN和后面全连接层有跨GPU的数据交换。

LRN

在AlexNet采用LRN来实现单侧抑制化来提供泛化能力,后续的其他网络没有采用LRN技术。

overlapping pooling

在传统的pooling,pooling的单元大小(Z*Z)和stride(S)是一样。在AlexNet采用重叠池化(overlapping Pooling),其中步长小于单元大小(Z),池化剑存在重叠。

重叠池化能提升能top1和top5分别提升 .4% 和 0.3%,

整体架构

ALexNet模型

AlexNet总共8层网络(5个CNN层和3个全连接层)

参数规模如下:

参数规模

可以看出参数主要集中全连接层,CNN参数规模比较小。

过拟合处理方法

数据增强

1)在原始图片上面截取224*224 patch,并且对图片翻转. 通过该操作能增加数据集合2048倍

2)

dropout

采用DropOut(相当于ensemble)在全连接层随机删除部分50%的connection来增强网络的泛化能力

DropOut

AlextNet在2012ImageNet

AlexNet在2012 ImageNet取第一名的成绩,TOP 1(36.7%) ,TOP5(15.4%)

代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值