结合Inception模块的卷积神经网络图像分类方法
来源:用户上传
作者:
摘 要:针对现有卷积神经网络模型参数量大、训练时间长的问题,提出了一种结合VGG模型和Inception模块特点的网络模型。该模型通过结合两种经典模型的特点,增加网络模型的宽度和深度,使用较小的卷积核和较多的非线性激活,在减少参数量的同时增加了网络特征提取能力,同时利用全局平均池化层替代全连接层,避免全连接层参数过多容易导致的过拟合问题。在MNIST和CIFAR-10数据集上的实验结果表明,该方法在MNIST数据集上的准确率达到了99.76%,在CIFAR-10数据集上的准确率相比传统卷积神经网络模型提高了6%左右。
关键词:卷积神经网络; Inception模块; 全局平均池化; 卷积核; 图像分类
DOI:10. 11907/rjdk. 192501
中图分类号:TP301 文献标识码:A 文章編号:1672-7800(2020)003-0079-04
Convolutional Neural Network Image Classification Method Combined
with Inception Module
QI Guang-hua, HE Ming-xiang
(College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract: Aiming at the problem that the existing convolutional neural network model has large parameters and long training time, we propose a network model combining VGG model and inception module. By combining the characteristics of the two classical models, the model increases the width and depth of the network model, uses a smaller convolution kernel and more nonlinear activation, and increases the network feature extraction ability while reducing the parameter quantity. The average pooling layer replaces the fully connected layer, avoiding the over-fitting problem that is easily caused by too many parameters of the full-connected layer. Experimental results on the MNIST and CIFAR-10 datasets show that the accuracy of this method on the MNIST dataset is 99.76%. The accuracy on the CIFAR-10 dataset is about 6% higher than the traditional convolutional neural network model.
Key Words: convolutional neural network; inception module; global average pooling; convolution kernel; image classification
0 引言
智能化信息时代的到来,使得人工智能与机器学习技术得到了飞速发展。卷积神经网络[1](Convolution Neural Network,CNN)作为深度学习最常用的模型之一,由于具有良好的特征提取能力和泛化能力,在图像处理、目标跟踪与检测、自然语言处理、场景分类、人脸识别、音频检索、医疗诊断等诸多领域获得了巨大成功。
随着如LeNet-5[2],AlexNet,VGGNet[3]等一系列经典CNN模型的提出,模型的深度和复杂度也随之增加,网络模型的参数也变得庞大,模型运行也消耗了更多时间。文献[4]讨论了在特定复杂度和时间中,CNN模型的深度、特征数、卷积核等因素平衡问题。通过增加卷积层数量增加网络深度,使得模型在分类任务上更有优势;文献[5]、文献[6]的研究表明,CNN模型中从卷积层到全连接层存在大量冗余参数,并且全连接层的参数量约占90%。剔除不重要的参数节点以及卷积核,可以达到精简网络结构的目的,减少参数进而有效缓解过拟合现象[7]的发生,同时减少网络训练时间,提升网络模型的健壮性;文献[8]提出了Inception模块,利用3种类型的卷积操作(1×1,3×3,5×5),增加了CNN深度,同时减少了参数,提升了计算资源利用率。
基于以上背景,本文提出结合Inception模块的卷积神经网络图像分类方法,利用若干个较小的卷积核替代一个较大的卷积核,通过增加卷积层获取深层次信息,同时让几种类型的卷积核并联提取图像特征,增加了网络深度、宽度并减少了参数,同时提升了算法效率。本文利用全局平均池化层(Global Average Pooling[9])替换全连接层以防止过拟合,采用批归一化[10](Batch Normalization,BN)操作加速收敛过程,增强模型学习能力。 1 卷积神经网络模型
1.1 VGG-Net
VGG-Net在 ILSVRC-2014中的优秀表现,证明增加网络深度可以影响网络模型最终性能。VGG-Net的一个改进是利用几个连续的小卷积核替代AlexNet中的较大卷积核。在给定的相同感受野[11]下,由于小卷积核的代价较小,卷积核的堆叠也增加了非线性激活次数,以进行更深层的特征学习,因此利用连续的小卷积核[12]是更优选择。例如在VGG中使用3个3×3卷积核代替1个7×7卷积核,7×7的参数为49个,3个3×3的参数是27个。这样保证在具有相同感受野的条件下,提升网络深度,同时使用3次非线性函数而不是1次,这样增加了函数判别能力,减少了参数数量,在一定程度上提升了神经网络效果。
1.2 Inception模块
VGG-Net的泛化性能非常好,常用于图像特征抽取和目标检测候选框生成等。VGG的最大问题就在于参数数量,简单地堆叠较大卷积层非常消耗计算资源,VGG-19 基本上是参数量最多的卷积网络架构。由于信息位置的巨大差异,为卷积操作选择合适的卷积核大小较为困难。信息分布全局性好的图像偏好较大的卷积核,信息分布比较局部的图像偏好较小的卷积核。非常深的网络更容易过拟合,将梯度更新传输到整个网络很困难。为了使网络变宽,而不是更深,Inception模块由此而生。它没有像 VGG-Net 那样大量使用全连接网络,因此参数量非常小。
GoogLeNet最大的特点是使用了Inception模块,如图1所示,利用 1×1、3×3 或 5×5 等不同的卷积运算与池化操作获得输入图像的不同信息,并行处理这些运算并结合所有结果将获得更好的图像特征。同时,为了降低计算成本,在3×3和5×5卷积层之前添加相较于3×3和5×5卷积廉价很多的 1×1 卷积层,以限制输入信道数量。
2 卷积神经网络改进方法
2.1 模型宽度与深度
使用VGG16模型的前三層卷积,即3×3卷积核和2×2池化层的组合,卷积层使用大小相同的卷积核对图像进行特征提取,紧跟的池化层将处理过的图像进行高度和宽度压缩,达到缩小图像的目的。通过增加卷积池化层不断加深网络结构,进而增强图像特征提取能力。
利用Inception模块,设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。由于1×1、3×3 或 5×5 等不同的卷积运算与池化操作可以获得输入图像的不同信息,并行处理这些运算并结合所有结果以获得更好的图像表征。在同一层级上运行该具备多个尺寸的滤波器,增加了网络宽度。
2.2 GAP
在卷积神经网络初期,通过卷积池化层后总是需要接一个或几个全连接层,最后输入到Softmax层进行分类。其特征是全连接层的参数非常多,使模型本身变得非常臃肿。Lin等[8]提出使用GAP替代全连接层的思路,该方法取代了拥有大量参数的全连接层,直接实现了参数降维。GAP在结构上对整个网络作正则化进而防止过拟合,允许输入任意大小的图像,重新整合空间特征信息,进而使算法拥有更强的鲁棒性。
2.3 自适应学习率
在机器学习中,为了得到最优权值,需要构建利用代价损失函数,并选用合适的优化算法得到最小函数损失值。本文选用随机梯度下降算法[13](Stochastic Gradient Descent,SGD)和Adam学习率自适应算法[14]相结合的方式更新学习速率。
SGD算法在计算下降最快的方向时,每次只随机选择一个样本更新模型参数,而不是扫描全部样本集。因此加快了迭代速度,计算量也有所降低,并且可以进行在线更新。SGD相关公式如下:
式中,θ代表参数权值,▽θ 代表梯度,J(θ)代表损失函数,α表示学习率。如果学习率过小,算法需要经过较多的迭代次数才能找到最优解,收敛速度会大幅度下降,更有可能陷入局部最优解。如果学习率过大,虽然会加快训练速度,但也加大了跳过最优解的几率,可能出现在最优解两侧来回跳跃的情况反而找不到最优解。由此可以看出,学习率是决定梯度下降算法是否有效的关键因素。
SGD能够收敛于最优解,但是相对而言它可能花费的时间更长,并且容易陷入局部极小值点,甚至鞍点。为了使学习率更好地适应SGD,本文选择Adam算法作为自适应学习速率SGD优化算法。该算法利用梯度的一阶矩阵和二阶矩阵动态调整参数学习率、校正后的学习率,使每一次迭代都有一个确定范围,并且使参数更新比较平稳。θ 参数更新如式(2)所示。
式中,[v]和[m]分别是对代价函数求梯度的一阶矩阵及二阶矩阵。
2.4 改进模型
改进后的网络模型如图2所示。设F0(X)=X+η为第一层输入,Fi(X)为第i层输出,*为卷积操作,Wi和bi 分别表示卷积层的权重与偏置。
第一层使用Inception模块,使用包括1×1、3×3、2个3×3共3种不同尺度大小的卷积核增加网络宽度,提取更多特征,此外还执行最大池化,所有子层的输出最后会被级联起来,并传送至下一个模块。针对数据集较小的情况,决定将层数降为32层,每种尺度大小的卷积核个数为8个。其中,W11=3×3×8,W12=3×3×8,W13=1×1×8,W14=1×1×8。
第二层使用VGG网络的3个卷积池化层,利用Conv+BN+ReLU+maxpool组合,64、128和256个3×3卷积核的卷积层以及2×2池化层,不断缩小图像高度和宽度,提高了网络深度,学习了更深层的更多特征。使用ReLU[15]激活函数,避免梯度消失;增加BN操作进行归一化,加快网络训练。各层输出表示为:
第三层使用全局平均池化层替代全连接层,有效减少了参数数量,可以很好地减轻过拟合发生。 3 實验结果与分析
3.1 实验平台与数据
实验选取的数据集为手写数字识别数据集MNIST和一般物体图像数据集CIFAR-10。本文实验主要在Intel(R)Core(TM)i5-6300HQ CPU2.30 GHz+Nvidia GeForce GTX960M GPU+8G内存配置的服务器上进行,另外采用基于Python语言的TensorFlow4.2深度学习框架对不同数据库进行训练与测试。
3.2 实验结果对比
3.2.1 MNIST数据集实验分析
MNIST数据集包含训练样本60 000个,测试样本 10 000个的手写数字图像,其中每张图像大小为28×28。设置epoch为100,batch 为200,每个epoch需要训练100次,总迭代训练次数为10 000次。卷积层步长设置为1,池化层步长设置为2,用反向传播算法调整网络权值,用交叉熵函数衡量训练损失,利用自适应学习率对训练集样本进行学习提取,采用Adam优化算法进行网络训练,训练结果如表1所示。经过 100 次迭代准确率已达到 99.64%,参数总数相比也有大幅度减少。
为了进一步验证模型有效性,与近几年手写字符识别方法进行对比,实验结果如表2所示。文献[16]通过减少全连接层参数,识别准确率为99.29%;文献[17]通过融合卷积神经网络使准确率达到99.10%;文献[18]通过PCA和K-临近算法使识别准确率达到99.40%;文献[19]在隐藏层设置SVM辅助分类器提高学习效率,使识别准确率达到99.61%;文献[20]通过改进的LeNet-5模型准确率达到99.36%。如表2所示,本文方法识别准确率高于其它文献方法,降低了手写数字识别错误率。
3.2.2 CIFAR-10数据集实验结果分析
网络模型泛化能力越强,表明模型普适性越强,对未知数据集的处理能力就越强;否则,模型泛化能力越差。为了进一步验证模型有效性,模型继续在CIFAR-10数据集上进行实验。CIFAR-10数据集由50 000个训练图像和10 000个测试图像组成,共10个类,每个类有6 000个彩色图像,每张彩色图像大小为32×32。
用本文提出的模型在数据集上进行实验,与传统CNN模型进行对比,实验结果如表3所示。
表3列出了本文改进卷积神经网络模型在数据集上的测试结果,通过图4改进模型与传统CNN模型的损失值对比,可以直观地看出本文模型在图像分类识别上的优势,从侧面展示了改进模型在不同图像识别环境中具有一定适应能力。
4 结语
本文根据VGGNet和Inception模块,提出了一种卷积神经网络模型,通过加大网络宽度和深度增强特征提取能力,通过对每层输入进行Batch Normalization,用Relu激活函数、SGD自适应学习率算法和Adam优化算法加快学习速度,卷积核叠加和全局平均池化层减少了参数数量,最后输入到Softmax层中进行分类。本文在MNIST数据集和CIFAR-10数据集上与一些传统CNN模型进行了对比实验,结果表明,本文网络模型在两个数据集上的准确率相对更高,拥有更好的鲁棒性和泛化能力。同时,由于实验中所使用的数据集较小,训练样本数量和种类限制对实验结果有一定影响。因此下一步工作中,将扩大数据集以验证本模型在图像分类中的有效性。
参考文献:
[1]LECUN Y, BOSER B E, DENKER J S, et al. Handwritten digit recognition with a back-propagation network[C]. Advances in neural information processing systems, 1990:396-404.
[2]LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[3]SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]. International Conference on Learning Representations, 2015.
[4]HE K M, SUN J. Convolutional neural networks at constrained time cost[C]. Proceedings of Computer Vision and Pattern Recognition, 2015:5353-5360.
[5]HU H, PENG R,TAI Y W, et al. Network trimming: a data-driven neuron pruning approach towards efficient deep architectures[DB/OL]. https://arxiv.org/abs/1607.03250.
[6]JIN Y, KUWASHIMA S, KURITA T, Fast and accurate image super resolution by deep CNN with skip connection and network in network[C]. International Conference on Neural Information Processing, 2017:217-225. [7]GONG Y, LIU L, YANG M, et al. Compressing deep convolutional networks using vector quantization[DB/OL]. https://arxiv.org/abs/1607.03250.
[8]SZEGEDY C,LIU W,JIA Y Q,et al. Going deeper with convolutions[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[9]LIN M, CHEN Q, YAN S. Network in network[DB/OL]. https://arxiv.org/abs/1607.03250.
[10]YU N, JIAO P, ZHENG Y. Handwritten digits recognition base on improved LeNet5[C]. The 27th Chinese Control and Decision Conference, 2015:4871-4875.
[11]SPRINGENBERG T,DOSOVITSKIY A,BROX T, et al. Striving for simplicity: the all convolutional net[C]. Proceedings of International Conference on Learning Represenation Workshop Track,2015.
[12]SZEGEDY C,VANHOUCKE V,IOFFE S,et al. Rethinking the inception architecture for computer vision[C]. Proceeding of IEEE Conference on Computer Vision and Pattern Recognition,2016:2818-2826.
[13]王功鹏,段萌,牛常勇. 基于卷积神经网络的随机梯度下降算法[J]. 计算机工程与设计,2018,39(2):441-445,462.
[14]张烁,张荣. 基于卷积神经网络模型的手写数字辨识算法研究[J]. 计算机应用与软件,2019,36(8):172-176,261.
[15]O’SHEA K, NASH R. An introduction to convolutional neural networks[DB/OL]. https://arxiv.org/abs/1607.03250,2015.
[16]YANG Z,MOCZULSKI M,DENIL M, et al. Deep fried convnets[C]. Proceedings of the IEEE International Conference on Computer Vision,2015:1476-1483.
[17]陈玄,朱荣,王中元. 基于融合卷积神经网络模型的手写数字识别[J]. 计算机工程, 2017(11):187-192.
[18]顾潘龙,史丽红. 基于PCA及k-邻近算法的复杂环境数字手写体识别[J]. 电子技术,2018, 47(10):44-48.
[19]LEE C Y, XIE S, GALLAGHER P, et al. Deeply-supervised nets[C]. Artificial Intelligence and Statistics, 2015:562-570.
[20]王秀席,王茂宁,张建伟,等. 基于改进的卷积神经网络LeNet-5的车型识别方法[J]. 计算机应用研究, 2018, 35(7): 301-304.
(责任编辑:孙 娟)
收稿日期:2019-11-14
作者简介:齐广华(1993-),男,山东科技大学计算机科学与工程学院硕士研究生,研究方向为智能信息处理技术;何明祥(1969-),男,山东科技大学计算机科学与工程学院副教授,研究方向為数据库系统、信息处理、人工智能、数字矿山。本文通讯作者:齐广华。
转载注明来源:https://www.xzbu.com/8/view-15217629.htm