基于自适应深度置信网络的图像分类方法

2015-12-23 01:09:30杨春德
计算机工程与设计 2015年10期
关键词:步长分类图像

杨春德,张 磊

(1.重庆邮电大学 计算机科学与技术学院,重庆400065;2.重庆邮电大学 系统理论与应用研究中心,重庆400065)

0 引 言

现有的图像分类方法主要采用两种方式,即基于生成模型的图像分类方法和基于判别模型的图像分类方法。前者建立在图像特征与图像类别的联合概率的分布基础上,如贝叶斯分类模型、高斯混合模型 (Gaussian mixture model,GMM)和词袋模型 (bag of words,BoW)[1]等;后者则建立在图像特征与图像类别的条件概率分布基础上,如K 近邻方法(K-nearest neighbor,KNN)、支持向量机(support vector machine,SVM)[2]、决策树和人工神经网络 (artificial neural networks,ANN)[3]等。这些浅层结构学习模型的局限性在于有限样本和计算单元情况下对复杂函数的表达能力有限,针对复杂分类问题其泛化能力受到一定制约[4]。深度学习模型则模拟人类的视觉系统和人脑的认知过程,借助于神经网络的多层抽象机制来实现对数据 (图像、语音及文本等)的抽象表达,通过多层次的学习得到对于原始数据的不同抽象程度的表示,进而提高分类和预测等任务的准确性[5]。

自从Hinton等提出快速贪心逐层无监督训练算法在多层神经网络中具有降维作用[6,7],以及Bengio等将该算法深入剖析泛化[8]之后,由多层约束玻尔兹曼机 (restricted Boltzmann machine,RBM)堆叠组成的深度置信网络(deep belief network,DBN)得到了广泛的关注并被应用于不同的研究领域诸如图像检索[9]、音频分类[10]以及自然语言处理[11]等。本文基于经典的深度学习方法DBN,提出一种非监督学习算法,称为自适应深度置信网络 (adaptive deep belief network,ADBN)。其基本思想就是通过一个自适应的步长大小来取代原DBN 网络中采用的全局学习率,根据样本的权重更新方向选择不同的学习率,就可以有效提高网络的收敛速度、泛化能力及稳定性。在MNIST 手写数据集上的实验结果表明,ADBN 算法能够更好地挖掘出图像特征之间的深层相关性,较传统的图像分类算法拥有更高的精确度。

1 深度置信网络模型

DBN 是结合了无监督学习和有监督学习的机器学习模型,它是由若干层RBM 和一层反向传递网络 (back-propagation,BP)组成的深层神经网络,能够通过多层次借助组合低层特征形成更抽象的高层特征,用来提取训练数据中深层结构的特征信息。

1.1 约束玻尔兹曼机

波尔兹曼机 (Boltzmann machine,BM)是由Hinton和Sejnowski提出的一种生成式随机神经网络,它具有强大的无监督学习能力,能够学习数据中复杂的规则,但是其训练时间过长,概率分布也很难获得。为了克服这一问题,Smolensky引入了RBM,该网络由一些可见单元 (对应可见变量,visible unit)和一些隐藏单元 (对应隐藏变量,hidden unit)构成,可见单元v 和隐藏单元h 都是二元变量,亦即其状态取0或1。整个网络是一个二分图,只有可见单元和隐藏单元之间才会存在边,而可见单元之间和隐藏单元之间都不会有边相连接,如图1所示。

图1 RBM 结构模型

RBM 是一种基于能量的模型,对于一组给定的状态(v,h),其可见单元v和隐藏单元h 的联合配置能量函数为

式中:θ={Wij,ai,bj}为RBM 的参数,Wij——可见单元v和隐藏单元h 之间的边的权重,ai——可见单元v 的偏置(bias),bj——隐藏单元h 的偏置。基于该能量配置函数,就可以得到(v,h)的联合概率

基于RBM 模型的对称结构,以及其中节点的条件独立性,当给定可见单元v 的状态时,各隐藏单元的激活状态hj之间是相互独立的,则第j个隐藏单元的激活概率为

同理,当给定隐藏单元h 的状态时,各可见单元的激活状态vi之间也是相互独立的,则第i个可见单元的激活概率为

由可见单元v的对数似然概率对空间权重参数Wij求偏导,可推导出RBM 的权重更新准则为

式中:ε——权重学习速率,〈vihj〉data——数据分布的期望,〈vihj〉model——RBM 模型定义的期望。但由于模型期望未知,难以直接估算其分布〈vihj〉model。对此,Hinton提出了对比散度算法 (contrastive divergence,CD)[12],利用Gibbs采样将权值更新公式简化为

式中:〈vihj〉recon——一步重构后模型定义的分布。同样,RBM 的其它两个空间参数ai和bj也可以通过类似的方式进行更新调整。

1.2 深度置信网络结构和学习过程

DBN 是一个包含多隐层的深层神经网络模型,由若干层RBM 和一层BP 神经网络堆叠构成,一个典型的DBN结构如图2所示。

图2 DBN 结构模型

DBN 在训练模型的学习过程中具体可分为预训练和微调两个阶段,预训练阶段把网络中任意相邻两层当作一个RBM,并以下层RBM 模型的输出作为上层RBM 模型的输入,最终实现逐层训练,用来初始化网络参数。用贪心无监督学习方法逐层训练后,深层架构底层的原始特征被组合成更加紧凑的高层次特征。由于每层RBM 训练只能使该层网络参数达到最优,而不能使整个网络达到最优,故微调阶段使用传统的全局学习算法 (BP 或Wake-Sleep 算法[13])有监督的对网络空间的相关参数进一步优化和调整,自顶向下微调整个模型。

2 基于自适应深度置信网络的图像分类方法

2.1 自适应深度置信网络算法

DBN 网络是在RBM 模块上逐层训练得到相应的空间参数并构建整个网络层次架构,而RBM 基于CD 的快速学习算法中通常采用一个全局的学习率来对网络进行训练。然而,学习率若过大,将导致重构误差急剧增加,权重也会变得异常大;学习率过小可避免上述情况出现,但收敛速度较慢,训练时间过长。为克服这一矛盾,在传统的DBN 算法基础上,我们将自适应步长大小这一概念引入,提出了ADBN 算法,即在CD 快速算法的迭代过程中,对于每一个连接权重Wij,使用一个独立的步长大小 (学习率)参数γij来替代原DBN 网络中的全局学习率,而步长的具体大小则根据因子的改变做出相应的调整

当增量因子u>1时代表步长的增加,减量因子d<1时代表步长的减小。在学习过程中为了避免由于过大的步长而产生冲突,如果某一权重更新方向连续两次相同,则步长增大,反之则步长减小。由ADBN 算法学习训练构成的网络架构则称为ADBN 网络。

基于ADBN 的图像分类方法主要分为两个阶段:使用已知类别的图像特征信息对整个ADBN 网络进行学习训练用来获取图像的深层次特征;利用训练阶段获得的网络权值参数将未知类别的图像进行分类。

2.2 自适应深度置信网络的图像训练过程

ADBN 网络训练的过程就是对图像特征自适应、自学习的过程,在学习训练的过程中,具有深层结构的ADBN网络通过自底向上的方式逐层抽取出输入图像信息的深层特征,并将底层的特征信息逐步融合到更加紧凑的高层特征表达中,得到鲁棒性更强的特征。ADBN 网络使用快速贪心的无监督学习算法对整个网络进行逐层的构建,并进行相应的训练,然后再利用梯度下降的优化策略对网络空间的权值参数进一步微调。

在多层的ADBN 网络结构中,所有相邻的两层结构都可以看作是一个RBM,较低一级的隐藏层将作为与其相邻的高一级隐藏层的输入层,贪心逐层训练算法则以图像的特征向量作为输入自底向上每次训练一个RBM,如在训练完有l层的ADBN 的顶层RBM 之后,利用式 (5)~式(7)获得更新后的第(l+1)层的权值参数,然后以此训练并构建第(l+1)层网络。整个过程中ADBN 均采用无监督的方式逐层的训练并构建整个网络,经过多次反复训练对层与层之间的空间参数不断进行调整,使得网络达到一个平衡状态。

经过上述训练之后可以初步确定ADBN 的空间参数{Wij,ai,bj},但还需要对ADBN 所有层之间的参数进行整体微调和优化。然而对于不同的应用,空间参数优化的目标也是不一样的。一种是采用自顶向下的方式使得从输出层反向构建输入信息的概率达到最大化;另一种是减小隐藏层到输出层之间的损失,使ADBN 网络具有更好的分类性能。本文使用ADBN 网络作为图像分类器,因此空间参数优化的目标是让ADBN 网络具有更好的区别能力,从而提高分类的准确度。而这个任务可以转换为一个优化问题,即寻找一组空间参数值{W′ij,a′i,b′j},使得最高隐藏层与输出层之间的映射函数具有最小的损失值。由于指数损失函数已经被应用于boosting算法[14]中,并在实际应用数据集中表现良好,故在ADBN 中使用指数损失函数作为最高隐藏层和输出层之间的映射函数来进行图像的分类。在确定损失函数后,利用梯度下降方法来优化整个深层架构的空间参数,使网络达到一个最优的状态。ADBN 的具体训练算法如下:

算法1: ADBN 的学习训练算法输入:用于训练的特征向量xi,…xM ;网络的层数N;初始化参数{Wij,ai,bj};初始学习率ε;训练过程中迭代次数R。输出:经过训练后处于平衡状态的ADBN 网络及其空间参数{W′ij,a′i,b′j }。训练过程:步骤1 自适应步长大小的贪心逐层可监督训练for n=1to N-1 do for r=1to Rdo for m =1to Mdo 计算每个RBM 的可见层和隐藏层的随机单元状态:P(hj =1|v))和P(vi =1|h) 更新调整空间参数:利用式 (5)~式 (7)计算更新后的参数{W′ij,a′i,b′j} end end end步骤2 基于梯度下降的有监督学习训练计算ADBN 的梯度并利用BP算法进行参数的优化和调整,使得最高隐藏层到输出层间的映射损失达到最小。

2.3 自适应深度置信网络的图像分类过程

图像的分类过程相对训练过程来说要简单,即利用ADBN 经过优化后的权值参数将未标类别的图像特征信息映射到相应的类别中。归一化的图像经过上一阶段的学习训练和优化之后,该ADBN 网络就可以完成图像的特征提取过程,这时只需在顶层加上一层softmax回归分类器模型即可完成图像的分类任务。相对于逻辑回归 (logistic regression,LR)只能进行线性二分类处理来讲,softmax回归对其进行了扩展并可以完成多个类别划分,而且分类类别之间是严格相互排斥的,softmax回归层的若干输出单元则对应了不同图像所属的分类类别,实现了图像的分类任务。

3 实验结果和分析

为验证提出方法的有效性,我们在MNIST 手写数据集上进行了验证测试,该数据集由手写的数字图像组成,它分为了60000个训练数据和10000 个测试数据。为了便于图像相关特征的提取,所有的图像都做了归一化的处理,每个图像的大小为28×28,而且图像的像素以常用的灰度图 (灰度区间0~255)形式进行存储。文中我们采用了十字交叉验证的方式进行评测,即将数据集随机分成10份,轮流将其中9份作为训练数据对ADBN 网络进行训练,而将剩下的一份对分类的准确度进行测试。因此,需要在10种训练数据和测试数据不同组合的基础上进行10次独立实验来计算分类的准确度,而将这10次实验结果相应准确度的平均值作为最终的分类准确度。测试环境则部署在普通的PC机上,含i3-4130双核3.4GHz CPU,8GB DDR3内存及Windows 8.1的软件操作系统。

3.1 层次结构和迭代次数对分类性能的影响

在基于ADBN 的图像分类中,ADBN 所包含隐藏层的层数以及每个隐藏层的随机单元数都是不确定的,一般要根据经验或多次测试来进行设定,但可见层即输入层的随机单元数必须与图像输入特征向量的维数相同,即要包含784个随机单元,输出层的随机单元数为10个,对应手写数字的0~9这10个类别。另外,在训练过程中迭代次数的不同也会对整个ADBN 网络的分类性能产生重要的影响。因为迭代次数越多,越能够使ADBN 处于平衡状态,其空间参数优化的程度越高,从而更能捕捉到图像特征向量之间的深层相关性,提高ADBN 的分类性能。在实验中,对于自适应步长方法来说,每一连接权重的初始化学习率均取0.1,增量因子u和减量因子d 分别取1.2和0.8,同时为了减少非相关参数的对训练结果的影响,每个隐藏层均选取相等的节点数,如对于含3 个隐藏层的网络来说,ADBN 的架构为784-1500-1500-1500-10,这也是深度学习方法的经典实验设置。改变隐藏层的层数以及改变训练过程的迭代次数,通过它们之间的不同组合,来验证图像的分类效果。ADBN 使用不同的隐藏层个数和不同的迭代次数的实验分类错误率如图3所示。

图3 不同层次结构和迭代次数的ADBN的分类错误率

从图3可以看出,在有相同的隐藏层数及节点数的情况下,随着迭代训练次数的增加,图像分类的准确度有所提升;在迭代训练次数分别相同的情况下,含4个隐藏层的ADBN 得到的图像分类结果要明显优于含有3个隐藏层的ADBN 分类结果,由于隐藏层层数增加到5层或迭代次数达到500次之后,分类的时间复杂度明显增加,因此没有对更多隐藏层或更高迭代次数进行实验。

3.2 自适应步长大小和不同的固定学习率对分类性能的影响

为了评价自适应步长大小对ADBN 网络训练收敛性的影响,我们与传统的DBN 网络在取3组不同的固定学习率(ε=0.1,ε=0.4和ε=0.7)情形下对训练收敛性的影响进行了比较。ADBN 网络依然采用含3个隐藏层的经典深度学习网络架构,隐藏层各层节点数均取1500。自适应步长大小方法中初始值取值与上述设置相一致,由于重构误差能够在一定程度上反映RBM 对训练数据的似然度,在实践中通常用平均重构率这一指标来评价,也反映了训练过程中收敛速度的快慢。而传统的DBN 中学习率ε的选择至关重要,ε大收敛速度快,但过大可能引起算法不稳定;ε小可避免不稳定情况的出现,但收敛速度较慢。使用两种不同的算法对训练过程中图像的平均重构率影响如图4所示。

图4 不同的学习率对平均重构率的影响

从图4可以看出,ADBN 网络的自适应步长大小方法明显优于DBN 网络所采用的固定学习率的方法,尤其是当迭代次数增加时,网络的收敛速度显著加快,直至趋于稳定,也有效的提高了ADBN 算法的稳定性。

训练过程中我们随机选取了7 张图像进行采样实验,使用自适应步长大小的方法和固定学习率的方法 (ε =0.1)得到的采样图像分别如图5、图6所示。

图5 自适应步长大小下的图像重构

图6 固定学习率下的图像重构

由图5、图6相比较可以看出,在隐藏层节点数相同的情况下,利用3层ADBN 网络得到的图像重构效果要优于3层DBN 网络得到的重构效果,得到的手写体图像结构信息和轮廓信息更加清晰细致,一定程度上也反映了采用自适应步长大小的方法可以获得更好的图像深层次的结构特征,取得较优的图像分类结果。

3.3 与其它分类器之间的分类准确度比较

此外,为了进一步验证分类方法的有效性,我们将基于ADBN 的图像分类方法与其它4种广泛使用的分类方法即KNN、ANN、SVM 和DBN 在相同的数据集上进行了性能的比较,如图7 所示。其中,ADBN 的层次结构包含3个隐藏层,节点数与上述相一致,迭代训练次数设置为400次,ANN 只包含有一个隐藏层,隐含单元数同样设置为1500,SVM 采用高斯核的方式,KNN 方法中K 取值为10,DBN 与ADBN 设置则完全保持一致。将这4种分类方法同样采用交叉验证的方式对分类准确度进行评测,实验结果表明,在相同的条件下,ADBN 的分类效果要明显优于其它4种图像分类方法。

图7 使用不同分类方法的分类错误率比较

4 结束语

本文将自适应步长大小这一概念引入到RBM 学习训练的CD 算法中,提出一种ADBN 算法,将该深层网络结构学习模型应用于图像分类任务中,给出了ADBN 的具体算法实现和图像分类框架,在MNIST 手写数据集上的实验结果表明了该算法的有效性。所提算法收敛速度明显加快,极大地减小了训练过程的重构错误率,大大缩短了训练所需的时间,在图像的自动分类方面也取得了很好的分类效果。在今后的工作中继续侧重于将该算法应用在其它的分类领域,进一步增强其泛化能力。

[1]Gao H,Dou L,Chen W,et al.Image classification with Bagof-Words model based on improved SIFT algorithm [C]//9th Asian Control Conference,2013:1-6.

[2]Jain S.A machine learning approach:SVM for image classification in CBIR [J].International Journal of Application or Innovation in Engineering and Management,2013,2 (4):446-452.

[3]Xiong Z,Chen K,Gu C,et al.An algorithm of image classification based on BP neural network [C]//IEEE International Conference on Computer Science and Automation Engineering,2012:523-526.

[4]Bengio Y.Learning deep architectures for AI [J].Foundations and trends in Machine Learning,2009,2 (1):1-127.

[5]Bengio Y,Delalleau O.On the expressive power of deep architectures [G].LNCS 6925:Algorithmic Learning Theory,2011:18-36.

[6]Bengio Y.Deep learning of representations for unsupervised and transfer learning [C]//International Conference on Machine Learning,2012.

[7]Lee Honglak,Grosse Roger,Ranganath Rajesh,et al.Convolu-tional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.ACM,2009.

[8]Schmidhuber J.Deep learning in neural networks:An overview [J].Neural Networks,2014,10 (1):1404-1092.

[9]Hrster E,Lienhart R.Deep networks for image retrieval on large-scale databases [C]//Proceedings of the 16th International Conference on Multimedia,2008.

[10]Hamel P,Eck D.Learning features from music audio with deep belief networks[C]//Utrecht,The Netherlands,2010.

[11]Liu T.A novel text classification approach based on deep be-lief network [G].LNCS 6443:Neural Information Processing.Theory and Algorithms,2010:314-321.

[12]Hinton G.A practical guide to training restricted Boltzmann machines[J].Momentum,2010,9 (1):926-947.

[13]Charbonnier S,Zoubek L,Lesecq S,et al.Self-evaluated automatic classifier as a decision-support tool for sleep/wake staging [J].Computers in Biology and Medicine,2011,41(6):380-389.

[14]Saon G,Soltau H.Boosting systems for large vocabulary continuous speech recognition [J].Speech Communication,2012,54 (2):212-218.

猜你喜欢
步长分类图像
改进的LapSRN遥感图像超分辨重建
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
分类算一算
有趣的图像诗
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
基于逐维改进的自适应步长布谷鸟搜索算法
一种新型光伏系统MPPT变步长滞环比较P&O法
电测与仪表(2014年2期)2014-04-04 09:04:00
遥感图像几何纠正中GCP选取