AlexNet模型
AlexNet模型
《ImageNet Classification with Deep Convolutional Neural Networks》阅读笔记
一直在使用AlexNet,本来早应该读这篇经典论文了。可能是这篇论文涉及到的理论有点多,解释不是很通俗,有了一段时间的实际经验后读完这篇论文深有感悟。
下面按论文的标题分别记录:
The Dataset
ILSVRC:1000类,每类约1000张图片,大约有120w训练图片,5w张验证图片,15w张测试图片。
AlexNet输入为固定尺寸:256*256,从原始图片进行resize and crop得到。唯一一个预处理是所有图像在进入网络时减去整体均值。
ReLU Nonlinearity
ReLU是一种不饱和非线性函数,相对传统的饱和非线性函数具 有更快的收敛速度,可以加速拟合训练集。Jarrettet用ReLU来阻止过拟合。
Training on Multiple GPUs
使用多个两个GPU是为了解决单个GPU内存限制了网络大小,将 原网络拆成两半,比如说第一层卷积应该输出55×55×96,现拆成两个55×55×48。这里GPU只 在某些层进行互相通信。
Local Response Normalization
论文中提出的LRN属于CROSS_CHANNEL的,作用是模拟生物神经 上的侧抑制( lateral inhibition,或者叫邻近抑制),使相邻神经元的激活值之间产生竞争。因为每个神经元的激活值需要除以相邻神经元的激活值的平方和,因此如果相邻神经元含有较大激活值的话,本身LRN后的激活值 就变小了。
Reducing Overfitting
论文介绍了两种防止过拟合的方法:
1.Data Augmentation
Data Augmentation是通过少量的计算从原始图片变换得到新的训练数据。第一种是随机裁剪,原图256×256,裁剪大小为224×224,由于随机,所以每个epoch中对同一张图片进行了不同的裁剪,理论上相当于扩大数据集32×32×2=2048倍!32是256-224;2是由于水平翻转。
在预测(deploy)阶段,不是随机裁剪,而是固定为图片四个边角,外加中心位置。翻转后进行同样操作,共产生10个patch。
2.Dropout
Dropout是借鉴了多个模型结合的想法,对于一个分类问题,如果有多个训练完备的不同的模型,同时对一个输入做出预测,然后少数服从多数,显然会减小错误率。实际的做法是:每个隐层神经元的输出有0.5的概率置为0,置为0的神经元就不 会参加前向传播和反向更新。这样做的好处是有效防止过拟合,但是缺点是网络收敛需要的迭代次数增加一倍。
Details of learning
batch size=128
momentum=0.9
weight decay=0.0005
initial learining rate=0.01 reduce three times(factor :10)
iter epoch=90
- 1
- 2
- 3
- 4
- 5
The update rule for weight w was
<∂L∂W|wi>Di<∂L∂W|wi>Di为参数对应的梯度,ϵϵ为学习速率。
AlexNet模型的更多相关文章
- AlexNet模型的解析及tensorflow实现
AlexNet是ImageNet LSVRC 2012比赛中分类效果第一的深度神经网络模型,点击链接下载论文http://papers.nips.cc/paper/4824-imagenet-clas ...
- 基于Caffe训练AlexNet模型
数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...
- 吴裕雄 python 神经网络——TensorFlow实现AlexNet模型处理手写数字识别MNIST数据集
import tensorflow as tf # 输入数据 from tensorflow.examples.tutorials.mnist import input_data mnist = in ...
- Ubuntu下caffe:用自己的图片训练并测试AlexNet模型
参考博客:https://blog.csdn.net/eereere/article/details/79118645#commentBox 目录 1.准备图片 2. 将 图片路径写入txt 参考 这 ...
- 大话CNN经典模型:AlexNet
2012年,Alex Krizhevsky.Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LS ...
- #Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现AlexNet
上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...
- TensorFlow实战之实现AlexNet经典卷积神经网络
本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.AlexNet模型及其基本原理阐述 1.关于AlexNet ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet
上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...
随机推荐
- CSS3——过渡
过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 帧动画:通过一帧 ...
- 二分图带权匹配-Kuhn-Munkres算法模板 [二分图带权匹配]
尴尬...理解不太好T T #include<cstdio> #include<cstring> #include<iostream> #include<al ...
- python实现全局配置和用户配置文件
一.文件目录格式 二.代码 1.conf.__init__.py import importlib import os from conf import gsettings class Setting ...
- Android_Gallery(画廊)
转:http://blog.csdn.net/tianjf0514/article/details/7521398 Gallery是画廊的意思,可以实现图片的浏览功能. 主要内容 Gallery控件的 ...
- maven项目依赖其他jar包的时候,idea运行没问题,java -jar 报错:java.lang.SecurityException: Invalid signature file digest
当项目依赖其他jar包的时候,打出的jar包执行出错,抛出这个异常. 原因:因为依赖jar包中的META-INF中有多余的.SF文件与当前jar包冲突, 解决方案 一 在打包前删除依赖jar包的.SF ...
- HTML引入CSS的方法
1.嵌入式 通过<style>标记,来引入CSS样式. 语法格式:<style type = “text/css”></style> 提示:<style> ...
- 03_mybatis配置文件详解
1. SqlMapConfig.xml mybatis全局配置文件SqlMapConfig.xml,配置内容如下: *properties(属性) setting(全局配置参数) typeAliase ...
- Spring父子上下文(WebApplicationContext)(防止事务失效)
如果你使用了listener监听器来加载配置,一般在Struts+Spring+Hibernate的项目中都是使用listener监听器的.如下 <listener> <listen ...
- ps photoshop
PS-前端切图教程(切jpg图和切png图) 参考线显示和隐藏:ctrol+h alt+v+e或者打开标尺然后从点击标尺就能拖拽出来,删除也是拖到标尺附近就删除 显示.隐藏标尺:ctrol+R 显示网 ...
- Python全栈开发:运算符
1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: