神经网络:AlexNet
来源:互联网 发布:昆明知行素质教育中心 编辑:程序博客网 时间:2024/05/16 04:59
《ImageNet Classification with Deep Convolutional Neural Networks》论文解读
本文出自NIPS2012,作者是大神Alex Krizhevsky,属于多伦多大学Hinton组。
概述
本文提出的神经网络结构被成为AlexNet,在我最近的研究学习中发现,这一结构及其变种在很多任务中都有使用,回过头来重温一下这篇论文仍然是有必要的。归根到底,本文网络结构相对较浅,而且能够提取到比较丰富的特征,而很多任务的数据集无法达到ImageNet的规模,使用AlexNet是比较好的特征提取方法。本文相对较“老”,其中的很多技术早已耳熟能详,有兴趣的可以去阅读相关资料。
结构
AlexNet有5个卷积层和3个全连接层,作者发现移除任意一层都会降低最终的效果。网络结构如图:
这个网络前面5层是卷积层,后面三层是全连接层,最终softmax输出是1000类。具体分析第一层:
输入图片为224*224*3,卷积核大小为11*11*3,步长为4,输出为55*55*96。
ReLU
AlexNet使用ReLU代替了传统的激活函数,而现在ReLU已经广泛地使用在了各种CNN结构中。关于ReLU这里已经没必要讲了,在2012年算是新颖的技术,到今天已经是遍地开花了。
Multiple GPU
AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信,当今的深度学习已经基本都是在显卡上完成的。两块GPU各训练网络的一部分,在第二个卷积层和全连接层才需要互相通信。
在卷积层之间还需要加上Local Response Normalization和Overlap Pooling。
Local Response Normalization
ReLU本来是不需要对输入进行标准化,但本文发现进行局部标准化能提高性能。
其中
Overlap Pooling
一般的Pooling是不重叠的,而AlexNet使用的Pooling是可重叠的,也就是说,在池化的时候,每次移动的步长小于池化的边长。AlexNet池化的大小为3*3的正方形,每次池化移动步长为2,这样就会出现重叠。
总体而言,AlexNet网络的结构如下:
减小过拟合
AlexNet有6000万个参数,需要考虑过拟合的问题。
数据增强
对图片进行一些变换可以增大数据集。第一种方法是:原始图片大小为256*256,在图片上随机选取224*224的小块进行训练,还可以这些小块进行水平翻转进一步增加数据量。另一种方法是使用PCA改变训练图像RGB通道的像素值。
Dropout
这个方法现在也是大量使用。Dropout将隐层输出以一定的概率置0,这个神经元就不参与前向和后向传播,就如同在网络中删除了一样。Dropout也可以看成是一种模型组合,每个样本都是不一样的网络结构。Dropout减少了神经元之间的共适应关系(co-adaptation),一个神经元不再依赖另一个神经元,强迫网络学习到更加鲁棒的特征表示。
训练
使用SGD进行训练,batch大小为128,momentum为0.9,weight decay为0.0005。迭代公式:
在两块GTX580上花费了6天时间。
结果
在ILSVRC-2010上,top-1错误率为37.5%,top-5错误率为17.0%。比较有趣的是对96个11*11*3的卷积和进行可视化:
可以看到这些卷积核学习到了很多和频率、方向相关的特征,而且在第一个GPU上大多是没有颜色,而第二个是有颜色的,这样的结果和初始化值无关。神经网络最后一层4096维的向量可以作为图像的高级特征,这样的特征可以用于其他的任务中。
- 神经网络:AlexNet
- AlexNet深度卷积神经网络
- 经典的卷积神经网络-AlexNet
- 【卷积神经网络-进化史】从LeNet到AlexNet
- 【卷积神经网络-进化史】从LeNet到AlexNet
- 【卷积神经网络-进化史】从LeNet到AlexNet
- 【Deep Learning】tensorflow实现卷积神经网络(AlexNet)
- 神经网络模型之AlexNet的一些总结
- 深度学习经典卷积神经网络之AlexNet
- 卷积神经网络-进化史 | 从LeNet到AlexNet
- 神经网络模型之AlexNet的一些总结
- alexnet
- AlexNet
- Alexnet
- Alexnet
- Alexnet
- AlexNet
- AlexNet
- requests和BeautifulSoup组合爬虫技术
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- TCP/IP、Http、Socket的区别
- Nginx apache纯静态伪静态原理与实现方案
- 所有的iPhone设备cell的宽度都是320,解决办法是?
- 神经网络:AlexNet
- NLP(paper + code)
- Android开发-DesignDemo-AndroidStudio(十)FloatingActionButton(2)
- kubernetes中证书生成
- PHP 页面编码声明方法详解(header或meta)
- 处理activity被系统回收保存数据和取出数据的问题(拍照)
- <<从你的全世界路过>>
- 135. Candy
- Hibernate环境搭建以及HelloWorld