加载中…
正文 字体大小:

ImageNet Classification with Deep Convolutional Neural Networks 阅读笔记

(2013-07-06 22:16:36)
标签:

deep_learning

imagenet

hinton

分类: 机器学习
(决定以后每读一篇论文,都将笔记记录于博客上。)

这篇发表于NIPS2012的文章,是Hinton与其学生为了回应别人对于deep learning的质疑而将deep learning用于ImageNet(图像识别目前最大的数据库)上,最终取得了非常惊人的结果,其结果相对原来的state of the art好了非常多(前5选错误率由25%降低为17%)。

ImageNet目前共包含大约22000类,15兆左右的标定图像。其中,目前最常用的LSVRC-2010 contest包含1000类,1.2兆图像。本文的结果在这个测试集上得到了前五选错误率17%的结果。


下图给出了整个deep net的结构:
ImageNet <wbr>Classification <wbr>with <wbr>Deep <wbr>Convolutional <wbr>Neural <wbr>Networks <wbr>阅读笔记

共包含8层,其中前5层是cnn,后面3层是全连接的网络,其中最后一层是softmax组成的输出决策层(输出节点数等于类别数目1000)。

具体的实现上,这篇文章在结构上面的一些改进在于:
1,采用ReLU来代替传统的tanh引入非线性,;
2,采用2块显卡来进行并行计算,减少了更多显卡需要host传递数据的时间消耗,在结构上,部分分布在不同显卡上面的前后层节点之间无连接,从而提高了训练速度;
3,同层相邻节点的响应进行局部归一化提高了识别率(top5错误率降低1.2%);
4,有交叠的pooling(top5错误率降低0.3%);

此外,为了降低over-fitting,文章采用了两种方式:
1,数据加强:
对训练数据进行左右对称以及平移变换,将训练数据增加为原来的2048倍;对像素进行PCA变换构造新样本(此机制使得top5错误率降低%1);
2,Dropout:

优化算法:
采用mini-batch SGD算法来优化,每个batch128个样本,momentum = 0.9, weight decay = 0.0005
ImageNet <wbr>Classification <wbr>with <wbr>Deep <wbr>Convolutional <wbr>Neural <wbr>Networks <wbr>阅读笔记

随机初始化权重和bias(具体随机参数请参见论文)

论文链接:

源码地址:
http://code.google.com/p/cuda-convnet/

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有