国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多隱層Gibbs采樣的深度信念網(wǎng)絡(luò)訓(xùn)練方法

2019-06-11 06:42史科陸陽劉廣亮畢翔王輝
自動化學(xué)報 2019年5期
關(guān)鍵詞:隱層嵌套錯誤率

史科 陸陽 劉廣亮 畢翔 王輝

在機器學(xué)習(xí)領(lǐng)域里,最重要也是最困難的莫過于特征的提取,抓住事物區(qū)分度強的特征也就抓住了事物的本質(zhì).在此基礎(chǔ)上,分類器的性能會得到極大的提高.但長期以來如何進行特征提取一直是個棘手的問題,不同領(lǐng)域的數(shù)據(jù)涉及到不同的提取方法,需要大量的領(lǐng)域知識作為支撐.另一方面,一直以來各種深度神經(jīng)網(wǎng)絡(luò)模型都困擾在如何找到有效的訓(xùn)練方法.傳統(tǒng)的反向傳播算法在多隱層神經(jīng)網(wǎng)絡(luò)上存在著梯度消失的問題,使得深度網(wǎng)絡(luò)的性能甚至還不如淺層網(wǎng)絡(luò)[1].這兩個關(guān)鍵問題在2006年Hinton提出的文獻[2]中得到了很大程度上的解決.在文獻[2]中提出的多層限制玻爾茲曼機(Restrict Boltzmann machine,RBM)堆疊降維的方法,在無監(jiān)督的情況下實現(xiàn)了自動化的特征學(xué)習(xí),實驗表明效果比傳統(tǒng)的PCA方法要好得多.在此基礎(chǔ)上增加分類器就構(gòu)成了深度信念網(wǎng)絡(luò)模型(Deep belief network,DBN).作為一種生成模型,DBN有著重要的研究價值.相對于判別式模型,生成模型可以反向生成研究對象的實例,可以直觀地觀察出生成對象的各種特征,為進一步的研究提供可能.在隨后的大量研究中,DBN被廣泛應(yīng)用到了圖像識別[3?4]、語音識別[5]、自然語言處理[6]、控制[7]等多個領(lǐng)域,并取得了很好的效果.

針對DBN訓(xùn)練方法的研究一直是一個熱點[8?9].Goh等[10]提出了一種有監(jiān)督的預(yù)訓(xùn)練方法,提高了DBN的精度.李飛等[11]從Gibbs采樣的次數(shù)入手,提出了動態(tài)的采樣方法,喬俊飛等[12]將自適應(yīng)學(xué)習(xí)率引入到對比散度(Contrastive divergence,CD)算法中,提高了算法收斂速度.典型的DBN的訓(xùn)練分為2個階段[13],分別是逐層預(yù)訓(xùn)練和整體精調(diào).在逐層預(yù)訓(xùn)練階段,從網(wǎng)絡(luò)最底層的RBM開始,自底向上逐層使用無監(jiān)督的貪婪方法來使得每層RBM的損失誤差最小.然后在整體精調(diào)階段使用有監(jiān)督的學(xué)習(xí)方法,針對有標(biāo)簽的數(shù)據(jù)使用梯度下降進行整體權(quán)值修正.實驗表明此種方法是有效的,很好地解決了一直以來深度網(wǎng)絡(luò)無法有效訓(xùn)練的難題.逐層預(yù)訓(xùn)練將網(wǎng)絡(luò)的權(quán)重調(diào)整到一個“合適”的初始位置,如果不進行逐層預(yù)訓(xùn)練而直接進行整體精調(diào),則網(wǎng)絡(luò)很難收斂,在逐層預(yù)訓(xùn)練的基礎(chǔ)上進行整體精調(diào)可以確保網(wǎng)絡(luò)能夠收斂到很好的位置上.在此基礎(chǔ)上,網(wǎng)絡(luò)權(quán)重的初始位置有沒有進一步改進的可能,從而獲得更好的網(wǎng)絡(luò)性能呢?DBN的逐層預(yù)訓(xùn)練是在堆疊著的每個RBM內(nèi)進行多步Gibbs采樣來逼近數(shù)據(jù)的真實分布的,采樣在RBM的可視層和隱藏層之間迭代進行.本文在此基礎(chǔ)上,提出了一種兩階段的無監(jiān)督預(yù)訓(xùn)練方法,在已有預(yù)訓(xùn)練的基礎(chǔ)上引入多隱層Gibbs采樣預(yù)訓(xùn)練方法,將多個RBM 組合成一個整體概率模型進行預(yù)訓(xùn)練,使得Gibbs采樣在多個RBM中進行,從而獲得更“合適”的網(wǎng)絡(luò)權(quán)值初始位置.在MNIST、ShapeSet和Cifar10數(shù)據(jù)集上的實驗表明,此種方法比傳統(tǒng)的深度信念網(wǎng)絡(luò)訓(xùn)練方法可以獲得更好的分類效果,在包含(1300,1300,1300,1300)四層隱層的DBN上使用固定學(xué)習(xí)率的實驗,相對于傳統(tǒng)方法的可以將MNIST的錯誤率從1.25%降低到1.09%.

本文先介紹了受限玻爾茲曼機和深度信念網(wǎng)絡(luò)模型,然后提出了改進后的算法,最后在MNIST、ShapeSet和Cifar10數(shù)據(jù)集上驗證并討論了實驗結(jié)果.

1 受限玻爾茲曼機模型

DBN的預(yù)訓(xùn)練是通過受限玻爾茲曼機的訓(xùn)練進行的,所以我們先描述RBM模型.RBM是一個無向圖模型,它可以被看做是一個二部圖(Bipartite graph),兩個部分分別是可視層v和隱層h,層間結(jié)點全連接,層內(nèi)結(jié)點不連接,如圖1所示.可視層接收數(shù)據(jù)輸入,兩層間的連接權(quán)值用W表示,W∈Rn×m.可視層的偏置用a表示,a∈Rn,隱層的偏置用bb表示,b∈Rm.RBM的隱層可以理解為模型中尚未被觀測到的部分,可視層可以理解為可以觀測到的部分,它們的節(jié)點狀態(tài)一般是二進制的,取值1或0.

圖1 RBM模型Fig.1 Restricted Boltzmann machine

RBM是能量模型系統(tǒng),它通過能量來表示系統(tǒng)當(dāng)前的狀態(tài),能量定義為[2]:

其中,n表示可視層的節(jié)點數(shù)目,m表示隱藏層節(jié)點數(shù)目,就表示可視層i節(jié)點到隱層j節(jié)點的權(quán)值大小.使用θ={W,a,b}表示系統(tǒng)所有參數(shù)的集合.

給定了能量定義,就可以在此基礎(chǔ)上定義系統(tǒng)整體的概率分布[2]:

其中,分母部分稱之為歸一化因子或配分函數(shù)(Partition function),使得系統(tǒng)概率取值在[0,1]范圍內(nèi),一般用表示.

RBM的結(jié)構(gòu)決定了隱層和可見層是相互條件獨立的,于是可以得到條件概率分布[14]:

以及

RBM的訓(xùn)練就是依據(jù)訓(xùn)練樣本來估計模型的參數(shù),使得此模型的推斷數(shù)據(jù)盡可能地接近真實數(shù)據(jù).由式(2)可得邊緣概率分布,通過使用最大似然的方法來估計,對其對數(shù)求導(dǎo)數(shù)有[1]:

對于訓(xùn)練樣本,使用 “data”表示分布P(h|v,θ), 使用 “model”表示分布P(v,h|θ). 其中,使用表示關(guān)于分布p的數(shù)學(xué)期望.因為,聯(lián)合式(1)的導(dǎo)數(shù),式(5)可表示為[1]:

其中,ε為學(xué)習(xí)率.

2 深度信念網(wǎng)絡(luò)

多個玻爾茲曼機堆疊后,就形成了深度信念網(wǎng)絡(luò)[13].通??梢栽谧钌蠈釉僭黾右粚舆壿嫽貧w(Logistic regression)層來作為有監(jiān)督學(xué)習(xí)分類器.DBN模型示意圖見圖2.

圖2 DBN模型Fig.2 Deep belief networks

Hinton在文獻[13]中提出了深度信念網(wǎng)絡(luò)的訓(xùn)練方法,分為逐層預(yù)訓(xùn)練和整體精調(diào)兩個階段.在逐層預(yù)訓(xùn)練階段,從網(wǎng)絡(luò)最底層的RBM開始,自底向上逐層使用無監(jiān)督的貪婪方法來使得每層RBM的損失誤差最小.在此過程中相鄰的RBM兩兩連接,下層RBM的輸出傳遞到上一層RBM作為輸入,最底層的輸入為訓(xùn)練數(shù)據(jù),最頂層的輸出傳遞給分類器.在整體精調(diào)階段使用有監(jiān)督的學(xué)習(xí)方法,將所有隱層的權(quán)值看做一個整體,使用梯度下降的方法針對有標(biāo)簽的數(shù)據(jù)進行權(quán)值修正.第一階段的學(xué)習(xí)過程提高了在構(gòu)造模型下訓(xùn)練數(shù)據(jù)的似然概率的變分下限,是無監(jiān)督的,不需要標(biāo)簽信息.如果不進行第一階段的逐層預(yù)訓(xùn)練,直接使用隨機初始化的參數(shù)直接進行梯度下降法則很容易導(dǎo)致訓(xùn)練失敗,模型容易陷入局部極值點[1].通過RBM的逐層訓(xùn)練,深度網(wǎng)絡(luò)每層的參數(shù)都已處于一個比較好的位置上,在此前提下進行全局性的梯度下降可以精調(diào)整個模型的精度,獲得更好的結(jié)果.

3 多隱層Gibbs采樣預(yù)訓(xùn)練

作為生成模型的DBN,在向下的生成方向上,不僅是最底層的可視層,整個網(wǎng)絡(luò)的每一層都是為了使得重構(gòu)數(shù)據(jù)的分布和真實數(shù)據(jù)的分布盡可能地接近.如圖3所示,表示DBN的隱層.傳統(tǒng)的逐層訓(xùn)練算法,針對組合的RBM,是其可視層,是其隱層,Gibbs采樣是在這兩層之間迭代的,使得此RBM 參數(shù)Wm+1收斂,以更好地接近層輸入的分布.采樣先從層的輸入開始向上構(gòu)建層,概率為再在此基礎(chǔ)上反向重構(gòu)出層的數(shù)據(jù),概率為Salakhutdinov等在文獻[16]中指出,在DBN中如果每層RBM都被正確地初始化(可以通過逐層預(yù)訓(xùn)練保證),則反向的P(hm+1|hm+2,Wm+2)是比P(hm+1| hm,Wm+1)更好的hm+1上的后驗分布.反向的概率P(hm+1| hm+2,Wm+2)是由高層多個隱層計算得到,包含了比低層更抽象更豐富的信息.在此基礎(chǔ)上我們使用P(hm+1|hm+2,Wm+2)來代替P(hm+1| hm,Wm+1)以獲得更好的近似.

圖3 針對hm+1的采樣Fig.3 Sampling for hm+1

于是針對hm+1, hm組合的RBM,hm層的對數(shù)似然梯度為考慮到

以及能量對于Wm+1的梯度,所以式(10)的第二部分為

同理,式(10)的第一部分為

條件概率為

對于bm和bm+1的梯度可以通過類似的方法推導(dǎo),使用之前的記號,可以得到類似式(6)~(8)的結(jié)論.

Gibbs采樣是一種馬爾科夫蒙特卡羅(Markov chain Monte Carlo,MCMC)方法,可以利用已有數(shù)據(jù)來推斷丟失的數(shù)據(jù).對于從到的多隱層Gibbs采樣是在這n?m+1個隱層上進行的.信號先從層開始向上使用式(15)傳播,到達最上層層后開始使用(16)反向傳播,等到信號回退到層后使用采樣值來估計,隨后向下采樣估計,再使用式(17)~(19)來更新網(wǎng)絡(luò)參數(shù).注意到我們僅更新,層相關(guān)權(quán)重,而將高層權(quán)重固定,以保持模型的穩(wěn)定,所以本質(zhì)上還是一種逐層訓(xùn)練方法.在迭代時要注意從底向上逐層進行.如前兩節(jié)所述,現(xiàn)有的DBN預(yù)訓(xùn)練是針對每層的RBM使用Gibbs采樣來逼近模型的真實分布,使得每層RBM和其真實分布的差異減小,但DBN的推斷過程是將所有的RBM 層看做一個整體進行的,通過引入多隱層Gibbs采樣可以在逐層逼近的基礎(chǔ)上進一步在局部模型上逼近真實分布.

多隱層的選擇和組合方式有多種可能,本文通過實驗討論了以下4種類型的組合方式:兩兩不嵌套組合(Non-nested)、兩兩嵌套組合(Nested)、增量不嵌套組合(Incremental non-nested)和增量嵌套組合(Incremental nested).以4隱層的DBN舉例,假設(shè)4個隱層分別為,那么兩兩不嵌套組合的RBM序列為;兩兩嵌套組合的RBM為;不嵌套增量組合的序列為嵌套增量組合的序列為

綜上所述,基于多隱層Gibbs采樣的DBN模型算法整體描述如下:

步驟1.無監(jiān)督的逐層預(yù)訓(xùn)練.對于DBN中的RBM層進行逐層貪婪預(yù)訓(xùn)練.令XXX為最底層RBM的輸入.自底向上,對于第i層RBM,計算隱層節(jié)點概率并交替采樣,具體如下.

步驟1.1.進行K次Gibbs采樣.使用式(3)計算概率分布,然后從分布中抽取再使用式(4)計算并從中抽取

步驟1.2.以下式和(9)來更新參數(shù)

步驟2.無監(jiān)督的多隱層預(yù)訓(xùn)練.自底向上組合多隱層,對于每個RBM組合,執(zhí)行以下步驟進行多隱層預(yù)訓(xùn)練.

步驟2.1.依據(jù)式(15)向上計算每層概率分布并抽取出hi,j∈{0,1},直到頂層.

步驟2.2. 依據(jù)式(16)計算反向概率,每計算一層同時抽取,直到底層.

步驟 2.3.使用式(17)~(19)計算梯度,并更新權(quán)重.

步驟3.有監(jiān)督的全局精調(diào).步驟如下.

步驟3.1.對于所有的RBM層,自底向上傳遞信號.第i層的輸出作為第i+1層的輸入.

步驟3.2. 將最上層RBM的輸出和樣本標(biāo)簽Y傳遞給分類器,使用梯度遞減更新所有的參數(shù).

4 實驗與分析

實驗部分使用MNIST手寫數(shù)字?jǐn)?shù)據(jù)集、合成的數(shù)據(jù)集ShapeSet以及真實物體圖像數(shù)據(jù)集Cifar10來測試本文的模型.MNIST數(shù)據(jù)集包含70000張人類手寫數(shù)字的圖片,每張圖片包含一個0~9的手寫數(shù)字,被分割成28×28的黑白兩色點陣.數(shù)據(jù)集分為兩部分,一部分是包含60000張圖片的測試用數(shù)據(jù),一部分是剩下的10000張用于測試.每張圖片都有對應(yīng)的標(biāo)簽數(shù)據(jù),表明正確的數(shù)字是什么.MNIST數(shù)據(jù)集是一個廣泛使用的評估機器學(xué)習(xí)算法的數(shù)據(jù)庫,其中包含的手寫數(shù)字信息來自于不同的書寫方式,且數(shù)據(jù)集沒有經(jīng)過任何拉伸轉(zhuǎn)換等幾何上的處理.在本文實驗中,也沒有進行任何額外的預(yù)處理,相當(dāng)于沒有任何領(lǐng)域知識的介入.ShapeSet是一個人工生成的數(shù)據(jù)集,每個樣本可以包含任意多個平行四邊形、三角形或圓形的圖像,圖像之間可以互相疊加遮擋,且有任意的前景和背景色.在本文的實驗中,設(shè)置每個樣本的大小為32×32,限制樣本中出現(xiàn)的圖形數(shù)為1或2,兩個圖形之間的遮擋率為不超過50%.Cifar10數(shù)據(jù)集包含60000張32×32大小,有RGB三原色信息的彩色圖片,共有10類物體,每個類別6000張.

在DBN的最上層,增加了一層邏輯回歸層來預(yù)測類別,使用Softmax激活函數(shù),用預(yù)測值和真實類別值之間的負(fù)對數(shù)似然函數(shù)來計算損失.通常情況下動態(tài)的學(xué)習(xí)率會取得更好的結(jié)果,學(xué)習(xí)率一般隨著訓(xùn)練次數(shù)的增加而逐漸減小,以防止模型錯過最小值.在本文的實驗中,目的是驗證新的算法相對傳統(tǒng)算法的有效性,沒有去討論模型在實驗數(shù)據(jù)集上所能達到的最優(yōu)結(jié)果,所以使用了常數(shù)的學(xué)習(xí)率.無論是DBN還是改進后的算法,在訓(xùn)練的第一階段,也就是逐層訓(xùn)練時使用的學(xué)習(xí)率都是0.01,在最后一個階段整體精調(diào)時使用的學(xué)習(xí)率是0.1,改進后的算法的第二階段使用0.01的學(xué)習(xí)率.在所有實驗的整體精調(diào)階段和本文提出的算法的第二階段,都使用了“早?!?Early stop)的技術(shù),來防止模型過擬合.為了加速算法,本文使用了小批量(Mini-batch)的方法來把數(shù)據(jù)批量提交給GPU計算.文獻[17]中,Vincent等給出了Mini-batch的數(shù)量設(shè)置建議,通常情況下每個小Batch包含的樣例數(shù)目應(yīng)等于類別的數(shù)量,在本文的實驗中設(shè)置為10.逐層訓(xùn)練階段循環(huán)Epoch數(shù)設(shè)置為100,整體精調(diào)階段設(shè)置為1000,改進的算法的第二階段設(shè)置為100.

本文使用Python ver.3.5.2語言在Theano ver.0.8庫的基礎(chǔ)上實現(xiàn)了基本的DBN算法以及提出的改進算法.在一臺Xeno E3-1230V3,8GB內(nèi)存,Ubuntu16.10 64位的系統(tǒng)上,通過GeForce GTX1070 GPU加速來運行實驗程序.

4.1 4隱層,不同RBM嵌套組合方式

在本組實驗中,使用了784×N×N×N×N×10的網(wǎng)絡(luò)結(jié)構(gòu).包含了4層相同節(jié)點數(shù)的隱層.N的取值從100遞增到3000.針對不同的方法,在MNIST數(shù)據(jù)集上做了5組實驗,實驗結(jié)果如圖4.

可以看到對于4隱層的深度信念網(wǎng)絡(luò),使用兩兩嵌套組合,方式訓(xùn)練的錯誤率最低,無論是全局最低值還是整體平均值.在1300×1300×1300×1300隱層的結(jié)構(gòu)下,達到最好的錯誤率1.09%,比傳統(tǒng)的DBN在同樣結(jié)構(gòu)時的1.25%要降低0.16%.在整組實驗中使用兩兩嵌套組合方式的錯誤率普遍要好于其他方式.當(dāng)隱層節(jié)點數(shù)逐漸增加到大于200以后時,兩兩嵌套組合的方法要普遍好于傳統(tǒng)方法的DBN.兩兩嵌套組合方式最小錯誤率1.09%比傳統(tǒng)方法的最好結(jié)果1.15%(1500隱層結(jié)點時)要低0.06%,且在更少的隱層節(jié)點下取得,這表明兩兩嵌套組合方式能夠比傳統(tǒng)方法更早更好地找到數(shù)據(jù)的特征.同時因為是深層層間全連接網(wǎng)絡(luò),1300隱層節(jié)點的網(wǎng)絡(luò)要比1500節(jié)點的網(wǎng)絡(luò)少大約1/4的層間參數(shù),相應(yīng)的計算量要少得多,分類的速度會更快.

圖4 MNIST數(shù)據(jù)集上4隱層模型錯誤率對比Fig.4 The error rate of 4 hidden layers model on MNIST

不嵌套組合的方法在隱層節(jié)點低于1500時和傳統(tǒng)的DBN接近,大于1500時比DBN要好,但普遍比兩兩嵌套組合方式要差.

增量不嵌套和增量嵌套的組合方式表現(xiàn)出了較大的波動性,錯誤率圍繞傳統(tǒng)DBN上下擺動.相對于不遞增的組合方式,它們對數(shù)據(jù)進行了更多輪的學(xué)習(xí),也消耗了更多的運算時間,出現(xiàn)這樣現(xiàn)象的原因可能是因為組合了超過3層的隱層,從而導(dǎo)致出現(xiàn)了梯度消失或激增的情況,導(dǎo)致了網(wǎng)絡(luò)性能的不穩(wěn)定[18].

4.2 3隱層,2RBM組合交叉實驗

為了進一步驗證模型有效性,在本組實驗中,改變了網(wǎng)絡(luò)的深度,使用了784×N×N×N×10的網(wǎng)絡(luò)結(jié)構(gòu),隱層為三層.同樣的,為了方便考察算法性能,設(shè)置了同樣的節(jié)點數(shù),都為N.N的取值設(shè)定為從100到4000.如果對于3隱層從底向上編號為,增量嵌套的訓(xùn)練序列是嵌套組合的訓(xùn)練序列是最終的MNIST數(shù)據(jù)集上實驗結(jié)果如圖5.

圖5 MNIST數(shù)據(jù)集上3隱層模型錯誤率對比Fig.5 The error rate of 3 hidden layers model on MNIST

圖6 ShapeSet數(shù)據(jù)集上3隱層模型錯誤率對比Fig.6 The error rate of 3 hidden layers model on ShapeSet

圖7 Cifar10數(shù)據(jù)集上3隱層模型錯誤率對比Fig.7 The error rate of 3 hidden layers model on Cifar10

圖8 3隱層模型CD1、CD10錯誤率對比Fig.8 The error rate comparison with CD1 and CD10 on 3 hidden layers model

最好的錯誤率同時出現(xiàn)在兩兩嵌套組合算法隱層為1500節(jié)點和2500節(jié)點時,都為1.11%,對應(yīng)的傳統(tǒng)的DBN算法錯誤率為1.25%和1.27%,分別降低了0.14%和0.16%.在其他節(jié)點數(shù)的情況下,從200開始改進后的算法錯誤率都要普遍優(yōu)于傳統(tǒng)算法.相對于4隱層的結(jié)果,3隱層下增量嵌套組合的穩(wěn)定性要更好,雖然不如嵌套組合的效果,但也普遍優(yōu)于傳統(tǒng)算法.

4.3 ShapeSet數(shù)據(jù)集和Cifar10數(shù)據(jù)集

為了進一步驗證算法的有效性,在ShapeSet和Cifar10數(shù)據(jù)集上針對兩兩嵌套組合算法和傳統(tǒng)的DBN算法再次做了比較.實驗結(jié)果如圖6和圖7.ShapeSet數(shù)據(jù)集上錯誤率普遍比傳統(tǒng)方法低2個百分點.Cifar10數(shù)據(jù)集上從1000結(jié)點規(guī)模后普遍比傳統(tǒng)方法要低3個百分點.類似的結(jié)論再次驗證本文提出的算法相對于傳統(tǒng)DBN算法的有效性,兩兩嵌套組合算法在各種隱層節(jié)點數(shù)量的模型上普遍獲得了更低的錯誤率.

4.4 其他方法的比較

上述實驗是在傳統(tǒng)的DBN方法的基礎(chǔ)上增加一輪無監(jiān)督的組合訓(xùn)練得到的.傳統(tǒng)的DBN在逐層預(yù)訓(xùn)練階段使用的是基于對比散度(CD)的采樣方法,實驗表明CD-1,也就是Gibbs鏈迭代1次后的采樣效果就已經(jīng)很好了.Tieleman等[19?20]在傳統(tǒng)的 DBN 上提出了一種改進的對比散度方法,稱之為Persistent contrastive divergence(PCD)算法.實驗表明PCD要優(yōu)于傳統(tǒng)的基于CD-1采樣的DBN算法,和10次交替采樣的CD-10接近.在本文之前實驗中的對比算法就是使用CD-1的DBN算法為基準(zhǔn).在CD-1的基礎(chǔ)上增加組合訓(xùn)練可以改進模型的精度,那么在使用PCD或CD-10來逐層預(yù)訓(xùn)練的基礎(chǔ)上能否進一步的改進模型精度呢?在MNIST數(shù)據(jù)集3隱層的模型上CD-1和CD-10的對比實驗結(jié)果見圖8,4隱層上的CD-1和CD-10以及PCD的對比結(jié)果見圖9和圖10.

圖10 4隱層模型CD1、PCD錯誤率對比Fig.10 The error rate comparison with CD1 and PCD on 4 hidden layers model

可以看到,在3隱層的網(wǎng)絡(luò)上,CD-10的基礎(chǔ)上再次進行RBM嵌套組合預(yù)訓(xùn)練并不能顯著提高模型精度.最好的結(jié)果仍然是在CD-1+嵌套組合預(yù)訓(xùn)練的情況下.

在4隱層的網(wǎng)絡(luò)上的結(jié)論類似,最好的結(jié)果還是在CD-1的基礎(chǔ)上進行嵌套組合預(yù)訓(xùn)練.CD-10和PCD-10的情況下,模型錯誤率圍繞CD-1波動,在CD-10或PCD的基礎(chǔ)上增加一輪組合預(yù)訓(xùn)練并不能顯著地提高系統(tǒng)的精度.

4.5 時間消耗和算法效率

本文在新增的多隱層Gibbs采樣預(yù)訓(xùn)練中使用了“早?!睓C制,在訓(xùn)練中一旦檢測到模型的代價值增加就會提前終止訓(xùn)練.實際中在大部分的情況下只需額外訓(xùn)練很少的輪數(shù)就會滿足終止條件,實際消耗的時間非常少.幾種算法的實際訓(xùn)練時間對比見圖11.可以看到本文的算法相對于CD-1時間略微增加,遠(yuǎn)少于CD-10和PCD算法.

圖11 4隱層模型上各種算法訓(xùn)練耗時對比Fig.11 The training time consumption comparison on 4 hidden layers model

上述實驗表明,本文方法能夠在更小模型規(guī)模上實現(xiàn)比傳統(tǒng)DBN更好的分類效果.為了量化比較,使用算法效率(Algorithm efficiency,AE)來度量識別速度、錯誤率和模型規(guī)模之間的關(guān)系.AE定義為負(fù)的算法識別時間和錯誤率的乘積:

在4隱層上的算法效率對比見圖12.可以看出本文方法相比傳統(tǒng)的方法有著更高的算法效率.

5 總結(jié)和展望

理論分析和實驗表明在傳統(tǒng)的DBN訓(xùn)練方法的基礎(chǔ)上,增加一輪基于多隱層的Gibbs采樣無監(jiān)督預(yù)訓(xùn)練,對于提高深度信念網(wǎng)絡(luò)的精度是有效的,可以為進一步的有監(jiān)督全局精調(diào)提供更好的初始化.對比多種隱層的組合方式,本文發(fā)現(xiàn)兩兩嵌套組合相鄰的RBM進行訓(xùn)練的效果最好.此種訓(xùn)練方法在原有無監(jiān)督逐層訓(xùn)練的基礎(chǔ)上進一步地提高了模型訓(xùn)練數(shù)據(jù)似然概率的變分下限,相對于傳統(tǒng)的使用CD或PCD的兩階段訓(xùn)練方法可以將錯誤率進一步降低,同時也有著更高的算法效率.

圖12 4隱層模型上各種算法效率對比Fig.12 AE comparison on 4 hidden layers model

無監(jiān)督的預(yù)訓(xùn)練不需要樣本標(biāo)簽,堆疊基本組件逐層預(yù)訓(xùn)練也是眾多深度學(xué)習(xí)模型[17,21?22]的一種通用的學(xué)習(xí)框架.現(xiàn)有的深度網(wǎng)絡(luò)還有以其他組件為基本元素組合而成的,如深度降噪自編碼網(wǎng)絡(luò)[23],其使用自動編碼器來代替限制玻爾茲曼機,組合基本組件混合訓(xùn)練的思想在理論上也可以推廣到這些結(jié)構(gòu)上,是否有效也還有待進一步的實驗證明.

猜你喜歡
隱層嵌套錯誤率
基于RTD可編程邏輯門的n變量函數(shù)實現(xiàn)算法
一種自適應(yīng)確定隱層節(jié)點數(shù)的增量半監(jiān)督超限學(xué)習(xí)機算法
兼具高自由度低互耦的間距約束稀疏陣列設(shè)計
基于RDPSO結(jié)構(gòu)優(yōu)化的三隱層BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測模型及應(yīng)用
小學(xué)生分?jǐn)?shù)計算高錯誤率成因及對策
代價敏感正則化有限記憶多隱層在線序列極限學(xué)習(xí)機及圖像識別應(yīng)用
論電影嵌套式結(jié)構(gòu)的內(nèi)涵與類型
嵌套交易如何實現(xiàn)逆市盈利
正視錯誤,尋求策略
巧用嵌套交易實現(xiàn)逆市盈利
四平市| 郸城县| 岗巴县| 伊宁市| 河源市| 苏州市| 会同县| 新营市| 鹰潭市| 开江县| 杂多县| 永年县| 五原县| 临泉县| 马尔康县| 礼泉县| 康马县| 津市市| 磐石市| 鄯善县| 凯里市| 德昌县| 吉安市| 河西区| 沙坪坝区| 五大连池市| 哈尔滨市| 囊谦县| 丰城市| 西平县| 深水埗区| 齐河县| 澄迈县| 武乡县| 衡南县| 隆昌县| 平乐县| 永顺县| 紫阳县| 轮台县| 石门县|