ImageNet Classification with Deep Convolutional Neural Networks 论文解读
这个论文应该算是把深度学习应用到图片识别(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 论文解读的更多相关文章
- AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...
- 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析
<ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...
- ImageNet Classification with Deep Convolutional Neural Networks(译文)转载
ImageNet Classification with Deep Convolutional Neural Networks Alex Krizhevsky, Ilya Sutskever, Geo ...
- 中文版 ImageNet Classification with Deep Convolutional Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks 摘要 我们训练了一个大型深度卷积神经网络来将ImageNet LSVRC ...
- 论文解读《ImageNet Classification with Deep Convolutional Neural Networks》
这篇论文提出了AlexNet,奠定了深度学习在CV领域中的地位. 1. ReLu激活函数 2. Dropout 3. 数据增强 网络的架构如图所示 包含八个学习层:五个卷积神经网络和三个全连接网络,并 ...
- [论文阅读] ImageNet Classification with Deep Convolutional Neural Networks(传说中的AlexNet)
这篇文章使用的AlexNet网络,在2012年的ImageNet(ILSVRC-2012)竞赛中获得第一名,top-5的测试误差为15.3%,相比于第二名26.2%的误差降低了不少. 本文的创新点: ...
- 论文阅读笔记二-ImageNet Classification with Deep Convolutional Neural Networks
分类的数据大小:1.2million 张,包括1000个类别. 网络结构:60million个参数,650,000个神经元.网络由5层卷积层,其中由最大值池化层和三个1000输出的(与图片的类别数相同 ...
- AlexNet——ImageNet Classification with Deep Convolutional Neural Networks
1. 摘要 本文的模型采用了 5 层的卷积,一些层后面还紧跟着最大池化层,和 3 层的全连接,最后是一个 1000 维的 softmax 来进行分类. 为了减少过拟合,在全连接层采取了 dropout ...
- 阅读笔记:ImageNet Classification with Deep Convolutional Neural Networks
概要: 本文中的Alexnet神经网络在LSVRC-2010图像分类比赛中得到了第一名和第五名,将120万高分辨率的图像分到1000不同的类别中,分类结果比以往的神经网络的分类都要好.为了训练更快,使 ...
随机推荐
- CListCtrl控件中显示进度条
CListCtrl控件的subitem中显示进度条 http://www.codeproject.com/Articles/6813/List-Control-Extended-for-Progres ...
- Java和C++通过Socket通信中文乱码的解决
理想的开发状态是我开始就是C开发,一直是C的开发,现在还是C的开发,若干年后,幸运的话,我可以成为C语言的高手或者专家…… 更实际的情况是我开始是C开发,后来变成了JAVA开发,然后又做起了VC++的 ...
- Git 基本分支规范
基本代码分支应该分为两类,一类是主要分支,包括线上主分支 Master 和开发主分支Develop:另一类是辅助分支,包括测试分支 Release,线上紧急修复分支 Hotfix,以及功能开发分支 F ...
- python AES双向对称加密解密
高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分 ...
- MySQL数据分组GROUP BY 和HAVING
对于分组的理解,可以这样:对GROUP BY子句后面跟随的列名进行分组,然后对每一个分组而不是整个表进行操作. 举例如下:在产品表中,检索每一个供应商提供的商品的数量. mysql> SELEC ...
- JavaScript使用小技巧
原文:45 Useful JavaScript Tips, Tricks and Best Practices作者:Saad Mousliki 在这篇文章里,我将分享一些JavaScript的技巧.秘 ...
- What’s a service mesh? And why do I need one?
https://buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/ Update 2018-02-06: Since t ...
- C中的空宏定义,即只有一个参数
空宏定义的测试代码 #include <stdio.h> #define D(x) int main() { D(printf("null macro")); retu ...
- 与平台无关的类型,int8_t,uint8_t
pecific integral type limits Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Va ...
- 每日英语:Hong Kong Lifestyle Strains City's Resources
Hong Kong's rapacious consumption and waste production is straining its natural resources and could ...