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不同的类别中,分类结果比以往的神经网络的分类都要好.为了训练更快,使 ...
随机推荐
- 【服务器防护】linux 如何查看防火墙是否开启
service iptables status可以查看到iptables服务的当前状态.但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置 iptables -L在此说一下关于启动和关 ...
- Vim进阶技术:搜索和替换
行内搜索 行内搜索,也就是在当前行内进行搜索和移动,通常都与编辑命令一起使用. fx -- 移动到下一个字符x的位置,光标停留在x字符上面 tx -- 移动到下一个字符x的位置,光标停留在x前一个字符 ...
- 怎么修改Elasticsearch的对外ip 默认是本地IP 127.0.0.1
//修改C:\Program Files\elasticsearch-2.1.1\config\elasticsearch.yml: network.bind_host: 172.16.1.86 pa ...
- iOS 碰撞检測以及事件响应
*/ //碰撞检測 //碰撞检測de过程 //碰撞检測 //碰撞检測 //碰撞检測 //UIApplication-> UIWindow-> UIController-> 视图控制器 ...
- CentOS 6.9升级GCC至7.3.0版本
1.查看当前centos版本: cat /etc/redhat-release 2. 安装centos6.9默认的开发工具,包含gcc,g++,make等等一系列工具: yum groupinsta ...
- 黑客编程教程(十四)单线程TCP端口扫描器
#include<winsock2.h> #include<stdio.h> #include <time.h> //计时需要用到的头文件 #pragma comm ...
- ny79 拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...
- shell echo -n md5sum使用方法
#!/bin/bash MYSQL='mysql -u*** -p*** -hws5 account' tmp="tmp" resultsource="resultsou ...
- 关于HTML、XHTML、CSS、XML的区别
1.HTML(Hyper Text Mark-up Language) HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是为“网页创建和其他可在 ...
- 如何在 Java 中正确使用 wait, notify 和 notifyAll?
简介 wait,notify,notifyAll,都是属于object对象提供的方法,但在实际工作中怎么使用这几个方法,确是很多程序员清楚,不够明白,在群里问,有人说,哪个线程想wait,就用 ...