APP下载

改进的卷积神经网络图片分类识别方法

2018-12-13董莺艳

计算机应用与软件 2018年12期
关键词:池化学习机网络结构

闫 河 王 鹏 董莺艳 罗 成 李 焕

1(重庆理工大学计算机科学与工程学院 重庆 401320)2(重庆理工大学两江人工智能学院 重庆 401147)

0 引 言

图像识别是通过计算机模拟人类对图片的分类理解,自动的把图片归为不同的语义类别。目前,图像识别在众多领域都有广泛的应用。对于图像识别目前有两个主要研究的方向:一是对特征的提取;二是对图片分类算法的研究。目前基于支持向量机[1]的分类虽然取得较好的成绩,但是还存在挑战。由计算机表达出来的特征和人类对于大脑皮层所感知的信息还存在差距。这个问题也是我们面临的巨大挑战。如何用计算机构建一个对高层语义理解的方法是急需解决的关键问题。而随着卷积神经网络的提出,这个关键的问题也在逐渐的被解决。目前,深度学习技术在近几年取得了突破性的进展,特别是在视觉方面。卷积神经网络在图像分类[2]、图像检索[3]、图片识别[4]等方面都取得较好的效果。文献[5]在1999年实现了对手写体数字的识别。AlexNet[2]网络在2012年的ImageNet大赛上取得了冠军。VGG[3]网络进一步提高了识别精度,同时把网络层数增加到19层,并在2014年的比赛中取得了第一名的好成绩。文献[4]提出了更深层的网络结构,把网络层数进一步提高,并达到了22层,同时获得了2014年视觉挑战赛的冠军。文献[6]研究了线性整流函数,通过和GoogleNet的对比,把准确率提高了26%。通过以上大赛中应用卷积神经网络的对比实验可以发现。神经网络的深度直接影响计算机视觉任务的效果。但是,如果单纯地增加网络深度又会引发网络梯度消失问题。如果发生梯度消失,不仅不会让网络的性能更好,还会让网络的精度下降,甚至消失。针对以上的问题,文献[7]提出了残差网络结构,不仅解决了网络深度的问题,同时还有效解决了梯度消失问题,文献[8]提出了一种全新的方案解决梯度消失问题,同时让层之间的信息保持最大化的传送。通过对以上网络结构的对比发现,在解决问题的时候都是向网络的深度发展。但是随着网络深度的加深,需要训练的参数也会逐渐增多,对于电脑的存储空间也提出了新的要求,同时也需要性能更好的计算设备。对于实际应用情况会出现种种困难,如今已有学者在研究如何减低计算开销[9-10],目前有效的方法是用特定的数据在预训练网络上训练特定的目标网络,简单讲就是迁移学习。也有研究[11]用改进的网络结构计算类别间的相似度实现图片的分类。还有研究[12]对于在图片分类中有多个标签的情况。由此设计出了HCP网络,并取得了较好的效果,卷积神经网络提取特征时具有平移、缩放和旋转不变性[13]等优点。

卷积神经网络的最后一层一般可以看成一个线性分类器,所以卷积神经网络虽然能够提取特征,但不是一个最优的分类器。2016年,赵亮等[14]利用卷积神经网络结合HOG和HSV特征构造图像特征,通过用支持向量机对图片进行分类。支持向量机(SVM )是最广泛的分类器之一,但随着分类器的进一步发展,Huang等[15]于2004年提出单隐层前向神经网络(SLFNs)的ELM算法,并于2006年对ELM进行了进一步的研究,给出了一些理论证明和应用[15-16]。文献[17]提出了P-ELM[17],根据ELM算法并利用统计学原理,对网络分类效果影响较弱的隐层进行裁剪,并优化网络结构,取得了较好的分类效果。同时也有众多学者将极限学习机应用到了实际应用,并都取得了很好的效果。张建明等[18]提出了极限学习机应用于人脸识别,文武等[19]提出了极限学习应用于车牌识别等。与其他分类器相比较,极限学习机的参数不需要迭代训练,直接通过计算所得,所以具有训练速度快,不需要选择学习率等参数,避免了寻优过程,应用图片分类识别具有较好的效果。但是极限学习机对特征较高的要求,这正好运用卷积神经网络来弥补。以上文献充分证明了卷积神经网络对于特征提取的有效性,同时也证明了极限学习机在分类识别上比目前先进的分类算法表现得更优。但是,卷积神经网络是最好的特征提取方法,却不一定是最好的分类方法,且卷积神经网络的训练时间长,而极限学习机恰恰可以弥补卷积神经网络的不足。同时卷积神经网络对于特征提取还可以进一步优化和改进。

针对卷积神经网络分类耗时长,误差率有待提高和提取更丰富的特征语义,本文提出了一种AlexNet卷积神经网络和ELM结合的图片分类方法,采用有监督的方法学习不同层次的图像特征,用改进网络结构提取更具表达能力的图片特征,并在全连接层和极限学习机结合。相比于其他的算法本文具有以下的特点:

(1) 提出一种高效的网络框架,不仅能够提高图片识别率,同时也能降低计算开销。

(2) 本文在池化层做了改进,用最大-均值的池化方式,不但扩大了局部感受野,同时还保留了图片更加精确的特征,满足了极限学习机对于特征的要求。

(3) 通过全连层和极限学习机的结合,提高了网络结构的分类能力。

通过实验结果证明,本文对卷积神经网络提出的优化和改进,应用于图片的分类识别取得了较好的效果,且性能优于目前最先进的方法。

1 卷积网络和极限学习机

1.1 卷积神经网络

卷积神经网络[20]是提取高级语义特征表现最好的算法,通过对图片的逐层卷积提取更加抽象的特征,越抽象的特征越能够表现图片的语义信息,并在图片的分类中变现出更好的性能。

AlexNet是一种常见的卷积神经网络结构,此网络由五层卷积层、三层池化层和三层全连接组成。网络结构的全连接层和池化层的主要目的是对特征的提取,全连接层把特征向量压缩成为一维的向量。此网络的训练的过程主要分为两个步骤。

(1) 前向传播阶段,计算公式如下:

(1)

式中:y(l)为第l个卷积层的输出,x(i)是输入向量,⊗为卷积运算,b(i)为偏置,w(i)为该层的权值,m代表输入特征的集合,f(x)为激活函数。

(2) 反向传播阶段,对于有m个样本的数据集,会通过上述的前向传播输出预测值,根据预测值与网络期望的输出定义整体的目标函数。

(2)

式中:L(Zi)是对应网络的损失函数。通过最小化损失函数降低网络分类误差,zi为反向传播的输入,w代表权值,λ代表归一项所代表的比重,L(Zi)需要根据实际的分类情况具体决定。

1.2 极限学习机结构

极限学习机最初是为了解决单隐层前馈神经网络SLFNs(Single-hidden layer feed-forward neural networks)而提出,网络结构图如图1所示。

图1 极限学习机的网络结构

假设有N个任意的不同样本(xi,ti),i=1,2,…,N其中,xi=[xi1,xi2,…,xin]∈Rn,ti=[ti1,ti2,…,tim]∈Rm。

则极限学习机的目标函数为:

Hβ=T

(3)

式中:H为神经网络隐层的输出矩阵;T为期望输出[12]。

(4)

h(x)=g(W·x+b)

(5)

式(4)和式(5)中:W∈RL×n为输入层到隐含层的权值;b∈RL为隐含偏置量;g(·)为激活函数。基本思想是:随机产生W和b,然后据此计算H和β,有很多种方法,其中一种简单的方法为[21]:

β=H+T

(6)

2 基于深度神经网络的图像分类

2.1 AlexNet网络框架的优化

AlexNet网络结构如图2所示,此模型通过输入相应的图像和标签,输出图片类别的概率。本文将从两个方面优化和改进网络结构,首先对网络框架的优化,主要有两点:(1) 基于最大值池化的缺点,提出了最大值和均值结合的池化方法,扩大局部感受野。(2) 在全连接层后面接上极限学习机进行分类学习。其次,对于网络内部的优化主要是在卷积后,对数据规范化处理。

图2 AlexNet网络结构图及优化

2.2 最大值和均值结合的图像局部感受野

目前,深度学习中大部分的网络结构和识别的算法都用到了池化。为了能够提取局部感受野中精确的图像特征,本文研究了最大值池化和均值池化的特点,发现最大值池化可以提取图片局部的特征信息,通过局部的特征信息可以组合成为全局的特征信息。但是在特征的细节处理上效果表现欠佳,因而本文提出一种把两者结合的池化方式,既保留了轮廓的完整性,又在细节的处理上更精确。通过结合两者的优点,提取出更加精确的特征信息。

均值池化对细节的特征表现出更好的鲁棒性,而最大值池化则表现出平移不变形。通过公式[22]定义两个池化:

(7)

(8)

式中:vm表示图像中T个像素点的第m个像素点,m表示该点在滑动窗口中的方位,池化即把vm映射到相应的统计值。

本文结合了两者的优势,重新提出了最大-平均值池化:

(9)

在AlexNet网络结构中用于替换原有的方法,如图2灰色所表示的方法。

3 实验结果与分析

本文验证实验在两个公共的标准数据集:CIFAR-100[23]和ImageNet2017[24]上进行。每个数据集都进行了如下两种深度神经网络优化方法的对比实验:(1) 在池化层中用最大值-均值池化替代最大值池化;(2) 在全连接层连接极限学习机即如图2所示的网络结构,也是本文提出的深度卷积神经网络最重要优化方法。

定义分类性能的指标如下:

(10)

3.1 数据集

CIFAR-100[23]数据集包含了100类,所有图像都是32×32的像素大小,每一类图片包括600张彩色图片,分别为500张训练图片和100张测试图片。

ImageNet[24]数据集内有超过1 500万张、共22 000多个带标签的高分辨率图像。本实验采用ILSVRC数据集,ILSVRC-2017是ImageNet的一部分,选用其中的1 000个类别做对比实验。

3.2 CIFAR-100数据集实验结果分析

CIFAR-100数据集是用于图片分类识别的数据集,选择100张图片作为需要识别的图片。网络的输出定义为100类,设定batchsize为64,初始学习率设定为0.001,同时用梯度下降的方法训练数据,通过将数据分别在Stochastic Pooling[25]、AlexNet+Fine-tuning[26]、AlexNet+Max-Ave-pooling[27]等算法上做对比实验。对比结果如表1所示。

表1 误差率在CIFAR-100数据集的比较结果

从实验中可以得出如下结果,不同的池化方法对于误差率有较明显的影响,随机池化方式对特征的全局和细节提取不充分,实验结果表现为误差率较高。同时,通过AlexNet+Fine-tuning[26]调整规则后的池化方式能够降低识别误差率,相比于本文提出的最大值均值池化不仅考虑了特征的整体性,同时兼顾了特征的细节。通过与极限学习机的结合,并通过与目前性能最好的算法作对比,实验分析可知,最大值-均值池化解决了极限学习机对于特征的要求,相对于噪声和其他干扰有更好的适应能力,同时能够提取语义更加丰富和特征更精确的特征信息,使得最终的误识率降到26.67%,充分证明了算法的有效性。

本文提出的最大值-均值和极限学习机结合的方法在误差率上明显降低。通过对比单独使用最大值池化的方法,本文提出的方法能提取更加抽象的语义特征信息,更有利于图片分类。相比于其他算法有效地降低了误差率,通过与其他算法的对比实验,在CIFAR-100数据集误差率降低到26.67%,证明了本文提出的方法在性能上明显优于其他算法。

3.3 ImageNet数据集结果分析

ImageNet数据集内有超过1 500万张、共22 000多个带标签的高分辨率图像。本文选用ILSVRC数据集(ImageNet Large-Scale Visual Recognition Challenge),ILSVRC-2017是ImageNet的一部分,选用其中的1 000个类别做对比实验,网络的输出定义为1 000类,设定batchsize为64,初始学习率设定为0.001。通过将数据分别在Inception-v4[28]、ResNet-200[29]、DenseNet-161[30]、SeNET[31]和本文提出的算法作对比实验,结果如表2所示。

表2 误识率在ILSVRC上面的误差率的比较结果

通过对比实验可以得出结论,本文提出最大值-均值池化和极限学习机结合的方法,改进了AlexNet深度卷积网络的结构,在提取特征时运用均值和最大值结合的池化方式提取特征,替代了原有的最大值池化方式,有效地融合了特征提取方法对微小形变不变形和平移不变形的优势,在特征提取中保留了更加重要的图片特征,更加有利于极限学习机最后的分类识别。同时,极限学习机在分类识别过程中通过广义逆计算所得,在分类识别时耗时较短,因而和目前最优的算法做了实验对比,本文提出的算法有更好的性能表现。

3.4 极限学习机隐层神经元的个数对图像分类结果的影响

为了验证极限学习机隐含层神经元的个数对图像分类的影响,分别在以上两个公共数据集上做了不同神经元个数的对比实验。第一个公共的数据集CIFAR-100共有100类,为了能够匹配网络,选用的神经元的个数分别为n=(80,90,100,125,130)。第二个公共数据集ILSVRC-2017共有1 000类,为了更好地匹配网络,选用神经元的个数为n=(800,900,1 000,1 250,1 300)。通过在本文提出的方法AlexNet+Max-Ave-pooling+ELM上进行实验。

从表3和表4可以得出极限学习机误差率会随着神经元的个数的变化而改变。当极限学习机隐含层的神经元个数越接近分类个数时,错误分类率越低。由于极限学习机是通过求广义逆的方法直接计算出权值,当隐层神经元的个数越接近分类的目标时,误差率越小,同时通过计算得到的分类效果也越好。当我们在CIFAR100做实验时,由于分类的类别是100,因而误识率在隐含层神经元接近100时效果达到最优。当在ILSVRC-2017做实验时,由于分类的类别是1 000,当隐层神经元达到1 000,ILSVRC-2017数据集上表现的分类性能达到最优。

表3错误分类率在不用隐层神经元上的比较结果%

表4 不用隐层神经元上的错误分类率(top-1) %

3.5 极限学习机对计算开销的提升

为了验证改进后的网络结构对计算开销的影响,通过本文算法和最新的深度学习算法做对比实验,并选用ILSVRC-2017作为数据集。Alexnet深度神经网络结构在池化层后连接全连接层,并把所有特征信息延展为4 096维的特征向量,并通过Softmax分类器对图片分类。此结构在全连接层中需更新迭代的参数较多,迭代更新耗时长,且训练之后模型参数内存需218 MB。改进后的模型一次前向和反向传播速率如表5所示,同时改进后的模型参数内存需要21 MB,缩小为原AlexNet模型的0.1倍。通过对网络结构一次前向传播和反向传播耗时作为对比标准,比较不同算法的耗时比较,结果如表5所示。由于极限学习机对于特征分类采用求广义逆的计算方式,相比于传统的卷积神经网络反向迭代更新权值,节约了大量的计算耗时,一次前向传播和反向传播总耗时降低到54 ms,达到了优化的目的。通过实验结果表明了本文改进的网络结构有效地降低了计算开销。

表5 一次前向传播和反向传播总耗时结果比较

4 结 语

本文提出了基于AlexNet深度卷积神经网络的分类框架,通过改进网络结构,提高特征的表达能力,进一步提高识别精度。本文尝试单独使用最大值池化和运用常规的分类方法作为对比方法,通过在标准数据集上的对比实验,证明本文提出的方法在准确率和计算开销上优于其他算法。未来的工作是进一步改进网络的结构,提取更具有区分度的特征和进一步改善计算的耗时,进一步提高识别率并应用于图片识别等具体应用领域。

猜你喜欢

池化学习机网络结构
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
“机”关
快递网络结构研究进展
基于随机权重粒子群优化极限学习机的土壤湿度预测
基于AutoML的保护区物种识别①
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
基于改进极限学习机的光谱定量建模方法
基于互信息的贝叶斯网络结构学习