AlexNet原理及Tensorflow实现

AlexNet的出现点燃了深度学习的热潮,下面对其进行介绍,并使用tensorflow实现.

1. AlexNet网络结构

这里写图片描述

图片来源:AlexNet的论文

整个网络有8个需要训练的层,前5个为卷积层,最后3层为全连接层.

第一个卷积层

  1. 输入的图片大小为:224*224*3

  2. 第一个卷积层为:11*11*96即尺寸为11*11,有96个卷积核,步长为4,卷积层后跟ReLU,因此输出的尺寸为 224/4=56,去掉边缘为55,因此其输出的每个feature map 为 55*55*96,同时后面跟LRN层,尺寸不变.

  3. 最大池化层,核大小为3*3,步长为2,因此feature map的大小为:27*27*96.

第二层卷积层

  1. 输入的tensor为27*27*96

  2. 卷积和的大小为: 5*5*256,步长为1,尺寸不会改变,同样紧跟ReLU,和LRN层.

  3. 最大池化层,和大小为3*3,步长为2,因此feature map为:13*13*256

第三层至第五层卷积层

  1. 输入的tensor为13*13*256

  2. 第三层卷积为 3*3*384,步长为1,加上ReLU

  3. 第四层卷积为 3*3*384,步长为1,加上ReLU

  4. 第五层卷积为 3*3*256,步长为1,加上ReLU

  5. 第五层后跟最大池化层,核大小3*3,步长为2,因此feature map:6*6*256

第六层至第八层全连接层

接下来的三层为全连接层,分别为:
1. FC : 4096 + ReLU
2. FC:4096 + ReLU
3. FC: 1000
最后一层为softmax为1000类的概率值.

2. AlexNet中的trick

AlexNet将CNN用到了更深更宽的网络中,其效果分类的精度更高相比于以前的LeNet,其中有一些trick是必须要知道的.

ReLU的应用

AlexNet使用ReLU代替了Sigmoid,其能更快的训练,同时解决sigmoid在训练较深的网络中出现的梯度消失,或者说梯度弥散的问题.

Dropout随机失活

随机忽略一些神经元,以避免过拟合,

重叠的最大池化层

在以前的CNN中普遍使用平均池化层,AlexNet全部使用最大池化层,避免了平均池化层的模糊化的效果,并且步长比池化的核的尺寸小,这样池化层的输出之间有重叠,提升了特征的丰富性.

提出了LRN层

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值