基于SqueezeNet和FractalNet混合模型的图像分类研究

2019-12-06 08:48王子牛王许高建瓴陈娅先吴建华
软件 2019年10期
关键词:图像分类卷积神经网络

王子牛 王许 高建瓴 陈娅先 吴建华

摘  要: 针对传统卷积神经网络(如Lenet5)在图像的多分类任务中识别率不高、较新的卷积神经网络(如VGG16)在图像的多分类任务中待优化的参数达到千万级别的问题。采用将SqueezeNet神经网络与FractalNet神经网络相结合的方法。本文使用SqueezeNet神经网络中的Fire Module来减少模型的参数、FractalNet神经网络的基本架构来保证神经网络模型的准确度。结果显示:在其它超参数基本相同的前提下,迭代40代时,DenseNet模型的测试集准确度为79.92%,而混合模型的测试集准确度为84.56% ,其待优化的参数降至二百万个左右,故混合模型对数据的拟合能力更强,模型参数保持较低水平。

关键词: SqueezeNet;FractalNet;DenseNet;图像分类;混合模型;卷积神经网络

中图分类号: TP183    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.10.011

本文著录格式:王子牛,王许,高建瓴,等. 基于SqueezeNet和FractalNet混合模型的图像分类研究[J]. 软件,2019,40(10):4649

Image Classification Based on SqueezeNet and FractalNet Hybrid Model

WANG Zi-niu1, WANG Xu2, GAO Jian-ling2, CHENG Ya-xian2, WU Jian-hua

(1. Guizhou University, Guizhou 550000; 2. Guizhou University, School of Big Data and Information Engineering, Guizhou 550000)

【Abstract】: For the traditional convolutional neural network (such as Lenet5), the recognition rate is not high in the multi-classification task of the image, and the newer convolutional neural network (such as VGG16) has to be optimized in the multi-classification task of the image. A method of combining the SqueezeNet neural network with the FractalNet neural network is employed. This paper uses the Fire Module in the SqueezeNet neural network to reduce the parameters of the model and the basic architecture of the FractalNet neural network to ensure the accuracy of the neural network model. The results show that under the premise that other superparameters are basically the same, the accuracy of the test set of the DenseNet model is 79.92% when the iteration is 40 generations, and the accuracy of the test set of the hybrid model is 84.56%, and the parameters to be optimized are reduced to two hundred. About 10,000 or so, the hybrid model has a stronger ability to fit the data, and the model parameters remain at a lower level.

【Key words】: SqueezeNet; FractalNet; DenseNet; Image classification; Hybrid model; Convolutional neural network

0  引言

隨着科学技术的发展,计算机视觉日益成熟,然而在过去,卷积神经网络对图像的分类任务中一直追求准确率而不在意神经网络模型的待优化参数数目,虽然每年出来的卷积神经网络模型对图像分类的准确率逐年提高,但随之而来的是待优化参数的数目也逐年升高。2016年,Forrest N. Iandola, Song Han等人提出了SqueezeNet论文,该论文提到:同样的精度,较小的CNN架构提供至少三优点[8-9]。(1)较小的CNN在分布式训练过程中需要跨服务器进行更少的通信[3-6]。(2)较小的CNN需要更少的带宽。(3)较小的CNN提供了在FPG内存有限的硬件上部署的可行性[1]。2017年,Gustav Larsson, Michael Maire等人提出了FractalNet论文,认为残差不是建立深度网络唯一的基础和方法。深度卷积网络中真正的关键所在训练过程中网络关于信息的传递能力。采用了一种类似student-teacher的学习机制,结合drop- path也能够使得深度卷积神经网络模型训练得非常好[2]。为了使卷积神经网络具有较高的识别率又使其待优化的参数减少,本文提出了将SqueezeNet神经网络中的Fire Module与FractalNet神经网络的基本架构相结合起来对图像进行多分类处理。

1  SqueezeNet、FractalNet基本原理

1.1  SqueezeNet基本原理

为了保证卷积神经网络模型参数少、准确性较好的研究目标。在设计卷积神经网络架构时一般采用三个主要策略:策略一,使用1×1卷积核替换3×3卷积核;策略二,将输入到3×3卷积核的通道数目减少;策略三,在网络后期进行降采样[1]。

Fire模块如图一所示,Fire模块中包括:squeeze层(其仅具有1×1卷积核)、e×pand层(其具有1×1和3×3的卷积核)。在Fire模块中有三个可调整参数(超级参数):s1×1、e1×1、e3×3,其中s1×1表示squeeze层(所有1×1)中的卷积核数目,e1×1表示expand层中1×1卷积核数目,e3×3表示expand层中的3×3卷积核数目。当使用Fire模块时,将s1×1大小设置为小于(e1×1+e3×3)的整数,因此squeeze层有助于将输入通道的数目减少[1]。

1.2  FractalNet基本原理

Fractal,分形,来自于几何学,所谓分形就是从多个层次、多个角度、多个组成成分来共同解决一个问题。FractalNet就是一个这样的结构,它通过多个不同深度的网络组合,来共同构建网络模型。浅层提供更迅速的回答、深层提供更准确的回答。FractalNet的结构可以看成由多个以下模块组成[2],其结构如图2所示。

可以看到每一个Fractal的模块,实际上就是由多个浅层和深层的联合而成,层的深度成2的指数型增长。不同深度的输出进行联合时采用的不是ResNet中使用的加法,而是一个求均值的操作,这样做的目的实际是由于每个联合层的输入的个数可能不同,求均值的话可能起到一个类似于归一化的效果[2]。

2  SqueezeNet和FractalNet混合模型

利用SqueezeNet网络中的fire模块为基本单元,以FractalNet中的结构为基本框架,构建SqueezeNet和FractalNet混合模型。基本单元fire模块中,通过squeeze层将输入的图片特征进行进行压缩,通常将s1×1设置为特征通道数目的1/4或1/2,不进行下采样,图片特征经过squeeze层后实现了压缩并将其送入到expand层,expand层中有两类卷积核分别为e1×1、e3×3,其卷积核数目设置为原图片特征通道的一半,不进行下采样,由于图片特征不是直接输入到3×3的卷积核和1×1的卷积核中去而是经过1×1的卷积核进行特征的压缩,故模型中的fire模块可以减少整个神经网络的待优化参数。混合模型的基本框架与FractalNet模型相似,采用分形结构 ,将fire基本单元进行横向堆叠、纵向扩展,逐级提取图片中的特征信息,横向深的分支可以提取复杂的图片特征信息,横向浅的分支可以提取简单的图片特征信息,分工合作,FractalNet神经网络中的基本框架可以保证整个神经网络的准确度。混合模型中使用了Batch Normalization技术来防止因卷积神经网络导数过深而导致的梯度消失与梯度爆炸问题,使用混合模型更容易训练,考虑到计算机算力的限制,并未大量使用Batch Normalization技术,而是横向每经过几次3×3的卷积后设置一个Batch Normalization,做折中的处理。混合模型使用池化层来进行降采样,步长strides=2,原图片长宽为32×32,经过两次降采样处理,特征层的长宽变为了8×8。混合模型为了避免采用全连接层而产生大量的待训练的模型参数而采用Global Average Pooling(全局池化层)技术,保证待训练参数尽可能少,图片特征经全局池化层后输入到softmax分类器进行分类,根据特征信息计算出图片属于哪一类。由于图片分类属于分类问题故损失函数loss使用交叉熵进行计算[10-11]。采用梯度下降法进行混合模型的网络参数优化。混合模型的网络结构如图5所示。

Conv 1×1 s=1

Conv 1×1 s=1 Conv 3×3 s=1

3  实验结果与分析

3.1  基本硬件配置和实验环境

硬件配置:实验采用一台处理器为Intel(R)Core(TM)i5-4590 CPU @ 3.30GHz 3.30 GHz,安装内存(RAM)为8.00 GB的电脑。

本论文代码实现采用的操作系统为Windows 7,采用python 3.6.5作为编程语言。本论文中网络结构设计采用Google開源的Tensorflow 1.8.0深度学习框架和keras 2.2.3深度学习框架进行混合模型网络设计并进行实验。

3.2  分类图像数据集

本实验采用的cifar-10数据集是做实验比较常用的分类数据集,该数据集共有60000张彩色图像,这些图像的像素为32*32*3,分为10个类,每个类6000张图。其中50000张用于训练集,5000张用于验证集,5000张用于测试集。数据集的十个类别分别是:airplane、automobile、bird、cat、deer、dog、frog、horse、ship、truck。

3.3  实验结果

本实验采用mini-batch策略进行神经网络的训练,每次送入32张图片进行训练,将所有的训练集全部训练一遍完需要1562个mini-batch,神经网络分类器采用10分类的softmax函数,整个混合模型的损失函数为loss='categorical_crossentropy',本实验具体的超参数如表1所示。

本实验采用的对照组神经网络为DenseNet网络,因为DenseNet相比于ResNet对图像的分类有着更好的效果,是近年来分类效果较好的神经网络之一,具有代表性。两组卷积模型运行的结果如表2所示。

DenseNet模型的训练过程效果图如图6所示,其损失函数变化如图7所示。

由实验结果得,在DenseNet与混合网络模型的在深度基本相当的条件下,DenseNet网络训练迭代40代达到的准确率与混合模型训练迭代16代所达

混合模型的训练过程效果图如图8所示,其损失函数如图9所示

到的准确率基本相同,准确率为80%左右。混合模型训练迭代40代其准确率达到84.56%,高于DenseNet模型。由图6得,混合模型在开始的前16代中,训练集的预测准确率从0提升至80%左右,主要原因是在这个过程中损失函数的梯度值比较大,迭代时快速的向最优点靠近,而代数从16至40代的过程中,整个训练集的预测准确率从80%提高至88%,主要原因是在这个过程中越靠近最优点的时候,损失函数的图像越平坦,其梯度值就越小,迭代时以非常缓慢的速度向最优点靠近。由表2中的实验结果,两者在迭代次数相同的条件下,混合模型的准确率要高于DenseNet模型,故混合模型相对于DenseNet网络具有更强模型表达能力,其中主要的原因是混合网络的结构更加的复杂化,这样带来的好处就是模型的学习能力增强了,简单的特征提取与推理由深度较浅的网络完成,复杂的特征提取与推理由深度较深的网络完成,分工合作,共同完成任务。虽然混合模型网络的结构比较复杂,但其待优化参数与DenseNet网络的待优化参数基本相当甚至还低些,混合模型网络的参数为2百万左右比传统的VGG-16的千万级别的参数要低很多。由实验结果表明,混合模型的测试集损失函数值为0.6012,DenseNet模型的测试集损失函数值为0.6742,故混合模型对实验数据的拟合能力更好。

4  总结

本论文提出的基于SqueezeNet和FractalNet混合模型对图像分类的神经网络。本实验利用SqueezeNet神经网络中的Fire Module来减少模型的参数,利用FractalNet神经网络的基本框架来保证神经网络模型的准确度。实验证明混合模型神经网络相对于DenseNet神经网络来说具有更强的模型表达能力和更低的方差。本次实验尝试引入Inception-V4的思想将N*N的卷积核拆分成1*N和N*1的卷积核[7],以此来进一步降低整个神经网络的参数,但实验效果不理想,故不将3*3的卷积拆分成3*1和1*3的卷积。

本文提出的基于SqueezeNet和FractalNet混合模型网络也同样存在缺点和可以改进的地方:(1)为了防止过拟合,本文采用的是L2正则化,可以尝试另一种正则化方法,既使用dropout正则化进行优化。

参考文献

[1]Forrest N. Iandola1, Song Han2, Matthew W. Moskewicz1, Khalid Ashraf1, William J. Dally2, Kurt Keutzer1 SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PAR AMETERS AND <0.5MB MODEL SIZE Under review as a conference paper at ICLR 2017.

[2]Gustav Larsson, Michael Maire, Gregory Shakhnarovich Frac talNet: Ultra-Deep Neural Networks without Residuals arXiv: 1605. 07648v1 [cs.CV] 24 May 2016.

[3]李彦冬, 郝宗波, 雷航 卷积神经网络研究综述 Journal of Computer Applications[J]. 计算机应用, 2016, 36(9): 2508- 2515, 2565.

[4]Gu J., Wang Z, Kuen J, Ma L, Shahroudy A, Shuai B, et al. (2015). Recent advances in convolutional neural networks. CoRR abs/1512.07108.

[5]Goodfellow, I, Bengio, Y, Courville, A, Bengio, Y. Deep learning (Vol. 1). Cambridge: MIT press, 2016: p326-366.

[6]王聰兴, 刘宝亮. 一种基于图像处理的表面故障裂纹检测系统[J]. 软件, 2018, 39(5): 144-150.

[7]Inception-v4, inception-Res Net and the impact of residual connections on learning. SZEGEDY C, IOFFE S, VANH OUCKEV. https://arxiv.org/pdf/1602.07261.pdf.2016.

[8]李昊泉, 史梦凡, 陈舒楠, 等. 卷积神经网络在案件分类上的应用[J]. 软件 2019(04): 222-225.

[9]杜冠军, 佟国香. 一种新的混合演化多目标优化算法[J]. 软件, 2019(2): 6-10.

[10]张明军, 俞文静, 袁志, 等. 视频中目标检测算法研究[J]. 软件, 2016, 37(4): 40-45.

[11]张玉环, 钱江. 基于两种LSTM结构的文本情感分析[J]. 软件, 2018, 39(1): 116-120.

猜你喜欢
图像分类卷积神经网络
基于数据挖掘的图像分类算法
基于卷积神经网络温室智能大棚监控系统的研究
基于云计算的图像分类算法
基于深度卷积神经网络的物体识别算法
基于锚点建图的半监督分类在遥感图像中的应用