在Imagenet上的图像分类challenge上,Alex提出的AlexNet网络结构模型赢得2012届的冠军。
AlexNet整个网络拥有8层,包含5个卷积层和3个全连接层,如图1所示:
图1 AlexNet网络结构
第一层卷积输入图片为224*224*3,卷积核为11*11*96,步长为4,输出的每个特征图为 55*55*96;后跟ReLU层,尺寸不变;然后接最大池化层,核大小为3*3,步长为2,特征图的大小为27*27*96;最后接LRN层,local_size为5,输出为27*27*96。
第二层卷积输入为27*27*96,卷积核大小为5*5*256,步长为1;同样接ReLU层尺寸不变;然后接最大池化层,核大小为3*3,步长为2,特征图大小为13*13*256;最后接LRN层,local_size为5,输出为13*13*256。
第三层卷积至第五层卷积输入的为13*13*256。
第三层卷积为 3*3*384,步长为1,加上ReLU,输出为13*13*384。
第四层卷积为 3*3*384,步长为1,加上ReLU,输出为13*13*384。
第五层卷积为 3*3*256,步长为1,加上ReLU,输出为13*13*256;然后跟最大池化层,核大小3*3,步长为2,因此特征图为6*6*256。
第六层至第八层全连接层,分别为:
FC : 4096 + ReLU +DropOut
FC:4096 + ReLU +DropOut
FC: 1000 ,这一层表示通过softmax分为1000类。
AlexNet把CNN的基本原理用到了很深很宽的网络中,用到了一些新技术:
① 使用ReLU作为CNN的激活函数,成功解决了sigmoid再网络较深时的梯度弥散问题;
② 在CNN中使用重叠的最大池化,增加了特征的丰富性,同时也避免了平均池化造成的模糊化效果;
③ 使用LRN层,使得相应较大的值变得更大,并抑制其他反馈较小的神经元;
④ 使用DropOut随机忽略一些神经元,避免过拟合;
⑤ 使用CUDA加速深度卷积网络的训练,利用GPU并行计算。同时,AlexNet的设计让GPU之间的通信只在网络的某些层进行,控制了通信的性能损耗。如图2所示:
图2 AlexNet结构示意图
⑥ 数据增强。随机地从256´256的原始图像中截取224´224大小的区域(以及水平翻转的镜像)增加数据量,提升泛化能力。因为仅靠原始的数据量,参数众多的CNN会陷入过拟合中。进行预测时,则是取图片的四个角加中间共5个位置,并对其左右翻转得到10张图片,对其进行预测得到10次结果的均值。
参考资料:
1、Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
刘三少爷的剑
领取专属 10元无门槛券
私享最新 技术干货