APP下载

基于TensorFlow的不同深层卷积神经网络的对比与分析

2018-04-11南京理工大学

电子世界 2018年6期
关键词:层数深层准确度

南京理工大学 金 钊

1.神经网络简介

在1943年的一篇论文[2]中,McCulloch教授提出了最早的神经网络数学模型。而Minsky[3]教授在1969年的论文中又指出此类模型只能解决线性不可分问题。随后神经网络学习界的研究则一直止步不前,直到Alex教授在2012年利用深度学习模型AlexNet赢得了ImageNet举办的图像分类竞赛,才将深度学习和神经网络的研究带入了一个新的高度。

2.深度卷积神经网络

由于在线性模型中,模型输入各项经过加权处理并求和即可得到输出值,而多层的线性网络与单层的线性网络在表达能力上并没有任何区别,所以这也就限制了线性神经网络所能解决问题的能力。而现代神经网络常使用激活函数(ReLU, Sigmoid和Tanh)来构建神经元。同时为了更好的进行大尺寸图像处理,一般会构建多层卷积神经网络,正如LeCun[4]教授在1998年所提出的LeNet-5模型,此类神经网络结构通常包括输入层、卷积层、池化层、全连接层和Softmax层。

Alex[1]在2012年所构建的AlexNet(如图1所示)则成为了现代卷积神经网络的标杆。其模型包含了5层卷积层和3层全连接层。而自AlexNet之后,卷积神经网络又开始向两个不同的方向发展,一个是以谷歌的Inception Net为代表的改变卷积神经网络结构,另一个则是以VGGNet和ResNet为代表的加深神经网络的深度。本文将对后一类深度卷积神经网络的结构进行探讨与分析。

3.VGGNet深度卷积神经网络

VGGNet是由牛津大学计算机视觉组[5]在2014年ILSVRC图像分类比赛大会上所提出的一种从11层到19层的深层卷积神经网络模型。其基本结构与AlexNet非常相似,其拥有5段卷积,每段中又含有2-4个3*3的小型卷积核的卷积层,并且每卷积段末尾都会连接一个2*2的最大池化层,所以这样的模型每段输出的图片尺寸都会缩小,而输出的通道数则会增加。VGGNet模型的特点就在于重复使用了3*3的小型卷积核的堆砌结构,因为由三个3*3卷积核串联可以达到7*7卷积核的感受视野大小,而其包含的参数值却能减半。所以这样方法搭建起来神经网络具有更强的特征提取能力和较少的参数值。而其简单明了的网络结构更提高了它的通用性和可拓展性。

4.VGGNet模型训练测试分析

在本文的神经网络模型建立和测试中,利用了谷歌的Tensorflow 1.5.0开源神经网络框架,并通过Python在Cuda 9.1和cuDNN V7.0.5的编译环境下进行测试。测试集则为MNIST手写体数字识别数据集。

首先通过ReLU激活函数建立一个包含两个卷积层的模型作为此次测试的参照模型,其两层卷积核都为5*5,在Dropout为0.5,学习率为0.0001的条件下进行30万步的学习训练后,其识别准确度可以达到98.28%。

图1 AlexNet神经网络模型[1]

之后根据[5]论文中的模型,首先构建了一个包含5段卷积层(后三段中都包含有1*1的卷积核,用于线性变换)和3个全连接层的16层神经网络,在用与参照模型相同的学习参数下训练后可以得到97.46%的准确度,在减少一半的学习率后,可以使准确度提高至98.15%。

再利用相似的方法构建一个19层VGGNet卷积神经网络,但在用与参照模型相同的学习参数下训练时,其识别准确度在随训练步数增加一段时间后便又降低并保持在了20%以下。究其原因,可能是由于过高的学习率,导致参数更新幅度过大,导致其在最优值两侧波动过大。另外为防止过拟合而设置的Dropout rate也会影响参数值的更新。所以在利用衰减系数对学习率进行优化后,其最终的准确度提高至98.30%。

5.ResNet深度卷积神经网络

ResNet(Residual Neural Network)是由微软亚洲研究院的Kaiming He[6]等人在2015年ILSVRC图像分类比赛中所提出的一种具有向前回路的极深层卷积神经网络。虽然计算机各界均认为加深神经网络的深度可以大大提升其识别能力[7],但在ResNet发明之前,传统神经网络的训练难度会随着其深度的增加而大幅增加,而准确度却没能得到相应的提升。而ResNet则通过将原始的输入值直接传输到后面的层中的方法,减少了由过深的卷积层数所带来的训练集误差(即如上节所出现的,模型准确度随着层数增加先增加后减少的现象)。而每段神经网络所学习的目标也从原来的输出值变成了输出和输入值之间的差,即残差值。这种方法大大简化了模型的学习难度。

6.ResNet模型训练测试分析

在Tensorflow框架中可以利用collection和contrib.slim库来快速的设计ResNet的模块组。在本文中搭建了一个包含四个模块的34层的ResNet神经网络模型,模块中每层的卷积核大小都是3*3,每个block中包含有两个卷积层,信号同时输入给了输入端和输出端。在不同通道数的模块间还有将向前信号升维的一个线性映射变换的步骤。首先利用参照模型的参数对此模型进行训练,发现其准确率在达到峰值后出现了下降,在改变了Dropout rate后,经过了相同步数的训练后,模型的准确度达到了99.06%,其原因可能是由于本测试所使用的训练集的图像尺寸过小,过大的Dropout rate会使得训练集中图像特征的丢失从而造成模型识别误差。测试中,学习率的设置对此模型识别精度的提升并没有帮助。另外随着神经网络层数的增加,模型所包含的参数也在大幅增加,这直接导致了其训练时所占用的显存空间的大幅增加。

7.VGGNet和ResNet神经网络模型对比

ResNet和之前的VGGNet模型的基础结构非常类似,都广泛利用了多层3*3小卷积核的堆积的构架,主要区别就在于ResNet模型还包含有了许多支路能够将前面的信号完整的传输到后面层中。而这项改进大幅减少了整个网络的训练时间,同时神经网络的深度从VGGNet最多的19层增加到了ResNet模型的152层。随着网络层数的增加,其特征提取和识别能力也有了显著的提升。

本文通过在Tensor flow中的建模和实际训练发现,VGGNet神经网络随着层数的增加,其对于学习率和Dropout rate等训练参数设置的敏感度也随之增加。如果不经过仔细的参数设置,其模型很难达到所预想的识别精度。相比之下,ResNet网络模型的构架则更加稳定(robust),虽然其层数比普通神经网络大幅增加,但学习率设置并不需要过多的降低,所以其模型的训练难度相比VGGNet并没有过多的增加,而识别精度却大幅的提高了(本文中测试识别错误率降低了近49%)。

8.结论

从神经网络模型的复杂程度上来看,VGGNet模型的编译难度较低,通用型强,在某些精度要求不高的平台上依然被沿用着。而ResNet模型则代表了深度学习最前沿的发展方向,其能够支持极深的神经网络模型的特点,大幅简化了深层神经网络模型的训练与运用。正如Eldan在其2016年的论文[8]中所阐述的,深层向前通道神经网络模型所能达到的识别能力将是传统堆积模型所无法比拟的。本文也通过在Tensorflow中的建模与训练证实了这一点。而最新一代的谷歌神经识别网络Inception Net V4中也开始融入ResNet模型的特点[9]。所以未来深层卷积神经网络的发展将引领整个深度学习界的发展,从而大大推动其在图像识别等领域更广泛的运用。

[1]Alex Krizhevsky,Ilya Sutskever,Geoffrey E.Hinton.ImageNet Classification with Deep Convolutional Neural Networks[J].NIPS 2012.

[2]McCulloch W,Pitts W.A logical Calculus of the Ideas Immanent in Nervous Activaty[J].Bulletion of Mathematical Biophysics Vol 5,1943.

[3]Maevin M,Seymour P,Perceptrons:An Introduction to Computational Geometry[M].1969:68-69.

[4]LeCun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceeding of the IEEE,1998.

[5]K.Simonyan,A.Zisserman.Very Deep Convolutional Networks for Large-Scale Image Recognition[J].arXiv technical report,2014.

[6]Kaiming He,X.Zhang,S.Ren,J.Sun.Deep Residual Learning for Image Recognition[J].2015.arXiv:1512.03385.

[7]George E.Dahl,Tara N.Sainath,Geoffrey E.Hinton.Improving deep neural networks for LVCSR using rectified linear units and dropout[J].Proceeding of the IEEE,2013.

[8]Ronen Eldan,Ohad Shamir.The Power of Depth for Feedforward Neural Networks.2016 COLT.

[9]Christian Szegedy,Sergey Ioffe,Vincent V,Alex A.Inceptionv4,Inception-ResNet and the Impact of Residual Connections on Learning[J].2016.arXiv:1602.07261v2.

猜你喜欢

层数深层准确度
填筑层数对土石坝应力变形的影响研究
上海发布药品包装物减量指南
考虑各向异性渗流的重力坝深层抗滑稳定分析
MoS2薄膜电子性质随层数变化的理论研究
幕墙用挂件安装准确度控制技术
SAM系统对TDCS数据的优化处理与深层应用
动态汽车衡准确度等级的现实意义
对“医患失去信任”的深层忧虑
住在哪一层
电视节目低俗化的深层反思