趙志勇,李元香,喻 飛,易云飛,2+
(1.武漢大學(xué) 軟件工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430072;2.河池學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,廣西 宜州546300)
隨著人工神經(jīng)網(wǎng)絡(luò) (neural network,NN)[1]技術(shù)的出現(xiàn),機(jī)器學(xué)習(xí)領(lǐng)域得到了迅速的發(fā)展,產(chǎn)生了很多基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)模型和算法,如前饋神經(jīng)網(wǎng)絡(luò) (BP)[2]、支撐向量機(jī) (SVM)[3]及其改進(jìn)的算法[4]等。然而這些早期的神經(jīng)網(wǎng)絡(luò)模型都屬于淺層的結(jié)構(gòu),這些淺層結(jié)構(gòu)難以有效地表示復(fù)雜的函數(shù),為了表示一個(gè)需要指數(shù)級問題的時(shí)候,利用淺層的結(jié)構(gòu)則需要大量的訓(xùn)練樣本[5]。深度學(xué)習(xí)可以通過對低層的特征的組合形成更加抽象的高層表示[6]。
深度學(xué)習(xí)概念的出現(xiàn)促進(jìn)了深層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型和算法的研究。Lecun等[7]提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個(gè)深層學(xué)習(xí)算法;Geoffrey Hinton等[8]提出了一種貪婪的逐層無監(jiān)督訓(xùn)練算法,該算法可以有效地訓(xùn)練深度信念網(wǎng)(deep belief network,DBN)。DBN的思想是先通過貪婪的策略學(xué)習(xí)淺層的特征,再通過淺層特征的組合得到更加抽象的描述[9]。隨著深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)的發(fā)展,出現(xiàn)了很多對深度學(xué)習(xí)的改進(jìn)算法,深度學(xué)習(xí)得到了很廣泛的應(yīng)用。深度學(xué)習(xí)已經(jīng)成功應(yīng)用在語音識別,圖像處理等[9,10]。Hinton指出[8],為了訓(xùn)練DBN,首先要通過無監(jiān)督貪婪訓(xùn)練每一層的受限玻爾茲曼機(jī),并通過一組受限玻爾茲曼機(jī)的組合構(gòu)建深度信念網(wǎng)DBN,然后通過傳統(tǒng)的全局學(xué)習(xí)算法對構(gòu)建的DBN微調(diào),以使得網(wǎng)絡(luò)達(dá)到最優(yōu)。然而基于梯度的全局優(yōu)化算法并不能很好的訓(xùn)練深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),并且對于深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,基于梯度的全局優(yōu)化算法會(huì)陷入局部最優(yōu)[5],并且這樣的全局微調(diào)過程需要大量的訓(xùn)練時(shí)間。
隨著機(jī)器學(xué)習(xí)的發(fā)展,不同的學(xué)習(xí)算法被提出用于加快學(xué)習(xí)的速度。極限學(xué)習(xí)機(jī) (extreme learning machine,ELM)是由Huang等[11]提出來的一種適合傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)的快速學(xué)習(xí)算法,特別是單隱層前饋神經(jīng)網(wǎng)絡(luò) (singlehidden layer feedforward networks,SLFNs)。ELM 隨機(jī)初始化SLFNs的輸入權(quán)重和隱層的偏置,并能夠得到對應(yīng)的輸出權(quán)重。ELM能保證輸出權(quán)重的范數(shù)最小,而且輸出權(quán)重是唯一的。隨著ELM的發(fā)展,出現(xiàn)了一些對基本ELM的改進(jìn)的算法[13-15],又進(jìn)一步提高了基本ELM的性能。為了加快DBN的訓(xùn)練準(zhǔn)確性,并提高分類的準(zhǔn)確性,受到ELM思想的啟發(fā),本文提出來一種基于ELM改進(jìn)的深度結(jié)構(gòu)學(xué)習(xí)算法IDBN,充分利用ELM的快速學(xué)習(xí)能力來提高DBN的訓(xùn)練速度。通過對手寫體數(shù)據(jù)庫MNIST和USPS數(shù)據(jù)集分類的仿真實(shí)驗(yàn),驗(yàn)證了基于ELM的深度結(jié)構(gòu)學(xué)習(xí)算法IDBN比傳統(tǒng)的深度結(jié)構(gòu)學(xué)習(xí)算法DBN的速度更快,同時(shí)可以得到同樣的準(zhǔn)確性。
文獻(xiàn) [8]中提出的深度信念網(wǎng) (DBN)是一種典型的生成性深度結(jié)構(gòu)。假設(shè)一個(gè)DBN有n個(gè)隱層,令gi表示第i個(gè)隱層的向量,則DBN的模型可以表示成
DBN是由一組受限玻爾茲曼機(jī) (RBM)單元的自底向上的疊加組成的,為了得到DBN,首先需要通過逐層地貪婪學(xué)習(xí)得到一組RBM。為了得到最終的深度神經(jīng)網(wǎng)絡(luò)模型,還需要利用訓(xùn)練數(shù)據(jù)對整個(gè)模型進(jìn)行有監(jiān)督的調(diào)整,這被稱為微調(diào)。
RBM是一種特殊的玻爾茲曼機(jī)模型,即同層節(jié)點(diǎn)之間沒有連接。一個(gè)RBM是由可見層節(jié)點(diǎn)和隱含層節(jié)點(diǎn)組成的,RBM 作為一個(gè)系統(tǒng)所具備的能量E(v,h;θ)[9],其中向量v表示可見節(jié)點(diǎn)狀態(tài),向量h表示隱含層節(jié)點(diǎn)狀態(tài)。當(dāng)參數(shù)θ確定時(shí),基于該能量函數(shù),我們可以得到聯(lián)合概率分布p(v,h;θ)[9]。
RBM在層間有連接,而層內(nèi)無連接,則對于給定某層節(jié)點(diǎn)的狀態(tài)時(shí),另一層節(jié)點(diǎn)之間的狀態(tài)條件分布相互獨(dú)立。則當(dāng)給定可見節(jié)點(diǎn)v的狀態(tài)時(shí),我們可以得到第j個(gè)隱含層節(jié)點(diǎn)的被激活的概率求得所有隱含層節(jié)點(diǎn)后,基于RBM的對稱結(jié)構(gòu),可見節(jié)點(diǎn)的激活概率為通過吉布斯采樣 (Gibbs sampling)[9],我們可以重構(gòu)整個(gè)深度網(wǎng)絡(luò)。
ELM是一種新型的快速學(xué)習(xí)算法,對于單隱層神經(jīng)網(wǎng)絡(luò),ELM可以隨機(jī)初始化輸入權(quán)重和偏置并得到相應(yīng)的輸出權(quán)重。
對于一個(gè)單隱層神經(jīng)網(wǎng)絡(luò),假設(shè)有N個(gè)任意的樣本(Xi,ti),其中 Xi= [xi1,xi2,…,xin]T∈Rn,ti= [ti1,ti2,…,tim]T∈Rm。對于一個(gè)有珦N個(gè)隱層節(jié)點(diǎn)的單隱層神經(jīng)網(wǎng)絡(luò)可以表示為
其中,g(x)為激活函數(shù),Wi= [wi,1,wi,2,…,wi,n]T為輸入權(quán)重,βi為輸出權(quán)重,bi是第i個(gè)隱層單元的偏置。Wi·Xj表示W(wǎng)i和Xj的內(nèi)積。
單隱層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是使得輸出的誤差最小,可以表示為
即存在βi,Wi和bi,使得
可以表示為
式中:H——隱層節(jié)點(diǎn)的輸出,β——輸出權(quán)重,T——期望輸出
為了能夠訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò),我們希望得到^Wi,^bi和使得
傳統(tǒng)的一些基于梯度下降法的算法,如BP學(xué)習(xí)算法及其變種,可以用來求解這樣的問題,但是基本的基于梯度的學(xué)習(xí)算法需要在迭代的過程中調(diào)整所有參數(shù)。而在ELM算法中,一旦輸入權(quán)重Wi和隱層的偏置bi被隨機(jī)確定,隱層的輸出矩陣H就被唯一確定。訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò)可以轉(zhuǎn)化為求解一個(gè)線性系統(tǒng)Hβ=T。并且輸出權(quán)重β可以被確定為
在傳統(tǒng)的DBN的構(gòu)建過程中,可以分為三步[9]:①通過貪婪的方式預(yù)訓(xùn)練得到每一層;②利用無監(jiān)督的方法從輸入得到每一層,得到一組RBM,并由得到的一組RBM構(gòu)建DBN;③利用傳統(tǒng)的全局優(yōu)化方法對構(gòu)建的整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)。傳統(tǒng)的DBN的微調(diào)方法中是通過梯度下降的方法完成的,但是基于梯度的優(yōu)化方法需要在迭代的過程中修改參數(shù),這將會(huì)花費(fèi)大量的時(shí)間,而且基于梯度的方法會(huì)陷入局部最優(yōu)。對于傳統(tǒng)的單隱層神經(jīng)網(wǎng)絡(luò)極限學(xué)習(xí)機(jī)的方法可以加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。在基于極限學(xué)習(xí)機(jī)的深度學(xué)習(xí)算法中,我們使用極限學(xué)習(xí)機(jī)的算法對整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)。
DBN是由一組RBM單元的疊加組成的,假設(shè)有一個(gè)有n個(gè)隱層的DBN,可以表示為
式中:I——輸入向量,O——輸出向量,Hi——第i個(gè)隱層的輸出向量,每一個(gè)Hi都是對輸入I的抽象。其中輸入層到第一個(gè)隱層IH1,第i個(gè)隱層到第i+1個(gè)隱層HiHi+1為一個(gè)RBM。在預(yù)訓(xùn)練階段,我們通過對每一層的RBM進(jìn)行吉布斯采樣,利用對比差異算法得到每一個(gè)RBM。對于 N 個(gè)任意的樣本 (Xi,ti),其中Xi= [xi1,xi2,…,x1n]T∈Rn,ti= [ti1,ti2,…,t1m]T∈Rm。則對于深度結(jié)構(gòu)的學(xué)習(xí)算法,輸入I即為X。
對于一個(gè)含有n個(gè)隱層節(jié)點(diǎn)的DBN,我們通過貪婪的訓(xùn)練方式得到n-1個(gè)RBM,即從輸入層,隱層1,…,隱層n-1。而第n-1個(gè)隱層到第n個(gè)隱層以及第n個(gè)隱層到輸出層的權(quán)重和偏置則是由ELM算法確定。
式中:Wi——第n-1個(gè)隱層到第n個(gè)隱層的權(quán)重,bi——第n-1個(gè)隱層到第n個(gè)隱層的偏置,βi——第n個(gè)隱層到輸出層的輸出權(quán)重。對于深度信念網(wǎng)DBN,目標(biāo)是最小化輸出的誤差,可以表示為
并且,存在βi,使得
這個(gè)問題可以轉(zhuǎn)化為
式中:Hn——深度信念網(wǎng)的第n-1層到第n層的輸出。其中
為了訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò),特殊的^Wi,^bi和^β需要被訓(xùn)練,使得
隨機(jī)初始化第n-1個(gè)隱層到第n個(gè)隱層的權(quán)重Wi和偏置bi,則可以得到隱層的唯一輸出矩陣Hn。訓(xùn)練深度信念網(wǎng)就可以轉(zhuǎn)化為求解一個(gè)線性系統(tǒng)Hnβ=T。并且輸出權(quán)重β可以被確定為
與傳統(tǒng)全局優(yōu)化方法不同的是,基于ELM的深度學(xué)習(xí)算法沒有對每一個(gè)受限玻爾茲曼機(jī)RBM的權(quán)重和偏置調(diào)整。而傳統(tǒng)的全局優(yōu)化方法需要對整個(gè)網(wǎng)絡(luò)的權(quán)重和偏置進(jìn)行調(diào)整,這將花費(fèi)大量的時(shí)間?;贓LM的深度學(xué)習(xí)算法充分利用ELM的快速學(xué)習(xí)能力,能夠很快地收斂[11]。
為了測試我們提出的改進(jìn)的深度結(jié)構(gòu)的學(xué)習(xí)算法IDBN,我們選取了 MNIST數(shù)據(jù)集,Binary Alphadigits數(shù)據(jù)集和USPS數(shù)據(jù)集,并與傳統(tǒng)的深度結(jié)構(gòu)的學(xué)習(xí)算法DBN對比。其中MINST中包含50000個(gè)訓(xùn)練數(shù)據(jù)和10000個(gè)測試數(shù)據(jù)。MNIST是由0~9阿拉伯?dāng)?shù)字的手寫體樣本組合而成。實(shí)驗(yàn)時(shí)的所有樣本都為28×28大小的標(biāo)準(zhǔn)灰度圖像。Binary Alphadigits數(shù)據(jù)集是由數(shù)字0~9和英文字母A~Z組成的灰度圖像,數(shù)據(jù)集是由20×16的36類圖像組成,我們對這個(gè)數(shù)據(jù)集進(jìn)行了處理,選取其中240個(gè)作為訓(xùn)練集,160個(gè)作為測試集。USPS手寫體庫是由16×16的10類圖像組成,我們對原始的圖片進(jìn)行了灰度處理,并從其中選擇了7000個(gè)作為訓(xùn)練數(shù)據(jù),另選了4000個(gè)作為測試數(shù)據(jù)。
實(shí)驗(yàn)的運(yùn)行環(huán)境是i7處理器,Matlab R2010a。對于兩個(gè)測試集,我們設(shè)置了不同的運(yùn)行參數(shù)。表1給出了MINST數(shù)據(jù)集,Binary Alphadigits數(shù)據(jù)集和USPS數(shù)據(jù)集上運(yùn)行的參數(shù)。每個(gè)數(shù)據(jù)集上獨(dú)立運(yùn)行50次取平均值。
表1 兩個(gè)數(shù)據(jù)集的運(yùn)行參數(shù)
本文章采用訓(xùn)練時(shí)間 (training time),訓(xùn)練的準(zhǔn)確性(training accuracy)和測試的準(zhǔn)確性 (testing accuracy)作為算法性能測試和比較的標(biāo)準(zhǔn)。表2給出了在MNIST數(shù)據(jù)集上兩種算法獨(dú)立運(yùn)行50次后取平均值的運(yùn)行結(jié)果。表3給出了在Binary Alphadigits數(shù)據(jù)集上兩種算法獨(dú)立運(yùn)行50次后取平均值的運(yùn)行結(jié)果。表4給出了在USPS數(shù)據(jù)集上兩種算法獨(dú)立運(yùn)行50次后取平均值的運(yùn)行結(jié)果。
表2 MNIST數(shù)據(jù)集的運(yùn)行結(jié)果
表3 USPS數(shù)據(jù)集的運(yùn)行結(jié)果
表4 USPS數(shù)據(jù)集的運(yùn)行結(jié)果
從圖1中很容易看出,IDBN在訓(xùn)練時(shí)間上比DBN的訓(xùn)練時(shí)間要少,說明了基于極限學(xué)習(xí)機(jī)改進(jìn)后的深度學(xué)習(xí)算法比傳統(tǒng)的深度學(xué)習(xí)算法在性能上有了很大的提升。圖2中顯示的是Training Accuracy的比較結(jié)果,對比結(jié)果說明了改進(jìn)后的深度學(xué)習(xí)算法IDBN能夠獲得與傳統(tǒng)深度學(xué)習(xí)算法DBN較優(yōu)的訓(xùn)練準(zhǔn)確性。圖3顯示的是Testing Accuracy的比較結(jié)果,對比結(jié)果顯示,IDBN在測試精度上比DBN的準(zhǔn)確性較高。
圖1 兩個(gè)算法的訓(xùn)練時(shí)間比較
圖2 兩個(gè)算法的訓(xùn)練的準(zhǔn)確性比較
圖3 兩個(gè)算法的測試精度比較
從上述的結(jié)果中,我們發(fā)現(xiàn)基于ELM的深度結(jié)構(gòu)學(xué)習(xí)算法IDBN可以獲得與傳統(tǒng)的深度學(xué)習(xí)算法DBN同樣的訓(xùn)練和測試準(zhǔn)確性,同時(shí),改進(jìn)后的深度學(xué)習(xí)算法IDBN比傳統(tǒng)的深度學(xué)習(xí)算法DBN的訓(xùn)練速度更快,在訓(xùn)練中可以節(jié)省大量的時(shí)間。在構(gòu)建深度信念網(wǎng)的過程中,先通過逐層受限玻爾茲曼機(jī)訓(xùn)練使模型得到一個(gè)較優(yōu)的初始參數(shù)值,然后通過采用傳統(tǒng)的全局學(xué)習(xí)算法進(jìn)行網(wǎng)絡(luò)的微調(diào),使得網(wǎng)絡(luò)達(dá)到最優(yōu)。在微調(diào)的過程中,傳統(tǒng)的全局學(xué)習(xí)算法需要對整個(gè)網(wǎng)絡(luò)的權(quán)重和偏置調(diào)整,需要花費(fèi)大量時(shí)間,而基于ELM的深度結(jié)構(gòu)算法IDBN結(jié)合了ELM的優(yōu)點(diǎn),不需要對訓(xùn)練好的權(quán)重和偏置調(diào)整,在微調(diào)過程中節(jié)省了時(shí)間,也為整個(gè)深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練節(jié)省了時(shí)間。
本文借鑒了極限學(xué)習(xí)機(jī)ELM的快速學(xué)習(xí)的算法設(shè)計(jì)并將其引入到傳統(tǒng)的深度學(xué)習(xí)算法DBN中,改進(jìn)了傳統(tǒng)的基于全局學(xué)習(xí)算法的微調(diào)方法。通過對不同數(shù)據(jù)集的測試過程的分析結(jié)果表明,改進(jìn)后的深度學(xué)習(xí)算法IDBN不但能夠保證原來訓(xùn)練和測試的準(zhǔn)確性,而且能夠明顯加快深度學(xué)習(xí)的訓(xùn)練速度。下一步,將尋找一個(gè)較好的應(yīng)用方向,將改進(jìn)后的算法用于實(shí)際問題的求解中。
[1]Yang X,Zheng J.Artificial neural networks [J].Handbook of Research on Geoinformatics,2009:122-130.
[2]Pradhan B,Lee S.Regional landslide susceptibility analysis using back-propagation neural network model at Cameron Highland,Malaysia [J].Landslides,2010,7 (1):13-30.
[3]Catanzaro B,Sundaram N,Keutzer K.Fast support vector machinetraining and classification on graphics processors [C]//Helsinki,F(xiàn)inland:ACM,2008:104-111.
[4]ZHENG Fengde,ZHANG Hongbin.Lagrange twin support vector regression [J].Computer Science,2011,38 (12):247-249 (in Chinese).[鄭逢德,張鴻賓.Lagrange雙支撐向量回歸機(jī) [J].計(jì)算機(jī)科學(xué),2011,38 (12):247-249].
[5]Bengio Y,Lamblin P,Popovici D,et al.Greedy layer-wise training of deep networks [J].Advances in Neural Information Processing Systems,2007,19:153-160.
[6]Bengio Y,Delalleau O.On the expressive power of deep architectures[G].LNCS 6925:Algorithmic.Learning Theory.Berlin Heidelberg:Springer,2011:18-36.
[7]Le Cun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition [J].Proceedings of the IEEE,1998,86 (11):2278-2324.
[8]Hinton GE,Osindero S,Teh YW.A fast learning algorithm for deep belief nets [J].Neural Computation,2006,18 (7):1527-1554.
[9]Dahl GE,Yu D,Deng L,et al.Large vocabulary continuous speech recognition with context-dependent DBN-HMMs [C]//IEEE International Conference on Acoustics Speech and Signal Processing,2011:4688-4691.
[10]Mohamed A,Sainath TN,Dahl G,et al.Deep belief networks using discriminative features for phone recognition[C]//IEEE International Conference on Acoustics Speech and Signal Processing,2011:5060-5063.
[11]Huang GB,Zhou H,Ding X,et al.Extreme learning machine for regression and multiclass classification [J].IEEE Transactions on Systems,Man,and Cybernetics,2012,42(2):513-529.
[12]Nobrega JP,Oliveira ALID.Improving the statistical arbitrage strategy in intraday trading by combining extreme learning machine and support vector regression with linear regression models [C]//IEEE 25th International Conference on Tools with Artificial Intellgence,2013:182-188.
[13]Chen H,Peng J,Zhou Y,et al.Extreme learning machine for ranking:Generalization analysis and applications [J].Neural Networks,2014,53:119-126.
[14]Xi-Zhao W,Qing-Yan S,Qing M,et al.Architecture selection for networks trained with extreme learning machine using localized generalization error model [J].Neurocomputing,2013,102:3-9.