网络包含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组1。
- ReLU,将卷积层输出的FeatureMap输入到ReLU函数中.
- 池化运算的尺寸为256。
- 局部响应归一化,局部响应归一化 ,使用 k=2, n=5, $\alpha=10^{-4}, \beta=0.75$ 进行局部归一化,输出的仍然为 13。
●卷积层C3
该层的处理流程是: 卷积-->ReLU
-
- 卷积,输入是2组13×192。
- ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
●卷积层C4
该层的处理流程是: 卷积-->ReLU
-
- 卷积,输入是192。
- ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
●卷积层C5
该层处理流程为:卷积-->ReLU-->池化
-
- 卷积,输入为
- ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
- 池化,池化运算的尺寸为3×3,步长为2,池化后图像的尺寸为 256。
- 卷积,输入为
●全连接层FC6
该层的流程为:(卷积)全连接 -->ReLU -->Dropout
-
- 卷积->全连接: 输入为,即有4096个神经元。
- ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
- Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。
●全连接层FC7
流程为:全连接-->ReLU-->Dropout
-
- 全连接,输入为4096的向量。
- ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
- Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。
●输出层
-
- 第七层输出的4096个数据与第八层的1000个神经元进行全连接,经过训练后输出1000个float型的值,这就是预测结果。
AlexNet参数数量
卷积层的参数 = 卷积核的数量 * 卷积核 + 偏置
- C1: 96个34848
- C2: 2组,每组128个307456
- C3: 384个885120
- C4: 2组,每组192个663936
- C5: 2组,每组128个442624
- FC6: 4096个37752832
- FC7: 16781312
- output: 4096000