ImageNet Classification with Deep Convolutional Neural Network(AlexNet)

本文详细介绍了2012年发表的AlexNet,这是一个8层深度神经网络,由5个卷积层、3个全连接层和3个池化层构成。AlexNet使用ReLU激活函数,通过两块GPU并行训练,引入了局部响应归一化,并在ILSVRC-2010数据集上取得了显著成果,推动了卷积网络在图像识别领域的广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


ImageNet Classification with Deep Convolutional Neural Networks

序言:

本篇文章于2012年发表,是近年来深度学习领域的代表之作,同样是由多伦多大学G.Hinton大神领导的人工智能小组发表,从此引发了卷积网络在图像领域应用的高潮。 本文主要提出了一个8层的深度神经网络,包括5层卷积层和3层连接层,以及三个池化层(不计入总层数),并且使用Relu作为激活函数,取得了优异的效果,这种网络架构被称为AlexNet(论文一作是Alex Krizhevsky)

1.数据介绍

文章主要用到的数据集是ILSVRC-2010,包括1.2million张training images,5000张validate images以及15000张test images。首先对图片处理取一个固定的分辨率256X256,然后对每个训练样本都进行了零均值处理。

2.网络特点

(1)Relu Nonlinearity
 使用Relu(non-saturating nonlinearity)作为激活函数取代传统的tanh和sigmoid(satiration nonlinearity)函数, 可以有效加快收敛速度和减少计算量,因为Relu:f(x)=max(0,x)更易于求导。
(2)Training on Multiple GPUs
  受限于当时的算理使用了两块GTX 580 GPU,共6GB内存来计算,有效提高了计算速度和支持更复杂的网络。
(3)Local Response Normalization 
  在每一层的输出进行normalization,此方法已经被batch-normalization取代?
(4)Overlapping Pool
  原理很简单,每个卷积层的运算可看做是一个pooling unit的网格,每个网格大小为z*z,stride=s。if s=z,这样每个pooling unit就不会有重合;if s<z,这样就会产生重合(overlapping)。对于一个pooling unit可能包含的像素只是有效信息的一部分,如果不重合下一个pooling unit里就会完全跳过上一个pooling unit,这样上一个pooling unit的有效信息就会被当前unit忽略掉,overlapping有效的避免了这个问题。如本文使用的就是s=2,z=3。

3.网络架构

(1)整体结构
整体架构
各层结构如下:
Input:  [ m x227 x 227 x 3 ]       (#images x width x height x #channels)
Conv1:   [ 96 x 11 x 11 x 3/ s = 4 _{s=4} s=4]      (#filters x width x height x #channels)
Maxpool1: [ 3 x 3/ s = 2 _{s=2} s=2 ]          (#filters x width x height x #channels)
Conv2:   [ 256 x 5 x 5 x 48 /$_{p=2} $ ]       (#filters x width x height x #channels)
Maxpool2: [ 3 x 3/ s = 2 _{s=2} s=2 ]           (#filters x width x height x #channels)
Conv3:   [ 384 x 3 x 3 x 256 ]        (#filters x width x height x #channels)
Conv4:   [ 384 x 3 x 3 x 192 ]        (#filters x width x height x #channels)
Conv5:  [ 256 x 3 x 3 x 192 ]        (#filters x width x height x #channels)
Maxpool3: [ 3 x 3/ s = 2 _{s=2} s=2 ]           (#filters x width x height x #channels)
FC6:  4096         (#neural units)
FC7:  4096          (#neural units)
FC8:  1000          (#neural units)
Output:  [ m x 1000 ]      (#images x #classes)
(2) 架构展开(以一张图片作为输入为例):
架构展开
这是本篇论文八层网络架构的核心,接下来一层一层介绍:
<0. 输入图片大小为227x227x3(width x height x number_channels),论文中写的是224x224x3,但是如果按照卷积变换公式: n w l = n w l − 1 − f l + 2 p l s l + 1 n_w^l=\frac{n_w^{l-1}-f^l+2p^l}{s^l}+1 nwl=slnwl1fl+2pl+1
n h l = n h l − 1 − f l + 2 p l s l + 1 n_h^l=\frac{n_h^{l-1}-f^l+2p^l}{s^l}+1 nhl=slnhl1fl+2pl+1
n c l = n f i l t e r s l n_c^l=n_{filters}^{l} ncl=nfiltersl
其中: n w l ∗ n h l n_w^l*n_h^l nwlnhl 是图像卷积后的size, n w l − 1 ∗ n h l − 1 n_w^{l-1}*n_h^{l-1} nwl1nhl1是卷积前图像的size, f f f p p p s s s分别代表卷积核的filter size,padding和stride, n f i l t e r s n_{filters} nfilters代表卷积层用的卷积核的总个数。按公式推断的话,224是不正确的,应为227。
<1.输入图像经过一次卷积和一次maxpool池化得到了2个27 x 27 x 48的输出,分为由两个GPU单独计算,具体计算过程参照上面卷积计算的三个公式。
Input
<2. 经过第一层的计算得到的输出,作为下一层运算的输入,然后同样经过一次卷积 和maxpool池化得到13 x 13 x 128的输出。
Layer1
❤️. 同样的道理得到第三层的输出为13 x 13 x 192,注意本层没有池化层,且GPU1和GPU2有通信,所以箭头有相交,注意这里用了padding=SAME,所以输入输出图像大小不变。
Layer3
<4. 第四层同样只计算一次卷积运算,注意这里用了padding=SAME,所以输入输出图像大小不变。
Layer4
<5. 先经过卷积,padding=SAME,然后经过池化层,图像大小减半,最终得到6 x 6 x 128x2 的输出。
Layer5
<6. FC6, 全连接层,也就是普通的神经网络层。先把上一层的输出全部展开(dense)一共得到6 x 6 x 128 (以单GPU单输入为例)个神经元作为当前的输入层, 隐层为2048个神经元,这样在当前全连接层的总的参数的个数为6x6x128x2048x4=37,748,736(这里x4是因为每个输入都被GPU计算了两次,有两个GPU),相比一共60million的参数,第一个全连接层占据了大多数。
Layer6
<7. 原理同上层一样,一共有2048x2048x4=16,777,216 个。
Layer7
<8. 同上,参数为2048x1000x2=4,096,000个。
Layer8

到此,AlexNet的网络结构就已经分析完成了,了解更多信息请阅读原论文。

4.参考文献

1.ImageNet Classification with Deep Convolutional Neural Networks:
https://www.nvidia.cn/content/tesla/pdf/machine-learning/imagenet-classification-with-deep-convolution
2.https://www.cnblogs.com/gongxijun/p/6027747.html
3.https://blog.youkuaiyun.com/chaipp0607/article/details/72847422

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值