AlexNet结构参数详解

2012年ImageNet图像分类大赛冠军AlexNet网络结构解析

一、AlexNet

1.AlexNet结构简介

AlexNet层数变多了,LeNet5不加输入层共7层,不严格讲它已经有11层了。

AlexNet结构参数详解_第1张图片 AlexNet有八个带权层,前五个是卷积层,剩下三层是全连接层。第一个卷 积层利用96个大小为11X11X3、步长为4个像素的核,对大小为224X224X3的输入图像进行卷积。第二个卷积层接收第一个卷积层输出为输入,用 5X5X48的核对其进行滤波。第三、四、五个卷积层彼此相连,中间没有池 化层。第二、四、五个卷积层的核只连接到前一个卷积层也位于同一GPU中 的那些核映射上。第三个卷积层的核被连接到第二个卷积层中的所有核映 射上。全连接层中的神经元被连接到前一层中所有的神经元上。响应归一 化层跟在第一、第二个卷积层后面。最大化池化层跟在响应归一化层以及 第五个卷积层之后。ReLU非线性应用于每个卷积层及全连接层的输出。

2.AlexNet优势何在?

01卷积池化并行化
输入图像像素为224×224
把同一层的卷积池化拆成两块,每一块在一个GPU上跑
第一层用的11×11的大卷积对原始图做卷积,
第一层96通道分为两组,每48个放到一个GPU上面,每一个卷积核对上一层输入做卷积核是独立。

02激活函数
激活函数是relu,比饱和函数训练速度更快。
03防止过拟合
避免过拟合采用数据增强与dropout防止过拟合
04GPU加速
采用GPU实现,并行化进行模型训练,在每个GPU放置一半的核。

二、AlexNet结构大解析

1.第一层卷积

AlexNet结构参数详解_第2张图片

输入层是224×224×3的图像,Padding后变为227×227

  • 第一层使用96个11×11×3的卷积核,步长为4,卷积核个数为96所以输出图像通道数为96,输出的是55×55×96的图像

  • 输出图像尺寸计算:(227-11)/4+1=55

  • ReLU:55×55×96的输入图像经过relu激活输出仍为55×55×96

  • 重叠池化:55×55×96通过3×3的池化核,步长为2的池化操作后输出图像为27×27×96

  • (55-3)/2+1=27

  • 局部响应归一化后仍是27×27×96

  • 96个特征图分为两组,各自在一个独立的GPU上进行运算

  • 输入层的节点总数为224×224×3=150528

  • 第一个卷积层与输入层之间的连接数目:
    卷积后的特征图中每个神经元与11×11×3的卷积块相连,每个神经元的参数数目为363+1个偏置
    第一个卷积层的参数数目:特征图内共享参数:11×11×96+96=34848+96=34944
    卷积层的参数 = 卷积核大小 x 卷积核的数量
    第一个卷积层节点数量:55×55×48×2=290400

输入图像通道数等于卷积核的通道数,输出图像的通道数等于卷积核的数量

2.第二层卷积

96个特征图分为两组一组各48个,因此输入图像为27×27×48

AlexNet结构参数详解_第3张图片
  • 每组的27×27×48的输入图像各使用128个5×5×48的卷积核,Padding为2+2,步长为1进行卷积操作后输出图像大小为27×27×128

  • 卷积后输出图像计算:(27+4-5)+1=27

  • ReLU:27×27×128的输入图像经过relu激活输出仍为27×27×128

  • 重叠池化:27×27×128的图像经过3×3的池化核,步长为2的池化后,输出图像大小为13×13×128

  • 池化后输出图像计算:(27-3)/2+1=13

  • 局部响应归一化后仍是13×13×128

  • 特征图分为两组,各自在一个独立的GPU上进行运算
    第二个卷积层参数数目:(5×5×48×128+128)×2=307456
    卷积层的参数 = 卷积核大小 x 卷积核的数量
    第二个卷积层节点数量
    只跟同一个GPU的上一层连接,节点数量=27×27×128×2=186624

3.第三、四、五层卷积:

以一个GPU来分析:

  • 第三层卷积:输入图像Padding在周围填充一圈零变为15×15,15×15×128的图像使用卷积384个3×3×256的卷积核,步长为1卷积后输出图像为13×13×192
    第三层参数数量:3×3×256×384+384=885120
    第三层节点数目:13×13×192×2=64,896
  • 第四层卷积:13×13×192的图像输入图像Padding在周围填充一圈零变为15×15,使用卷积384个3×3×192的卷积核,步长为1卷积后输出图像为13×13×192
    第四层参数数量:(3×3×192×192+192)×2=663936
    第四层节点数目:13×13×192×2=64896
  • 第五层卷积: 13×13×192的图像输入图像Padding在周围填充一圈零变为15×15,使用卷积256个3×3×192的卷积核,步长为1卷积后输出图像为13×13×128
    第五层参数数量:(3×3×192×128+128)×2=442624
    第五层节点数目:13×13×128×2=43264
AlexNet结构参数详解_第4张图片

4.最后三层是全连接层

  • 第六层全连接层:节点数为4096,参数量为(6×6×128×2)×4096+4096 = 37752832
  • 全连接层的参数数量 = 上一层节点数量(pooling之后的) x 下一层节点数量 + 偏置数量(即下一层的节点数量)
  • 第七层全连接层:节点数量为4096,参数量为4096×4096+4096=16781312
  • 第八层全连接层:节点数量为1000,参数量为4096×1000+1000=4097000

最后回顾一下AlexNet的结构吧

AlexNet结构参数详解_第5张图片

你可能感兴趣的:(图像识别,ALexNet,cnn,ImageNet)