一种改进的深度置信网络及其在自然图像分类中的应用
2016-11-09柴瑞敏佀称称
柴瑞敏 佀称称
1(辽宁工程技术大学电子与信息工程学院 辽宁 葫芦岛 125105)2(辽宁工程技术大学研究生学院 辽宁 葫芦岛 125105)
一种改进的深度置信网络及其在自然图像分类中的应用
柴瑞敏1佀称称2
1(辽宁工程技术大学电子与信息工程学院辽宁 葫芦岛 125105)2(辽宁工程技术大学研究生学院辽宁 葫芦岛 125105)
深度置信网络DBN (deep belief network) 由受限玻尔兹曼机RBM (restricted Boltzmann machine)堆叠而成。针对RBM只能接受二值输入而导致的信息丢失问题,给出将可视层节点替换为具有高斯噪音的实数节点的解决方法,并且用线性修正节点替代隐层的Sigmoid节点。线性修正单元具有良好的稀疏性,可以很好地提高网络性能。DBN自底向上逐层训练网络,初始化网络的参数。在自然图像数据库中与传统DBN以及BP神经网络做分类性能比较,实验结果表明,改进的DBN的图像平均分类正确率以及时间复杂度都得到了较好的改善。
深度置信网络受限玻尔兹曼机线性修正单元
0 引 言
基于BP神经网络分类算法在图像样本局限的情况下,其表述能力有限。训练过程中BP神经网络[1]易陷入局部最小,神经网络初始参数的选择不当会对神经网络的分类性能造成很大的影响,且其收敛速度很缓慢。深度置信神经网络是由RBM[2]组成的深层次网络,是深度学习的一种。2006年,Hinton等人[3]提出基于DBN的贪心逐层非监督学习过程,该方法解决了传统BP神经网络训练过程中存在的一系列问题。
DBN是由标准RBM组成。本文的主要贡献是用具有高斯噪音的实数节点替代DBN的二进制可视节点,并用线性修正节点替代二进制随机隐层节点,进一步提高DBN的性能。
1 深度置信网络
深度置信网络的图像分类模型是由多个RBMs和一层BP神经网络构成[4]。DBN自底向上逐层地训练,首先无监督训练第一个RBM得到初始的权值,然后将训练好的输出作为下一个RBM的输入,逐层训练,至到训练完所有的RBMs。
1.1线性修正单元
为进一步提高网络性能,本文引入线性修正单元[5-8]替代隐含层原有的S型单元节点。
线性修正单元函数为max(0,x),其函数曲线如图1所示。
图1 线性修正和sigmoid函数
如图2所示,本文的深度置信结构包括一个Gaussian-Bernoulli RBM、两个Bernoulli-Bernoulli RBM以及一层BP神经网络节点。三个RBM采用无监督训练的机制进行训练,BPNN采用有监督的机制进行训练。整个训练过程都尽可能减少原始输入信息的遗漏。最终将实际输出和期望输出之间的误差进行反向传播,利用最速下降法调整整个网络的参数,寻找网络的最优。
图2 深度置信网络网络结构
1.2Bernoulli-Bernoulli RBM
RBM结构如图3所示,包含一个可视层和一个隐层,它的单元仅有0或1两个状态,RBM层间连接层内各个节点之间无连接,也即当给定可视层状态时,隐含层各单元的活状态是独立的;反之,给定隐含层状态时,可视层各单元的状态是相互独立的。
图3 RBM结构图
在RBM中,其能量函数如下:
(1)
式中,v、h分别代表可视层和隐含层的状态向量,θ={wij,ai,bj}是RBM的参数,wij是可视层和隐层之间的权值,ai是可视层单元i的偏置量,bj是隐层单元j的偏置量。基于能量函数得到(v,h|θ)的概率分布,公式如下:
(2)
式中,z(θ)是归一化因子,已知P(v,h|θ)可以求出其边缘概率密度分布为:
(3)
网络学习的目的就是极大的拟合输入,也即最大化式(3),根据对数极大似然函数公式得求参公式:
(4)
根据式(4)和梯度下降准则求取参数的更新公式:
Δwij=ε(
(5)
Δai=ε(
(6)
Δbj=ε(
(7)
式中,ε为学习率,<>data和<>model分别是数据期望和模型本身的期望,模型期望很难计算得到,Hinton提出一种对比差异算法替代模型期望,对比差异算法只需要k次迭代就可以求取模型期望,一般情况下k=1。CD算法[13]先根据输入值初始化可见层,然后根据可视层的值和条件分布算出隐层各单元的值,反过来也可利用隐层和条件分布计算可视层各单元的值。利用CD算法计算出的参数更新公式为:
Δwij=ε(
(8)
Δai=ε(
(9)
Δbj=ε(
(10)
1.3Gaussian-Bernoulli RBM
最基本的RBM的可视单元和隐层单元都是随机二进制单元。为了方便处理来自自然图像的连续数据,在线性单元中加入独立的高斯噪声使得RBM可以处理连续输入,其能量函数变成:
(11)
式中,σ为加有高斯噪声的可视节点的标准方差向量。在GBRBM[14-16]中,可视节点和隐层节点的条件分布为:
(12)
(13)
其参数也是运用CD学习算法进行训练学习,参数计算公式为:
(14)
(15)
Δbj=ε(
(16)
1.4DBN的训练
DBN的训练包括预训练和微调两个部分,过程如下:
(1) 预训练:以图像的特征向量作为可视层的输入,依据G-BRBM的训练方法训练第一个RBM,以第一个RBM的输出作为下个B-BRBM的输入,以B-BRBM的训练方式训练第二个和第三个RBM。训练完成后得到DBM的初始参数。
(2) 微调:以最后一个RBM的输出作为BP神经网络的输入,BP神经网络的实际输出与标准输出作比较得出误差,依梯度最速下降准则自顶向下依次修改DBN的权值。
2 DBN图像分类器
本文结合颜色、纹理以及形状三个方面总共36维图像低层特征向量描述图像基本信息[17],其特征向量为DBN的输入,所以DBN的可视层总共36个节点。第一个隐层和第二个隐层均采用75个节点单元,第三个隐层用100节点。本文对10类图像进行分类,所以最后的BP神经网络有10个节点。本文方法与传统深度置信网络以及BP神经网络作比较。传统深度置信网络与本文方法采用相同的结构,BP神经网络的输入节点和输出节点和本文采用的方法也相同。
具体算法流程如图4所示。
图4 图像分类算法流程
(1) 本文用的是Corel图像数据库,图像库包含10类1000幅图像,每类分别有100幅图像,每类选取90幅总共900幅图像作为训练集,其余作为测试集。
(2) 提取图像的低层特征向量(包括颜色、形状和纹理三个方面的信息总共36维)。由于三方面特征的取值范围不同,三方面的特征之间没有可比性,为此我们对特征向量做归一化处理,归一化公式:
(17)
式中,xmax和xmin为特征取值最大和最小。
(3) 选取训练集对DBN进行预训练和微调,得到有良好参数的DBN。10种类别的图像分别对应10种输出。每种类别的输出其相应BP神经网络输出节点只有一个处于开状态。
(4) 用测试集测试DBN,观察分类结果。根据DBN的输出判别输入图像对应类别。
3 实验结果与与分析
本实验的实验环境为Visual C++ 6.0,计算机配置为Intel®Pentium®B960,2.2 GHz CPU,2 GB内存、500 GB硬盘。
本文用的是Corel图像库,Corel图像库是做图像分析和处理的常用图像库。图像库中总共有1000幅10类图像,10类图像包括:海滩、建筑、大象、花、马、公共汽车、人、山、恐龙和食物。实验过程中将每类图像分为10组,每组10幅图像,其中一组与其余9类图像的9组总共100幅作为测试集,其余900幅作为训练集。训练测试完毕后,再重新组合分配一下,进行训练和测试,直到图像库中的每幅图像都充当过训练集和测试集,这样其结果统计比较方便,图像数据也比较有说服力。
3.1实验结果
10类图像的分类结果如图5所示。
图5 图像分类结果
由图5可以清晰地看出10类图像的分类正确率,其中恐龙的分类正确率最高为99%,大象的分类正确率最低为82%。建筑、大象和人的分类正确率都小于90%。每类的分类正确率都不一样。
3.2本文算法与其他算法比较
3.2.1分类正确率比较
本文方法与使用BP神经网络以及基本深度置信网络的算法相比较。每种算法都使用相同的图像数据库进行分类。表1和图6展示了各分类的结果。
表1 不同方法分类性能比较
图6 三种算法各类正确率统计
从表1可以看出,传统BP神经网络的平均分类正确率为64.3%,远远低于深度学习网络的平均分类正确率。本文融合高斯噪音和线性修正单元的深度置信网络算法的平均分类正确率为91.9%。
从图6可以看出,恐龙、花、马的分类正确性比较高,人、大象和建筑的分类性能比较低一些。其各类分类正确性都各不相同,其不同主要因为图像低层特征向量和高层语义之间存在着语义鸿沟,也即在所表述的语义相同的情况下其特征向量存在很大的差别。例如语义为海滩的两幅图像其特征向量相差很大。关于如何缩短语义鸿沟问题也是当下研究的一个热点。
3.2.2时间复杂度比较
表2给出了各个算法的时间复杂度。本文方法的时间复杂度为11.81,比BP神经网络方法快了6.31,比传统DBN递减了4.05。引入高斯噪声对DBN的收敛速度影响不大。
表2 分类算法时间复杂度比较
BP 神经网络因随机初始化权值参数而容易陷入局部最优并且训练时间较长。RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化从而克服BP神经网络的上述缺点。本文方法使用的线性修正单元使隐层单元产生更加稀疏的表示,大大提高了训练速度。但是由于本文算法的复杂性,其时间复杂度的简化仍旧是未来研究的重点。
4 结 语
随着数字图像的全方位应用,数字图像分析处理的相关算法大量出现,本文提出的融合高斯噪音和线性修正函数的DBN经实验证明对图像分类的性能有很大的提高。
DBN是最近几年出现的一种研究热点,现在的研究主要在节点激活函数、结构模型。关于其网络层数、寻找全局最优、数据表示等方面有很大的发展空间。深度学习的应用也会进一步扩大,将会推动相关行业巨大进步。
[1] Simon Haykin.神经网络原理[M] .叶世伟,史忠植,译.北京:机械工业出版社,2004.
[2] 刘建伟,刘媛,罗雄麟.玻尔兹曼机研究进展[J].计算机研究与发展,2014,51(1):1-16.
[3] Hinton G E,Osindero S,Teh Y-W.A fast learning algorithm for deep belief nets [J].Neural Computation,2006,18(7):1527-1554.
[4] 孙劲光,蒋金叶,孟祥福,等.深度置信网络在垃圾邮件过滤中的应用[J].计算机应用,2014,34(4):1122-1125.
[5] Nair V,Hinton G E.Rectfied Linear Units Improve Restricted Boltzmann Machines [C]//Proceedings of the 27th International Conference on Machine Learning.Toronto:University of Toronto,2010:807-814.
[6] Glorot X,Bordes A,Bengion Y.Deep Sparse Rectifier Neural Networks [C]//Proceedings of the 14th International Conference on Artificial ntelligence and Statistics (AISTATS).USA:W&CP 15,2011,15:315-323.
[7] 刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014,31(7):1921-1930,1942.
[8] Zeiler M D,Ranzato M,Monga R,et al.On rectified linear units for speech processing[C]//Acoustics,Speech and Signal Processing (ICASSP),2013 IEEE International Conference on.Vancouver,BC:2013:3517-3521.
[9] Plahl C,Sainath T N,Ramabhadran B,et al. Improved pre-training of Deep Belief Networks using Sparse Encoding Symmetric Machines [C]//2012 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP).Kyoto:IEEE,2012:4165-4168.
[10] Gavrilescu M.Proposed architecture of a fully integrated modular neural network-based automatic facial emotion recogintion system based on Facial Action Coding System [C]//Communication (COMM),2014 10th International Conference on.Bucharest:IEEE,2014:1-6.
[11] Oriol Vinyals,Li Deng.Are Sparse Representations Rich Enough for Acoustic Modeling?[J/OL].INTERSPEECH,2012(1):1-4.http://citeseerx.ist.psu.edu/.
[12] Rifai S,Vincent P,Muller X,et al.Constractive auto-encoders:Explicit invariance during feature extraction[C]//Proceedings of the 28th International Conference on Machine Learning.Washington:Bellevue,2001:833-840.
[14] Chen H,Murray A F.Continuous restricted Boltzmann machine with an implementable training algorithm[J].IEEE Proceedings-Vision,Image and Signal Processing,2003,150(3):153-158.
[15] Hinton G E,Salakhutdinov R R.Reducing the Dimen sionality of Data with Neural Networks[J].Science,2006,313(5786):504-507.
[16] 孙劲光,蒋金叶,孟祥福,等.一种数值属性的深度置信网络分类方法[J].计算机工程与应用,2014,50(2):112-116.
[17] 郭文强,侯勇严.数字图像处理[M].西安:西安电子科技大学出版社,2009.
AN IMPROVED DEEP BELIEF NETWORK AND ITS APPLICATION IN NATURAL IMAGE CLASSIFICATION
Chai Ruimin1Si Chenchen2
1(School of Electronics and Information Engineering,Liaoning Technical University,Huludao 125105,Liaoning,China)2(InstituteofGraduate,LiaoningTechnicalUniversity,Huludao125105,Liaoning,China)
DBN (deep belief network) is stacked by RBM (restricted Boltzmann machine).RBM can only accept two-valued input,which causes the problem of information loss.Aiming at this problem,we solve it by replacing the visual layer nodes with real number nodes containing Gauss noise,and use rectified linear nodes instead of hidden layer Sigmoid node.Rectified linear unit has good sparsity,and can well enhance network performance.DBN uses bottom-up method to train network layer by layer,and initialises network parameters.Comparison of classification performance between traditional DBN and BP neural network is conducted on nature image datasets.Experimental result indicates that in improved DBN the average classification accuracy of images and the time complexity are both improved significantly.
Deep belief networkRestricted Boltzmann machinesRectified linear unit
2015-03-31。柴瑞敏,副教授,主研领域:数据库,数据挖掘,图形图像处理。佀称称,硕士生。
TP391.41
A
10.3969/j.issn.1000-386x.2016.09.052