这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章。因为在之前,人们一直质疑深度学习的强大有能力。

大家看看它的引用数目就知道它很厉害了,,9000多的引用。。

作者为:Hinton的学生与Hioton:

Krizhevsky A
Sutskever I
Hinton GE

要想训练好一个深层的神经网络,需要 :很大的 datasets, 很强大的硬件,很好的抵制overfitting的机制等。

文章用的dataset: Imagenet 数据集的一个subset, 包括:1.2M个样本,1000个种类。另外还有,50000的validation 数据集,150000的测试集。

ILSVRC是从2010年开始的,在2010年时,比赛的test dataset是公开的,以后的都不是公开的。这个挑战赛的常用的两个誤差标准:一个是top-1 error,一个是top-5 error,(这个在之前写的文章里都有提及到了)

网络的结构:

整体是这样的,

224*224*3的输入, 后面5个卷积层,再后面三个全连接层,最后一个softmax层分类。

具体参数吧,图上写的很清楚的:你看看啊,输入层为 224*224*3, 第一层的卷积核大小为11*11*3,共96个,然后第二层的卷积层的输入为 55*55*48(是从上面96个卷积核生成的feature maps 中选择了一半),第二层的卷积核为:5*5*48,共256个,,等 。。。。后面的看看论文,里面有。。

不过要说明一点的是:对于选择不同的feature作为输入时,会根据是不是在同一个GPU进行选择,文章说明这一点了,可能目的为了用双GPU训练时,实现起来简单一些,且速度快一些吧。

结构相对几点重要的地方:

第一,使用的激活函数为:Rectified Linear Units(ReLUs). 可以很好地提高学习速度,因为这个激活函数为non-saturating function.

第二,训练在多块GPU上,不过它怎么实现的吧,看着的有点乱。。。不很明白,可能没有编程的原因,应该是这样的。

第三点,使用了 Local Response Normalization, (我的翻译为:局部响应标准化),公式是这样的:

公式怎么来的,没有说啊。不过它的目的就是在相对的局位置上,在相邻有不同的卷积核(文中也说了,这个卷积核的排序为任意且的训练之间就是选择了的哦)之间进行相互的一个侧向抑制。这么做的原因是因为:在现实中,动物的神经元之间就会有一个侧向抑制。参数的选择吧,要自己来调整。。

第四点,重叠pooling,这个不解释,就是在pooling的时候会发生重叠。

降低Overfitting的方法

第一点,也是常用的方法:人为扩大训练样本。

文中的方法1:在256*256的大样本中,选择5个224*224的patches(左上,左下,右上,右上,中间),再加上水平翻转,共10个了吧。

方法2: altering the intensities of the RGB channels in training images. 文中的方法是什么通过PCA(主成份分析)的方法啥的,反正看了一会没有看懂,也就不看了吧。

第二点: dropout机制, dropout的概率为0.5,有作用。。简单地说,就是在训练网络过程中,让一些的neunon的不起作用,这样训练出来的神经网络应该说是很均匀,不过过度依赖某些的units,  采用dropout时,注意一点:在测试的时候注意把进行dropout机制的那些神经元的输出乘以0.5.

其它细节:

batch sizes为:128,

采用梯度下降法训练,权值更新公式:

等。。。

说一点:学习速率的改变方法:初始化为0.01,在训练过程中,当网络的validation error 不再下降时,把学习速率缩小10倍,如此反复进行3次就可以啦。

最后结果表明:效果很不错。

最后加一句,文中的原话:

Another way to probe the network’s visual knowledge is to consider the feature activations induced by an image at the last, 4096-dimensional hidden layer.

ImageNet Classification with Deep Convolutional Neural Networks 论文解读的更多相关文章

  1. AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...

  2. 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析

    <ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...

  3. ImageNet Classification with Deep Convolutional Neural Networks(译文)转载

    ImageNet Classification with Deep Convolutional Neural Networks Alex Krizhevsky, Ilya Sutskever, Geo ...

  4. 中文版 ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 摘要 我们训练了一个大型深度卷积神经网络来将ImageNet LSVRC ...

  5. 论文解读《ImageNet Classification with Deep Convolutional Neural Networks》

    这篇论文提出了AlexNet,奠定了深度学习在CV领域中的地位. 1. ReLu激活函数 2. Dropout 3. 数据增强 网络的架构如图所示 包含八个学习层:五个卷积神经网络和三个全连接网络,并 ...

  6. [论文阅读] ImageNet Classification with Deep Convolutional Neural Networks(传说中的AlexNet)

    这篇文章使用的AlexNet网络,在2012年的ImageNet(ILSVRC-2012)竞赛中获得第一名,top-5的测试误差为15.3%,相比于第二名26.2%的误差降低了不少. 本文的创新点: ...

  7. 论文阅读笔记二-ImageNet Classification with Deep Convolutional Neural Networks

    分类的数据大小:1.2million 张,包括1000个类别. 网络结构:60million个参数,650,000个神经元.网络由5层卷积层,其中由最大值池化层和三个1000输出的(与图片的类别数相同 ...

  8. AlexNet——ImageNet Classification with Deep Convolutional Neural Networks

    1. 摘要 本文的模型采用了 5 层的卷积,一些层后面还紧跟着最大池化层,和 3 层的全连接,最后是一个 1000 维的 softmax 来进行分类. 为了减少过拟合,在全连接层采取了 dropout ...

  9. 阅读笔记:ImageNet Classification with Deep Convolutional Neural Networks

    概要: 本文中的Alexnet神经网络在LSVRC-2010图像分类比赛中得到了第一名和第五名,将120万高分辨率的图像分到1000不同的类别中,分类结果比以往的神经网络的分类都要好.为了训练更快,使 ...

随机推荐

  1. SVNserver搭建

    SVN是Subversion的简称,是一个开放源码的版本号控制系统. 它由server和client组成,今天就带大家一起在server端搭建一个server. 前提:安装server端:Visual ...

  2. 计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序猿都非常懒.你懂的! java程序猿在实际的开发中会遇到非常多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下.一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们 ...

  3. kafka linux 启动脚本 sample

    #!/bin/sh # # chkconfig: 345 99 01 # description: Kafka # # File : Kafka # # Description: Starts and ...

  4. Java experts blog

    https://blogs.oracle.com/poonam/ https://blogs.oracle.com/poonam/entry/updates_to_the_java_troublesh ...

  5. 程序挂在dynamic_cast<CCObject*>(pDelegate)->retain();

    CCTargetedTouchDelegate 的继承 和 dynamic_cast 想写个可以响应touch的sprite 类定义成了这个样子: class GemBoard : public CC ...

  6. 每日英语:For Michael Dell, Saving His Deal Is Just First Step

    Michael Dell is set to win a bruising, yearlong battle for control of his company. His next task -- ...

  7. python(21)实现多进程(1)

    参考链接:http://www.cnblogs.com/kaituorensheng/p/4445418.html python多进程:multiprocessing python中的多线程其实并不是 ...

  8. Dubbo服务降级设置

    dubbo降级服务     dubbo开发中,通常是微服务架构,那么在使用过程中可能会遇到多种问题: 1)多个服务之间可能由于服务没有启动或者网络不通,调用中会出现远程调用失败; 2) 服务请求过大, ...

  9. js 中object对象的操作

    n = object对象 for(var p in n){ console.log(p);// 取得是key值 console.log(n[p]);//取得是value值 } 继之前js中数组的常用方 ...

  10. java 读取execl文件

    java 中读取execl文件是必要功能,下面说下几种读取方式 1.jxl   (支持2003 不支持 2007  貌似最新版支持) /**    * 规则设置的模板导入    * @param fi ...