简介:

AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出,比如优秀的vgg,GoogLeNet。

网络结构:

网络模型架构 星型 网络模型结构_网络模型架构 星型

网络模型架构 星型 网络模型结构_cnn_02

AlexNet共8层:5个卷积层,3个全连接层

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

卷积,输入是227×227x3,卷积核11x11x3,步长为4,卷积后的FeatureMap为 55x55x96  {(227-11+2*0)/4+1=55}

池化,使用3x3步长为2的池化单元,输出为27x27x96

局部响应归一化(LRN),使用k=2,n=5,α=1e−4,β=0.75进行局部归一化,输出的仍然为27×27×96,输出分为两组,每组的大小为27×27×48

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

卷积,输入是2组27×27×48。使用2组,每组128个尺寸为5×5×48的卷积核,步长为1,边缘填充padding=2,卷积后的FeatureMap为2组27×27x128   {(27-5+2*2)/1+1=27}

池化,使用3x3步长为2的池化单元,输出为2组13x13x256

局部响应归一化(LRN),使用k=2,n=5,α=1e−4,β=0.75进行局部归一化,输出的仍然为13×13×256,输出分为2组,每组的大小为13×13×128

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

卷积,输入是13×13×256,使用2组共384尺寸为3×3×256的卷积核,边缘填充padding=1,卷积的步长为1,则输出的FeatureMap为两组13×13x192

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

卷积,输入是13×13×384,分为两组,每组为13×13×192.使用2组,每组192个尺寸为3×3×192的卷积核,边缘填充padding=1,卷积的步长为1,则输出的FeatureMap为两组,每组为13×13×192

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

卷积,输入为13×13×384,分为两组,每组为13×13×192。使用2组,每组为128个尺寸为3×3×192的卷积核,边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为两组13×13×128

池化,池化运算的尺寸为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个数据通过SoftMax函数输出1000个float型的值,这就是预测结果。

该模型的特点:

1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题

2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合

3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果

4)提出了局部响应归一化LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力

5)使用CUDA加速深度卷积网络的训练

6)使用了数据增强增加了数据量,大大减轻过拟合,提升泛化能力