Alexnet是2012年Imagenet竞赛的冠军模型,准确率达到了57.1%, top-5识别率达到80.2%。

AlexNet包含5个卷积层和3个全连接层,模型示意图:

精简版结构:

conv1阶段

输入数据:227×227×3

卷积核:11×11×3;步长:4;数量(也就是输出个数):96
卷积后数据:55×55×96  (原图N×N,卷积核大小n×n,卷积步长大于1为k,输出维度是(N-n)/k+1)
relu1后的数据:55×55×96
Max pool1的核:3×3,步长:2
Max pool1后的数据:27×27×96
norm1:local_size=5  (LRN(Local Response Normalization) 局部响应归一化)
最后的输出:27×27×96

AlexNet采用了Relu激活函数,取代了之前经常使用的S函数和T函数,Relu函数也很简单:

ReLU(x) = max(x,0)

AlexNet另一个创新是LRN(Local Response Normalization) 局部响应归一化,LRN模拟神经生物学上一个叫做 侧抑制(lateral inhibitio)的功能,侧抑制指的是被激活的神经元会抑制相邻的神经元。LRN局部响应归一化借鉴侧抑制的思想实现局部抑制,使得响应比较大的值相对更大,提高了模型的泛化能力。
LRN只对数据相邻区域做归一化处理,不改变数据的大小和维度。

LRN概念是在AlexNet模型中首次提出,在GoogLenet中也有应用,但是LRN的实际作用存在争议,如在2015年Very Deep Convolutional Networks for Large-Scale Image Recognition 论文中指出LRN基本没什么用。

AlexNet还应用了Overlapping(重叠池化),重叠池化就是池化操作在部分像素上有重合。池化核大小是n×n,步长是k,如果k=n,则是正常池化,如果 k<n, 则是重叠池化。官方文档中说明,重叠池化的运用减少了top-5和top-1错误率的0.4%和0.3%。重叠池化有避免过拟合的作用。

conv2阶段

输入数据:27×27×96

卷积核:5×5;步长:1;数量(也就是输出个数):256
卷积后数据:27×27×256  (做了Same padding(相同补白),使得卷积后图像大小不变。)
relu2后的数据:27×27×256
Max pool2的核:3×3,步长:2
Max pool2后的数据:13×13×256   ((27-3)/2+1=13 )
norm2:local_size=5  (LRN(Local Response Normalization) 局部响应归一化)
最后的输出:13×13×256

在AlexNet的conv2中使用了same padding,保持了卷积后图像的宽高不缩小。

conv3阶段

输入数据:13×13×256

卷积核:3×3;步长:1;数量(也就是输出个数):384
卷积后数据:13×13×384  (做了Same padding(相同补白),使得卷积后图像大小不变。)
relu3后的数据:13×13×384
最后的输出:13×13×384

conv3层没有Max pool层和norm层

conv4阶段

输入数据:13×13×384

卷积核:3×3;步长:1;数量(也就是输出个数):384
卷积后数据:13×13×384  (做了Same padding(相同补白),使得卷积后图像大小不变。)
relu4后的数据:13×13×384
最后的输出:13×13×384

conv4层也没有Max pool层和norm层

conv5阶段

输入数据:13×13×384

卷积核:3×3;步长:1;数量(也就是输出个数):256
卷积后数据:13×13×256  (做了Same padding(相同补白),使得卷积后图像大小不变。)
relu5后的数据:13×13×256
Max pool5的核:3×3,步长:2
Max pool2后的数据:6×6×256   ((13-3)/2+1=6 )
最后的输出:6×6×256

conv5层有Max pool,没有norm层

fc6阶段

输入数据:6×6×256

全连接输出:4096×1
relu6后的数据:4096×1
drop out6后数据:4096×1
最后的输出:4096×1

AlexNet在fc6全连接层引入了drop out的功能。dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率(一般是50%,这种情况下随机生成的网络结构最多)将其暂时从网络中丢弃(保留其权值),不再对前向和反向传输的数据响应。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而相当于每一个mini-batch都在训练不同的网络,drop out可以有效防止模型过拟合,让网络泛化能力更强,同时由于减少了网络复杂度,加快了运算速度。还有一种观点认为drop out有效的原因是对样本增加来噪声,变相增加了训练样本。

fc7阶段

输入数据:4096×1

全连接输出:4096×1
relu7后的数据:4096×1
drop out7后数据:4096×1
最后的输出:4096×1

fc8阶段

输入数据:4096×1

全连接输出:1000

fc8输出一千种分类的概率。

AlexNet与在其之前的神经网络相比改进:

1. 数据增广(Data Augmentation增强)

常用的数据增强的方法有 水平翻转、随机裁剪、平移变换、颜色、光照、对比度变换

2. Dropout

有效防止过拟合。

3. Relu激活函数

用ReLU代替了传统的S或者T激活函数。

4. Local Response Normalization 局部响应归一化

参考了生物学上神经网络的侧抑制的功能,做了临近数据归一化,提高来模型的泛化能力,这一功能的作用有争议。

5. Overlapping Pooling 重叠池化
重叠池化减少了系统的过拟合,减少了top-5和top-1错误率的0.4%和0.3%。

6. 多GPU并行训练

AlexNet将网络分成了上下两部分,两部分的结构完全一致,这两部分由两块不同的GPU来训练,提高了训练速度。AlexNet大约有6000万个参数。

AlexNet神经网络结构相关推荐

  1. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...

  2. 机器学习——深度学习之卷积神经网络(CNN)——AlexNet卷积神经网络结构

    目录 一.AlexNet卷积神经网络结构模型 1.数据库ImageNet 2.AlexNet第一层卷积层 二.AlexNet卷积神经网络的改进 1.非线性变化函数的改变--ReLU 2.最大池化(Ma ...

  3. 【卷积神经网络结构专题】经典网络结构之VGG(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第三篇文章,前面我们先后介绍了LeNet和A ...

  4. 卷积神经网络结构优化综述

    卷积神经网络结构优化综述 人工智能技术与咨询 来源:<自动化学报> ,作者林景栋等 摘 要 近年来,卷积神经网络(Convolutional neural network,CNNs)在计算 ...

  5. 深度学习自学第四周:近几年的经典神经网络结构

    现在对近几年一些比较经典的神经网络结构进行学习.其它如LeNet-5.AlexNet.VGGNet都有学习过,但除开有些东西已经很老了以外,近几年的神经网络结构更加优异也是事实,在此就不写出来了. 目 ...

  6. 【AI 技术精选】神经网络结构深入分析和比较

    作者 | Eugenio Culurciello 翻译 | AI科技大本营(rgznai100) 深度神经网络和深度学习是既强大又受欢迎的算法.这两种算法取得的成功主要归功于神经网络结构的巧妙设计. ...

  7. 深度学习—常见的神经网络结构

    一.卷积神经网络结构 常见的卷积神经网络结构: 服务器上:LeNet.AlexNet.VGG.InceptionV1-V4.Inception-ResNet.ResNet 手机上:SqueezNet. ...

  8. 渐进式神经网络结构搜索技术(Progressive Neural Architecture Search)(2018年最强最智能的图像分类)详解

    转发地址为:https://yq.aliyun.com/articles/622265?spm=a2c4e.11155472.0.0.402c3fa6VbJvBH 神经网络结构搜索是谷歌的AutoML ...

  9. Netron神经网络结构可视化只显示权重没有箭头,已解决

    Netron神经网络结构可视化只显示权重没有箭头,已解决 好不容易写好了网络,保存成了.h5格式,放进Netron里作图发现我的图黑黑丑丑的而且只显示权重,如下图: 可是看别人画得花花绿绿的还漂亮,为 ...

最新文章

  1. 英飞凌单片机TC264实战攻略
  2. python的用途-请问在python中的% 是什么意思, 起到什么作用?
  3. c#获取txt,word,excel文档内容方法
  4. mysql 字符串 四舍五入保留精度CAST命令
  5. RabbitMQ的5种队列_路由模式_入门试炼_第8篇
  6. 机器学习爬大树之(GBDT原理)--二分类篇
  7. Bokeh 借力其他库
  8. Mysql查询语句练习题
  9. 浙江工商大学计算机专业有博士点吗,[浙江工商大学]统计学(博士点)
  10. mysql pxc启动_Percona XtraDB Cluster(PXC) 无法正常启动
  11. C#牛人要具备的知识
  12. mysql使用存储过程循环修改数据
  13. JADE(Java Agent Development Framework)笔记
  14. html下拉和收起,Vue中实现菜单下拉、收起的动画效果
  15. visual C#(二十五)实现UWP应用的用户界面
  16. 2018谷歌大会android,谷歌召开2018中国开发者大会,带来了Android 9多项更新
  17. Express Session的使用
  18. python 小写金额转化为大写金额
  19. 阿里云IoT启动“IoT合伙人”计划,投5亿赋能100万开发者
  20. 今天跟好朋友的一段超长爆笑聊天记录(QZone搬家)

热门文章

  1. C++多线程:thread_local
  2. envi读取格式ang 还是mtl,mtl文件格式
  3. css中“~”(波浪号)、“,”(逗号)、 “ + ”(加号)和 “ ”(大于号)是什么意思?
  4. sqlserver快捷键设置
  5. 硬盘串口和并口的区别
  6. 大学计算机学院操行表个人小结,大学生操行鉴定表个人总结
  7. 网络安全防守方应该遵循得建设原则有哪些
  8. FICO入门系列2:FICO中的组织架构
  9. 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献
  10. 详解 Redis 应用场景及原理