APP下载

基于多样化结构的轻量型卷积神经网络设计

2020-06-19魏书伟曾上游潘兵王新娇

现代电子技术 2020年12期
关键词:图像分类卷积神经网络

魏书伟 曾上游 潘兵 王新娇

摘  要: 传统的卷积神经网络的网络结构单一或模块单一,网络提取特征时都是以同一种模式持续进行,导致分类精度不够理想,且模型参数和计算量较大。针对这一问题,提出一种使用多样化模块的轻量型卷积神经网络结构Diverse?net,使用Reduce Module和Slice Module两种卷积模块,通过交替叠加使用两种不同的卷积模块来代替传统网络的单卷积核结构,增加网络的深度和宽度,并在不同模块之间加入残差学习。使用文中搭建的卷积神经网络Diverse?net,与其他网络模型在GTSRB和101_food数据集上进行测试来对比网络性能与模型大小,Diverse?net网络模型大小减少至20.8 MB,在数据集GTSRB上识别率可达到98.72%;在数据集101_food上识别率可达到68.09%。实验结果表明,所设计的卷积神经网络Diverse?net在图像分类方面性能更优,且网络的模型较小。

关键词: 卷积神经网络; 多样化结构; 残差学习; 图像预处理; 图像分类; 测试分析

中图分类号: TN926?34; TP391.4                 文献标识码: A                      文章编号: 1004?373X(2020)12?0050?05

Abstract: The network structure or module of the traditional convolution neural network is single, and the features extraction by the network is carried out in a same mode continuously, resulting in the undesirable classification accuracy and a large amount of model parameters and computations. Therefore, a lightweight convolution neural network structure Diverse?net with diversified modules is proposed, in which the two kinds of convolution modules of Reduce Module and Slice Module are used to replace the single convolution kernel structure of the traditional network by means of the alternating superposition, which increase the depth and width of the network, and add the residual learning between different modules. The convolution neural network (Diverse?net) constructed in this paper and other network models were tested on GTSRB and 101_food datasets to compare their network performances and model sizes. The Diverse?net network model is reduced to 20.8 M, and the recognition rate can reach 98.72% on GTSRB dataset, and 68.09% on 101_food dataset. The experimental results show that the designed convolutional neural network Diverse?net has better performance in image classification and smaller network model.

Keywords: convolution neural network; diversified structure; residual learning; image preprocessing; image classification; testing analysis

0  引  言

Hinton自2006年提出深度学习[1]的概念以来,深度学习已成为人工智能研究的热点,它打破了人工智能领域发展长期停滞不前的局面,计算机硬件性能的提高和大数据时代的到来也为深度学习的发展奠定了良好的基础。相比于传统算法,深度学习算法在自然语言处理和图像识别分类等方面逐渐表现出强烈的优势,现已成为人工智能领域的顶尖算法。由深度学习引发的新一代“工业革命”,将会提高人们的生活水平和质量,改变人们的出行等生活方式,研究者已经在自动驾驶、实时语音处理等多个方面取得了重大突破,对人工智能的研究进入了一个新的阶段。

卷积神经网络(CNN)[2]是深度学习算法中重要的一部分,发展到现在为止,各种优秀的模型先后被提出,其中比较有代表性的模型为VGG[3],GoogLeNet[4],ResNet[5] 。但是这些网络的结构或者网络模块比较单一,在这种情况下,网络提取特征时都是以同一模式持续进行。故在浅层的深度卷积神经网络中很可能没有提取到较好的特征,而且卷积神经网络模型一直在追求识别的成功率,随着网络的发展,识别精度不断被提升,参数量也越来越多,但是庞大的网络结构需要学习更多的参数,容易造成过拟合现象[6]。此外,网络结构增大对网络训练也会造成一定困难,网络训练的效率较低,对计算机硬件要求过高,网络也难以移植,如何在保证识别精度的情况下,设计轻量化的模型已成为亟待解决的问题。

本文针对于这一问题,提出一种多样化模块的轻量型卷积神经网络架构Diverse?net,结合Reduce Module和Slice Module两种卷积模块,使用1×1卷积操作使得两种降维模块的首尾完美结合,网络末端使用全局均值池化(Global Avepool)替代传统网络结构的全连接层,有效地降低了网络参数,这种多样化的轻量型的神经网络架构可以在容量有限的硬件上运行。

1  基于多样化结构的轻量型卷积神经网络模型

1.1  Reduce Module

传统的卷积神经网络采用单条卷积层和下采样层交替堆叠而成的模式,对特征图进行特征提取,网络复杂度、模型参数和计算量较大,且卷积操作只有一条通道,提取的图像特征不充分。图1为标准的卷积结构。

Reduce Module结构如图2所示,其基本思路是将一个卷积层分为降维层和采样层两部分,并在每层后面加入了ReLu激活层[7]。降维层采用S个1×1 大小的卷积核将输入特征图的通道数量降低到S。采样层使用两组卷积通道(G1和G2)提取特征,G1使用S个3×3卷积核进行卷积;G2采用两层3×3卷积进行卷积操作,每层3×3卷积层的卷积核个数均为S。

Reduce Module与传统的3×3卷积结构相比参数减小,在输入和输出均为128张特征图时,传统的3×3卷积结构参数为128×3×3×128=147 456,Reduce Module的参数则为128×1×1×64+64×3×3×64+64×3×3×64+64×3×3× 64=118 784。在参数量减小的情况下,本文Reduce Module同时使用两种尺度卷积核采样,增加了提取特征的多样性。

1.2  Slice Module

Slice Module[8]核心思想是将输入的特征图切分为两部分,分别输送给两条卷积核大小不同的网络支路进行卷积操作来提取特征,再经过特征图级联操作concat将两条支路提取到的特征信息进行融合,最后再经过1×1卷积核整合特征图并增加网络的深度,同时也减少了下一级网络输入的参数,如图3所示。Slice Module将输入的128张特征图分为2组,每组为64张特征图,分别经过3×3和5×5两种不同大小的卷积核进行特征提取,又经过级联操作整合为128张特征图,再经过1×1卷积操作后输出,对比传统仅使用3×3卷积核结构的参数为128×3×3×128=147 456,Slice Module卷积结构参數为64×3×3×64+64×5×5×64+128×1×1×128=155 648,基本没有什么变化,但是同时增加了网络的宽度和深度,提高了网络的识别性能。

1.3  残差网络ResNet

传统的卷积神经网络模型通过叠加卷积层来提高网络深度,从而提高识别精度,但是重叠卷积层太多将会引起梯度离散等问题,在反向传播时不能有效地将梯度更新到前面的网络层,导致前网络层参数不能及时更新。

残差结构如图4所示,设模型输入为x,经过两层计算后的输出为F(x),整个结构经过计算的输出H(x),即H(x)= F(x)+x,模型计算得到的输出H(x)传入到下一层作为下一层的输入。在层级结构上增加一个短接结构后,使得网络模型的训练效果和速度都有很大的提升,而且不会给网络额外增加参数,当网络模型的层数加深时,这种短接结构可以很好地解决网络性能退化问题。本文在Reduce Module和Slice Module之间增加残差运算,使网络在反向传播过程中更好地把梯度传输到更浅的层次中。

1.4  整体网络结构

Diverse?net的整体网络结构如图5所示,通过两个模块Reduce Module和Slice Module的交替使用并配合池化层的降维操作,浅层的特征使用最大池化(Maxpool)进行下采样,这样能尽量多地突出显著特征,随着特征提取的深入,网络提取的图片特征更加困难,此时采用均值池化(Avepool)进行下采样,最后使用全局均值池化(Global Avepool)加普通卷积层代替传统网络的全连接层,且加入了Dropout层以防止过拟合现象发生。

池化层的操作经过多次试验发现采用Max?Max?Max?Ave(Max指最大值池化,Ave指平均池化)架构效果较好,网络架构清晰明了,易于扩展和推广,全局平均层没有任何参数,因此有利于网络的轻量化和防止过拟合现象的发生。

2  实  验

2.1  图像数据集和预处理

本实验数据集采用目前在图像识别方面使用相当广泛的101_food食物数据集以及GTSRB交通标志数据集。如图6所示,101_food数据集包括了101类食物的图像,每类食物1 000张图像,共计101 000张图像。此次实验中,将训练集和测试集按照3∶1的比例进行分配,则为75 750张训练图像和25 250张测试图像。

如图7所示,GTSRB是一个交通标志数据集,包含43类交通标志的图像,共计51 831张图像。其中,包含39 209张训练集图像,12 432张测试集图像。在智能驾驶方面被广泛使用,所有数据集的图像均在自然环境下拍摄得到,有的图像会出现视觉倾斜、局部遮挡、低分辨率、运动模糊等现象,所以识别率很难达到100%。

图像预处理是训练之前对所有图片进行数据增强,进行归一化和去均值等操作。首先将图像的每个像素都减去训练图片的平均像素值,然后将所有图像进行cropsize随机裁剪操作,分别截取每张图像的左上角、左下角、右上角、右下角以及中间区域,随机裁剪区域的大小为227×227,最后再进行水平翻转操作,使得数据集的数量扩增10倍。

2.2  实验设置

1) 实验环境。此次实验选用 caffe深度学习框架[9]布置网络结构,使用 i7?6700K处理器、Ubuntu 16.04操作系统以及1080Ti的GPU显卡进行网络训练与测试。

2) 参数设置。实验在GTSRB数据集上测试时,网络的文件配置如下:初始学习率learning rate设置为0.005,选择使用multistep的变化方式来逐步改变学习率的大小,gamma为0.1,stepvalue设置为24 000和48 000,表示当达到这两个迭代次数时学习率减小为原来的[110],最大迭代次数为60 000,网络每迭代500次测试一次当前的网络性能。在101_food数据集上测试时,除了最大迭代次数设置变为150 000和stepvalue参数设置为40 000,80 000和120 000,其余参数都和在GTSRB数据集上的配置保持一致。

2.3  实验结果及分析

实验测评采用本文Diverse?net网络、同等深度的传统卷积神经网络Tra?Net和其他已发表的识别方法,在GTSRB以及101_food数据集上测试其识别性能,结果如表1所示。图8给出了Diverse?net和Tra?Net两种网络在101_food训练时测试精度的变化曲线,当达到设置的最大迭代次数15 000时,Diverse?net识别精度依然明显高于其他方法。与传统卷积神经网络Tra?Net相比,Diverse?net网络模型规模大幅度下降,且模型识别准确率提升了约12%,与其他已发表的网络相比,Diverse?net都呈现出识别精度提高、网络模型减小的优势。

图9给出了Diverse?net和Tra?Net两种网络在GTSRB数据集上训练时测试精度的变化曲线。由表2和图9可知,当达到设置的最大迭代次数60 000次时,采用Diverse?net网络的识别精度提升到98.72%,优于其他识别方法,且网络模型参数相比传统网络减少至20.1 MB。

从实验结果可以看出,Diverse?net网络在网络模型较小的情况下,相比传统卷积神经网络Tra?Net和其他已发表的识别方法,均在两个数据集上提高了分类精度;并且Diverse?net识别性能更优,模型较为轻量化。综合两个对比实验可知:

1) Reduce Module和Slice Module交替联合使用能有效地提升网络性能并控制模型大小。

2) 双通道的特征提取对整体识别率是有贡献的。

3) 1×1卷积层的降维操作,可以有效控制网络参数。

4) 使用全局均值池化代替传统的全连接层可以有效地减少网络参数。

3  结  语

本文采用Reduce Module和Slice Module两种卷积模块,通过交替叠加使用两种不同的卷积模块来代替传统网络的卷积模块,设计一种使用多样化模块的轻量型卷积神经网络结构Diverse?net,使用1×1卷积,增加网络的深度和宽度,并在不同模块之间加入了残差学习,使用全局均值池化代替传统的全连接层,有效地减少了网络参数,轻量化了网络。

虽然多样化网络的性能优越,但是在本文的实验中未测试其他类型模块叠加后的性能,由于在汲取其他网络模块优点的同时也有可能将其缺点也接纳过来,所以在采用不同网络模块时应考虑其他因素对网络的整体影响,取其精华,去其糟粕。后面的工作是在本文中Diverse?net上继续改进,进一步测试Diverse?net在其他领域中的表现,例如目标检测,图像分割等,并在更大规模的數据集上进行测试和优化来比较网络的性能优劣,进一步提升网络性能,减少模型大小。

参考文献

[1] HINTON G E. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313: 504.

[2] HAYKIN S, KOSKO B. Gradientbased learning applied to document recognition [M]// HAYKIN S, KOSKO B. Intelligent signal processing. Ottawa: Wiley?IEEE Press, 2001: 306?351.

[3] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large?scale image recognition [J]. Computer science, 2014, 12: 1?14.

[4] SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions [C]// IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 1?9.

[5] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition [C]// IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770?778.

[6] 张顺,龚怡宏,王进军.深度卷积神经网络的发展及其在计算机视觉领域的应用[J].计算机学报,2019,42(3):453?482.

[7] NAIR V, HINTON G E. Rectified linear units improve restricted Boltzmann machines Vinod Nair [C]// Proceedings of 2010 27th International Conference on Machine Learning. Haifa: DBLP, 2010: 17?21.

[8] 周悦,曾上游,杨远飞,等.基于分组模块的卷积神经网络设计[J].微电子学与计算机,2019,36(2):68?72.

[9] JIA Y Q, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding [C]// 22nd ACM International Conference on Multimedia. New York: ACM, 2014: 675?678.

[10] BOSSARD L, GUILLAUMIN M, GOOL L V. Food?101?Mining discriminative components with random forests [C]// European Conference on Computer Vision. Zurich: Springer, 2014: 446?461.

[11] JAHANI H E, HABIB A H, PUIG D. An optimized convolutional neural network with bottleneck and spatial pyramid pooling layers for classification of foods [J]. Pattern recognition letters, 2018, 105: 50?58.

[12] 徐彬森,魏元周,毛光明,等.交通标志识别算法模型的研究与实现[J].软件,2017,38(11):74?81.

[13] 韩伟,刘磊,马伟东,等.基于极坐标分区LBP的交通标志识别方法[J].湘潭大学自科学报,2017(4):92?94.

[14] 孙伟,杜宏吉,张小瑞,等.基于CNN多层特征和ELM的交通标志识别[J].电子科技大学学报,2018(3):343?349.

猜你喜欢

图像分类卷积神经网络
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
一种基于引导滤波和MNF的高光谱遥感图像分类方法
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究