Alex网络结构

AlexNet网络结构

     Alex网络结构

  网络包含8个带权重的层;前5层是卷积层,剩下的3层是全连接层。最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000类标签的分布网络包含8个带权重的层;前5层是卷积层,剩下的3层是全连接层。最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000类标签的分布。

  ●输入层

    输入为224x224x3的三通道RGB图像,为方便后续计算,实际操作中通过padding做预处理,把图像变成227x227x3。

  ●卷积层C1
    该层的处理流程是: 卷积-->ReLU-->池化-->归一化。

    • 卷积,输入是227×227×3,使用96个11×11×3的卷积核在stride=4的情况下,得到的FeatureMap为55×55×96,其中55=(227-11)/4+ 1。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
    • 池化,使用3×3步长为2的池化单元(重叠池化,步长小于池化单元的宽度),输出为27×27×96,其中27=(55−3)/2+1。
    • 局部响应归一化,局部响应归一化 ,使用 k=2, n=5, $\alpha=10^{-4}, \beta=0.75$ 进行局部归一化,输出的仍然为 27×27×96, 输出分为两组, 每组的大小为 27×27×48。

  ●卷积层C2
    该层的处理流程是:卷积-->ReLU-->池化-->归一化

    • 卷积,输入是2组27×27×48。使用2组,每组128个尺寸为5×5×48的卷积核,并作了边缘填充padding=2,卷积的步长为1. 则输出的FeatureMap为2组,每组的大小为27×27×128,其中27=(27+2∗2−5)/1+1。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中.
    • 池化运算的尺寸为3×3,步长为2,池化后图像的尺寸为(27−3)/2+1=13(27−3)/2+1=13,输出为13×13×256。
    • 局部响应归一化,局部响应归一化 ,使用 k=2, n=5, $\alpha=10^{-4}, \beta=0.75$ 进行局部归一化,输出的仍然为 13×13×256, 输出分为两组, 每组的大小为 13×13×128。

  ●卷积层C3
    该层的处理流程是: 卷积-->ReLU

    • 卷积,输入是2组13×13×128,使用2组,每组192个尺寸为3×3×128的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×384, 输出分为两组, 每组的大小为13×13×192。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。

  ●卷积层C4
    该层的处理流程是: 卷积-->ReLU

    • 卷积,输入是13×13×384,分为两组,每组为13×13×192.使用2组,每组192个尺寸为3×3×192的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×384,分为两组,每组为13×13×192。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。

  ●卷积层C5
    该层处理流程为:卷积-->ReLU-->池化

    • 卷积,输入为13×13×384,分为两组,每组为13×13×192。使用2组,每组为128尺寸为3×3×192的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×256, 输出分为两组, 每组的大小为13×13×128。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
    • 池化,池化运算的尺寸为3×3,步长为2,池化后图像的尺寸为 (13−3)/2+1=6,即池化后的输出为6×6×256。

  ●全连接层FC6
    该层的流程为:(卷积)全连接 -->ReLU -->Dropout

    • 卷积->全连接: 输入为6×6×256,该层有4096个卷积核,每个卷积核的大小为6×6×256。由于卷积核的尺寸刚好与待处理特征图(输入)的尺寸相同,即卷积核中的每个系数只与特征图(输入)尺寸的一个像素值相乘,一一对应,因此,该层被称为全连接层。由于卷积核与特征图的尺寸相同,卷积运算后只有一个值,因此,卷积后的像素层尺寸为4096×1×1,即有4096个神经元。
    • ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
    • Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。

  ●全连接层FC7
    流程为:全连接-->ReLU-->Dropout

    • 全连接,输入为4096的向量。
    • ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
    • Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。

  ●输出层

    • 第七层输出的4096个数据与第八层的1000个神经元进行全连接,经过训练后输出1000个float型的值,这就是预测结果。

AlexNet参数数量

  卷积层的参数 = 卷积核的数量 * 卷积核 + 偏置

  • C1: 96个11×11×311×11×3的卷积核,96×11×11×3+96=34848
  • C2: 2组,每组128个5×5×485×5×48的卷积核,(128×5×5×48+128)×2=307456
  • C3: 384个3×3×2563×3×256的卷积核,3×3×256×384+384=885120
  • C4: 2组,每组192个3×3×1923×3×192的卷积核,(3×3×192×192+192)×2=663936
  • C5: 2组,每组128个3×3×1923×3×192的卷积核,(3×3×192×128+128)×2=442624
  • FC6: 4096个6×6×2566×6×256的卷积核,6×6×256×4096+4096=37752832
  • FC7: 4096∗4096+4096=16781312
  • output: 4096∗1000=4096000

 

上一篇:JS高级----对象的继承


下一篇:Flutter 升级2.5之后报错?