100天深度学习--PartA:Week1-day2 AlexNet

0 / 782

02_副本.png

AlexNet

简介

2012年,Alex Krizhevsky用AlexNet 在当年的ImageNet图像分类竞赛中(ILSVRC 2012),以top-5错误率15.3%拿下第一。 他的top-5错误率比上一年的冠军下降了十个百分点,而且远远超过当年的第二名。它使用ReLU代替了传统的激活函数,而且网络针对多GPU训练进行了优化设计,用于提升速度。不过随着硬件发展,现在我们训练AlexNet都可以直接用简化后的代码来实现了。

基本信息

论文: "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012. pdf

作者:Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton.
发表于:2012

中英翻译 http://www.aiqianji.com/blog/article/20

slides: http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf

创新点

1 ReLU函数作为激活函数
2 dropout:选择性地忽略训练中的单个神经元,避免模型的过拟合
3 max-pooling:避免平均池化(average pooling)的平均效应
4 利用双GPU NVIDIA GTX 580训练

其他: LRN层的优化,tf官方后来给出的代码,进行了修改,将初始化选择用xavier_initializer的方法,将LRN层移除了。

网络结构

AlexNet 原始结构如图

alexnet-org.jpg

除去下采样(池化层)和局部响应规范化操作(Local Responsible Normalization, LRN),AlexNet一共包含8层,前5层由卷积层组成,而剩下的3层为全连接层。网络结构分为上下两层,分别对应两个GPU的操作过程,除了中间某些层($C_3$卷积层和$F_{6-8}$全连接层会有GPU间的交互),其他层两个GPU分别计算结 果。最后一层全连接层的输出作为$softmax$的输入,得到1000个图像分类标签对应的概率值。除去GPU并行结构的设计,AlexNet网络结构与LeNet十分相似,其网络的参数配置如下

网络层 输入尺寸 核尺寸 输出尺寸 可训练参数量
卷积层$C_1$ $224\times224\times3$ $11\times11\times3/4,96$ $55\times55\times96$ $(11\times11\times3+1)\times96\times2$
下采样层$S$ $55\times55\times96$ $3\times3/2$ $27\times27\times96$ 0
卷积层$C_2$ $27\times27\times96$ $5\times5\times96/1,256$ $27\times27\times256$ $(5\times5\times96+1)\times256\times2$
下采样层$S$ $27\times27\times256$ $3\times3/2$ $13\times13\times256$ 0
卷积层$C_3$ $13\times13\times256$ $3\times3\times256/1,384$ $13\times13\times384$ $(3\times3\times256+1)\times384\times2$
卷积层$C_4$ $13\times13\times384$ $3\times3\times384/1,384$ $13\times13\times384$ $(3\times3\times384+1)\times384\times2$
卷积层$C_5$ $13\times13\times384$ $3\times3\times384/1,256$ $13\times13\times256$ $(3\times3\times384+1)\times256\times2$
下采样层$S$ $13\times13\times256$ $3\times3/2$ $6\times6\times256$ 0
全连接层$F_6$ $6\times6\times256$ $9216\times4096$ $1\times1\times4096$ $(9216+1)\times4096\times2$
全连接层$F_7$ $1\times1\times4096$ $4096\times4096$ $1\times1\times4096$ $(4096+1)\times4096\times2$
全连接层$F_8$ $1\times1\times4096$ $4096\times1000$ $1\times1\times1000$ $(4096+1)\times1000\times2$

可显示如图

02---副本_副本.png

模型结构如下

一层卷积层: 11×11的卷积核,96个,步长位4 (stride = 4)

一层maxpooling

一层LRN

一层卷积层:5×5的卷积核,256个,pad=2

一层maxpooling

一层LRN

一层卷积层:3×3的卷积核,384个,pad=1

一层卷积层:3×3的卷积核,384个,pad=1

一层卷积层:3×3的卷积核,256个

一层maxpooling

一层全连接层:4096个隐含节点,激活函数为ReLU

一层全连接层:4096个隐含节点,激活函数为ReLU

最后通过softmax分类输出1000类

数据变化:

![alexnet_data.png](http://aiqianji.oss-cn-shenzhen.aliyuncs.co