張士昱,宋 威,王晨妮,鄭珊珊
江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫214122
+通訊作者E-mail:songwei@jiangnan.edu.cn
在人工智能領(lǐng)域,深度學(xué)習(xí)目前受到了廣泛關(guān)注[1],特別是深度學(xué)習(xí)的分類能力對工業(yè)界產(chǎn)生了巨大的影響[2]。因?yàn)檫@種學(xué)習(xí)體系具有多層網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn),可以避免所謂的維數(shù)災(zāi)難或降低其危害;而且可以有效提取原始數(shù)據(jù)的主要特征,這些數(shù)據(jù)比原始數(shù)據(jù)更具鑒別性,方便對數(shù)據(jù)做進(jìn)一步的應(yīng)用研究。限制玻爾茲曼機(jī)(restricted Boltzmann machine,RBM)[3]是一種無監(jiān)督學(xué)習(xí)方法,能夠很好地表示輸入數(shù)據(jù)集的概率分布。深度信念網(wǎng)絡(luò)(deep belief network,DBN)[4]由多個順序堆疊的RBM組成。
目前DBN 仍有許多問題值得研究。例如,當(dāng)DBN 要解決高復(fù)雜度的問題時,如果隱藏層和隱藏層神經(jīng)元不足,則會導(dǎo)致訓(xùn)練失敗[5]。這是因?yàn)镈BN缺少隱藏層和隱藏層神經(jīng)元來擬合數(shù)據(jù),并且無法有效提取數(shù)據(jù)的主要特征。而如果隱藏層和隱藏層神經(jīng)元過多,則會大幅增加DBN的訓(xùn)練時間,并且可能會導(dǎo)致網(wǎng)絡(luò)過擬合。因此,針對不同的問題,DBN需要選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)來準(zhǔn)確地提取數(shù)據(jù)的主要特征。但是,DBN 的網(wǎng)絡(luò)結(jié)構(gòu)目前是通過人工實(shí)驗(yàn)選擇的,并且在訓(xùn)練過程中總是固定的[6]。Shen 等[7]通過反復(fù)實(shí)驗(yàn)法確定DBN 的網(wǎng)絡(luò)結(jié)構(gòu),但通過這種方法確定結(jié)構(gòu)是耗時且不合理的,會導(dǎo)致DBN 運(yùn)行時間長,準(zhǔn)確度差。因此,如何使DBN可以根據(jù)不同的問題以及自身的訓(xùn)練情況,自動調(diào)整為最合適的網(wǎng)絡(luò)結(jié)構(gòu),對DBN 在人工智能領(lǐng)域的應(yīng)用研究具有重要的意義。
近年來已經(jīng)研究出許多動態(tài)結(jié)構(gòu)調(diào)整算法來解決神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)確定問題[8-9]。例如,文獻(xiàn)[10]提出了一種模糊神經(jīng)網(wǎng)絡(luò)(fuzzy neural network,F(xiàn)NN)的分層在線動態(tài)結(jié)構(gòu)用于解決函數(shù)逼近問題。文獻(xiàn)[11]提出了一種具有動態(tài)結(jié)構(gòu)的徑向基(radial basis function,RBF)網(wǎng)絡(luò)用于解決非線性動力系統(tǒng)辨別問題。文獻(xiàn)[12]提出了一種用于二值圖像去噪任務(wù)的量子多層動態(tài)神經(jīng)網(wǎng)絡(luò)(dynamic neural network,DNN)。這些動態(tài)結(jié)構(gòu)調(diào)整算法有效提高了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果。受此啟發(fā),DBN 的結(jié)構(gòu)設(shè)計(jì)問題已經(jīng)成為學(xué)術(shù)界關(guān)注的焦點(diǎn)[13-14]。文獻(xiàn)[2,15]提出了一種自適應(yīng)DBN(adaptive deep belief network,ADBN)學(xué)習(xí)方法,該方法使用隱藏神經(jīng)元權(quán)重和偏置的變化量作為調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)的條件。但ADBN 算法相對單一,缺乏對結(jié)構(gòu)調(diào)整的全局把握,不具備一定的魯棒性。文獻(xiàn)[6]提出了一種自組織DBN(self-organizing deep belief network,SODBN)模型,利用隱藏神經(jīng)元的尖峰強(qiáng)度值(spiking intensities,SI)和訓(xùn)練階段的均方根誤差來調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)。SODBN 可以獲得良好的網(wǎng)絡(luò)結(jié)構(gòu)和準(zhǔn)確性,但由于其復(fù)雜的算法,SODBN的訓(xùn)練時間也更長。本文提出了一種使用動態(tài)增減枝算法的動態(tài)DBN模型(dynamic deep belief network,DDBN),可以有效地優(yōu)化DBN的網(wǎng)絡(luò)結(jié)構(gòu)。DDBN新的特性如下所述:
如果DBN沒有足夠的隱藏層神經(jīng)元來映射輸入樣本,那么即使經(jīng)過長時間的迭代,權(quán)重矩陣仍會大幅波動[15]。因此,對于增枝策略,本文提出了一種稱為權(quán)重距離(weight distance,WD)的方法,并從局部和全局的角度來描述神經(jīng)元的權(quán)重變化趨勢,然后提出一條神經(jīng)元的綜合權(quán)重變化曲線來尋找不穩(wěn)定的神經(jīng)元,為了提高網(wǎng)絡(luò)的局部描述能力,將不穩(wěn)定的神經(jīng)元分成兩個神經(jīng)元,并且新神經(jīng)元各參數(shù)為0;此外,本文通過計(jì)算網(wǎng)絡(luò)與所有訓(xùn)練樣本相對應(yīng)的平均能量來評估網(wǎng)絡(luò)的穩(wěn)定性,以此來確定是否需要增加新的隱藏層,提高網(wǎng)絡(luò)穩(wěn)定性。對于減枝策略,為了減少網(wǎng)絡(luò)的冗余并獲得一個緊湊的結(jié)構(gòu),本文通過利用隱藏層神經(jīng)元對所有訓(xùn)練樣本激活概率的標(biāo)準(zhǔn)差來測量神經(jīng)元提取特征的離散程度,進(jìn)而找出具有鑒別性的神經(jīng)元,并移除其余神經(jīng)元。
更重要的是,雖然DDBN 的訓(xùn)練是一個動態(tài)過程,但對其收斂性進(jìn)行分析后證明是可實(shí)現(xiàn)的。在實(shí)驗(yàn)中,將本文提出的DDBN模型在3個基準(zhǔn)圖像數(shù)據(jù)集上進(jìn)行了測試,包括MNIST[16]、USPS[17]和CIFAR-10[18],并與多種網(wǎng)絡(luò)模型進(jìn)行對比,包括傳統(tǒng)的DBN、降噪自動編碼機(jī)(denoising auto-encoder,DAE),以及ADBN[2]和SODBN[6]。相應(yīng)的實(shí)驗(yàn)結(jié)果表明,DDBN比現(xiàn)有的一些DBN結(jié)構(gòu)調(diào)整方法具有更好的性能。
DBN由多個順序堆疊的RBM組成,如果要解決分類問題,則需要在最后增加一層分類器。DBN 的訓(xùn)練過程分為兩個階段:預(yù)訓(xùn)練(無監(jiān)督學(xué)習(xí))和微調(diào)(監(jiān)督學(xué)習(xí))。第一,使用對比散度(contrastive divergence,CD)算法訓(xùn)練每一層RBM,并且把當(dāng)前RBM的輸出作為下一層的輸入,除此之外,每一層的RBM 都是單獨(dú)訓(xùn)練,確保特征向量被映射到不同的特征空間,從而提取更多的特征信息。第二,將最后一層RBM 的輸出作為分類器的輸入,使用誤差反向傳播(back-propagation,BP)算法訓(xùn)練整個網(wǎng)絡(luò),對其進(jìn)行微調(diào)。
RBM 由可視層和隱藏層組成,其中可視層即為輸入樣本,而隱藏層的輸出表示了輸入樣本的概率分布,即提取的輸入樣本的主要特征。RBM 的結(jié)構(gòu)如圖1所示。
Fig.1 Structure of RBM圖1 RBM結(jié)構(gòu)
圖中,vi(1 ≤i≤I)和hj(1 ≤j≤J)分別表示可視層神經(jīng)元和隱藏層神經(jīng)元,W是可視層和隱藏層之間的權(quán)重矩陣,b和c分別是可視層神經(jīng)元和隱藏層神經(jīng)元的偏置。
RBM是一種基于能量模型的隨機(jī)網(wǎng)絡(luò)。給定參數(shù)集θ={W,b,c},則能量函數(shù)E(v,h;θ)以及可視層和隱藏層神經(jīng)元的聯(lián)合概率分布P(v,h;θ)為:
其中,Z是配分函數(shù),表示所有可能的可視層和隱藏層神經(jīng)元的和。利用貝葉斯公式的原理,根據(jù)式(2)可以求出可視層神經(jīng)元v的邊緣概率分布:
RBM 網(wǎng)絡(luò)訓(xùn)練的目標(biāo)就是求解θ={W,b,c},使得在該參數(shù)下RBM 能夠極大地?cái)M合輸入樣本,使得P(v;θ)[19]最大,即求解輸入樣本的極大似然估計(jì)。然而,為了獲得最大似然估計(jì),需要計(jì)算所有可能情況,計(jì)算量是指數(shù)增長的,因此RBM使用Gibbs采樣進(jìn)行估算[20]。在Gibbs 采樣過程中,可視層神經(jīng)元v和隱藏層神經(jīng)元h的條件概率分布為:
然而,Gibbs 采樣是十分耗時的,特別是當(dāng)訓(xùn)練樣本具有大量特征時。因此目前通常使用CD 算法訓(xùn)練RBM[21]。CD 算法主要有兩個特點(diǎn):(1)使用從條件分布中得到的樣本來近似替代計(jì)算梯度時的平均求和。(2)只進(jìn)行一次Gibbs 采樣。通過CD 算法,可以快速得到{W,b,c}等參數(shù)的更新,從而完成對RBM網(wǎng)絡(luò)的訓(xùn)練。
RBM是一種無監(jiān)督的學(xué)習(xí)方法,在DBN的最后增加一層分類器,使用反向傳播算法訓(xùn)練整個網(wǎng)絡(luò),對其進(jìn)行微調(diào),可以實(shí)現(xiàn)對整體網(wǎng)絡(luò)的參數(shù)優(yōu)化和分類。
微調(diào)階段是把多層RBM訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)作為整體網(wǎng)絡(luò)參數(shù)初始化給BP網(wǎng)絡(luò),利用有監(jiān)督的學(xué)習(xí)方法訓(xùn)練,并將網(wǎng)絡(luò)的實(shí)際輸出與期望輸出產(chǎn)生的誤差逐層向后傳播,完成對整個DBN 網(wǎng)絡(luò)參數(shù)的微調(diào)。預(yù)訓(xùn)練過程可以看作是RBM訓(xùn)練得到的參數(shù)對BP網(wǎng)絡(luò)的初始化過程,它能克服隨機(jī)初始化BP網(wǎng)絡(luò)而導(dǎo)致的訓(xùn)練時間長,容易陷入局部最優(yōu)解的缺點(diǎn)。
DDBN通過動態(tài)增減枝算法,可以在訓(xùn)練過程中根據(jù)當(dāng)前訓(xùn)練情況自動構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)。增枝操作包括增加新的隱藏層和隱藏層神經(jīng)元,而減枝操作為移除冗余神經(jīng)元。本章將介紹DDBN的主要思想。
動態(tài)增減枝算法從局部和全局,即從網(wǎng)絡(luò)對單個訓(xùn)練樣本和所有訓(xùn)練樣本的角度考慮網(wǎng)絡(luò)結(jié)構(gòu)的動態(tài)調(diào)整,可以避免網(wǎng)絡(luò)結(jié)構(gòu)陷入局部最優(yōu)。從局部角度來考慮,在一次迭代訓(xùn)練完成后,找出每個隱藏層神經(jīng)元對應(yīng)于某個訓(xùn)練樣本的最大的WD 值。從全局角度來說,在一次迭代完成后,計(jì)算出使各個隱藏層神經(jīng)元的WD 值變大的樣本占所有訓(xùn)練樣本的比例,并與局部條件相結(jié)合,描述神經(jīng)元的綜合權(quán)重變化趨勢。若大于閾值,則將該神經(jīng)元分為兩個神經(jīng)元。在當(dāng)前RBM 訓(xùn)練完成后,首先通過隱藏層神經(jīng)元對所有輸入樣本激活概率的標(biāo)準(zhǔn)差測量神經(jīng)元提取特征的離散程度。若標(biāo)準(zhǔn)差大于閾值,則表明神經(jīng)元提取的特征是具有鑒別性的,并移除其余神經(jīng)元。然后通過計(jì)算網(wǎng)絡(luò)對所有訓(xùn)練樣本的平均能量來評估網(wǎng)絡(luò)的穩(wěn)定性,若平均能量大于閾值,則增加一層新的RBM,并且各參數(shù)的初始化與初始結(jié)構(gòu)相同。動態(tài)增減枝算法的具體描述如下。
3.1.1 動態(tài)增枝算法
DDBN 的增枝操作包括增加隱藏層神經(jīng)元和隱藏層的數(shù)量,這分別取決于WD值和能量函數(shù)。
首先介紹隱藏層神經(jīng)元的增長。WD如式(6)所示:
其中,Wj(m)是隱藏層神經(jīng)元j在經(jīng)過m次迭代后的權(quán)重向量。WD 的值反映了兩次迭代中隱藏層神經(jīng)元j的權(quán)重向量的變化情況。一般而言,神經(jīng)元j的權(quán)重向量在訓(xùn)練一段時間后會收斂,即WD的值會越來越小。如果某些神經(jīng)元的權(quán)重向量波動幅度較大,即WD的值較大,應(yīng)該考慮到這是缺少隱藏層神經(jīng)元來映射輸入樣本導(dǎo)致的。在這種情況下,需要增加神經(jīng)元的數(shù)量來提高網(wǎng)絡(luò)的局部描述能力。本文從局部和全局兩方面來描述神經(jīng)元的權(quán)重變化趨勢。局部條件定義為:
其中,N是輸入樣本的個數(shù),N'是與上一次迭代相比使第j個神經(jīng)元的WD 值增大的樣本個數(shù),即。全局條件即計(jì)算出使各個神經(jīng)元的WD值增大的樣本占所有訓(xùn)練樣本的比例。然后將這兩個條件相乘即得到增加隱藏層神經(jīng)元的條件:
其中,y(m)是一條曲線,用來作為可變閾值,其定義為:
其中,m是當(dāng)前迭代次數(shù),epoches為最大迭代次數(shù),u表示曲線的曲率,ymax和ymin分別是曲線的最大值和最小值。
在訓(xùn)練過程中,如果網(wǎng)絡(luò)向好的方向發(fā)展,則MAX_WD和iratio的值會越來越小。因此提出一條曲線y(m)來擬合神經(jīng)元的綜合權(quán)重變化趨勢,并且當(dāng)u>1 時,y(m)是一條單調(diào)遞減的凹曲線,u越大,曲線的曲率越大。如果第j個神經(jīng)元滿足式(10),則該神經(jīng)元將被分成兩個神經(jīng)元,并且新神經(jīng)元的各參數(shù)都為0,如圖2所示。
Fig.2 Growth of hidden neurons圖2 增加隱藏層神經(jīng)元
接下來介紹隱藏層的增長。根據(jù)式(3)可以發(fā)現(xiàn):
如果想最大化P(v;θ),那么能量函數(shù)E(v,h;θ)應(yīng)該盡可能得小。同時,為了消除訓(xùn)練數(shù)據(jù)集規(guī)模不同對網(wǎng)絡(luò)的能量計(jì)算產(chǎn)生的影響,本文使用的是整體網(wǎng)絡(luò)與所有訓(xùn)練樣本相對應(yīng)的平均能量。增加隱藏層的條件為:
其中,l表示第l層RBM,l=1,2,…,L,L是DDBN 當(dāng)前的層數(shù),n表示第n個訓(xùn)練樣本,θL是閾值。如果整體網(wǎng)絡(luò)的平均能量滿足式(12),則增加一層新的RBM,并且新RBM 各參數(shù)的初始化與初始結(jié)構(gòu)相同,如圖3所示。
3.1.2 動態(tài)減枝算法
Fig.3 Growth of hidden layers圖3 增加隱藏層
RBM 的目的是提取樣本的主要特征,即隱藏層神經(jīng)元的激活概率。這些特征都是有鑒別性的,方便對數(shù)據(jù)做進(jìn)一步的應(yīng)用研究。如果某個神經(jīng)元的激活概率對所有樣本都接近平均值,則說明該神經(jīng)元提取的特征不具有鑒別性,即冗余神經(jīng)元。為了減少網(wǎng)絡(luò)的冗余并獲得一個緊湊的結(jié)構(gòu),需要移除這些冗余神經(jīng)元。本文使用標(biāo)準(zhǔn)差測量同一隱藏層神經(jīng)元對所有樣本激活概率的離散程度,標(biāo)準(zhǔn)差公式為:
其中,AP(n,j)表示第j個神經(jīng)元對第n個樣本的激活概率,μj表示第j個神經(jīng)元對所有樣本的平均激活概率。一個較小的標(biāo)準(zhǔn)差意味著這些值接近平均值,即這個神經(jīng)元提取的特征不具有鑒別性,因此需要移除這個冗余神經(jīng)元。減枝條件為:
其中,θA是一個閾值。關(guān)于閾值的取值,做了一條關(guān)于減枝率和分類準(zhǔn)確率之間的權(quán)衡曲線,根據(jù)此曲線選擇θA的值,使移除更多的冗余神經(jīng)元的同時保留原始準(zhǔn)確率。如果第j個神經(jīng)元滿足式(14),則移除該神經(jīng)元,包括其所有參數(shù),如圖4所示。
Fig.4 Pruning of hidden neurons圖4 移除隱藏層神經(jīng)元
此外,在減枝后,重新訓(xùn)練當(dāng)前的RBM使剩余的神經(jīng)元能夠補(bǔ)償被移除的神經(jīng)元。這一步至關(guān)重要,減枝后再重訓(xùn)練為一次迭代。迭代減枝每次都移除較少的神經(jīng)元,并且進(jìn)行了多次重訓(xùn)練以進(jìn)行補(bǔ)償。經(jīng)過多次這樣的迭代,可以找到一個更高的減枝率并且不損失準(zhǔn)確率。每次迭代根據(jù)式(15)更新閾值θA:
通過δ(iter)來更新每次迭代減枝中的閾值以移除更多的神經(jīng)元。每次減枝都是一次貪心搜索,即在上一次減枝最優(yōu)結(jié)果的基礎(chǔ)上進(jìn)行下一次減枝。根據(jù)每次減枝中的權(quán)衡曲線,可以在不損失準(zhǔn)確率的情況下找到最佳減枝率,因此δ(iter)被設(shè)置為使θA滿足此次迭代減枝所需的減枝率。
本文使用CD算法來訓(xùn)練RBM,該算法進(jìn)行一次Gibbs采樣就可以重構(gòu)樣本的分布,大大縮短了訓(xùn)練時間。算法主要思想是:用輸入數(shù)據(jù)初始化可視層的狀態(tài),得到v1,通過式(5)計(jì)算隱藏層神經(jīng)元的狀態(tài)為0或1,得到h1;然后再利用h1和式(4)計(jì)算可視層神經(jīng)元的狀態(tài),從而得到可視層的重構(gòu)v2;最后利用v2和式(5)計(jì)算隱藏層神經(jīng)元的激活概率,得到h2。具體過程如圖5所示。
Fig.5 CD algorithm圖5 CD算法
然后根據(jù)下列公式更新參數(shù):
其中,η為學(xué)習(xí)率。
綜上所述,本文提出的DDBN的訓(xùn)練過程如圖6所示。
Fig.6 Training process of DDBN圖6 DDBN訓(xùn)練過程
為了使網(wǎng)絡(luò)應(yīng)用更廣泛,在DDBN 的最后加入Softmax 分類器用于圖像分類。對于輸入樣本{(x(1),y(1)),(x(2),y(2)),…,(x(N),y(N))},標(biāo)簽y取K個不同的值,表示有K個類別。設(shè)P(y=k|x)表示在輸入x的情況下,樣本判別為類別k的概率。對于一個K類Softmax分類器,輸出為:
其中,x(n)為第n個輸入樣本,y(n)表示第n個輸入樣本的標(biāo)簽,P(y(n)=k|x(n);θ)表示第n個輸入樣本屬于第k類的概率,θ是一個包括權(quán)重和偏置的參數(shù)矩陣,每一行看作是一個類別所對應(yīng)分類器的參數(shù),共K行。是對概率分布進(jìn)行歸一化,從而使所有的概率之和為1。Softmax分類器的代價(jià)函數(shù)為:
其中,1{} 是一個特征函數(shù),即當(dāng)y(n)=k為真時,1{y(n)=k}的值為1;當(dāng)y(n)=k為假時,1{y(n)=k}的值為0。隨后,使用反向傳播算法,微調(diào)整個網(wǎng)絡(luò)以調(diào)整網(wǎng)絡(luò)參數(shù),最終實(shí)現(xiàn)整個DDBN模型的訓(xùn)練。
DDBN 的收斂性是一個重要的問題。DDBN 在訓(xùn)練過程中,網(wǎng)絡(luò)結(jié)構(gòu)是動態(tài)變化的,因此網(wǎng)絡(luò)收斂對DDBN的穩(wěn)定性和成功應(yīng)用至關(guān)重要。本節(jié)將為DDBN動態(tài)訓(xùn)練過程的收斂提供理論依據(jù)。
3.3.1 增加神經(jīng)元階段
在增加神經(jīng)元階段,假設(shè)第l層隱藏層有J個神經(jīng)元,則重構(gòu)誤差為。當(dāng)?shù)趈個神經(jīng)元滿足神經(jīng)元增長條件時,該神經(jīng)元將被分成兩個神經(jīng)元,因此當(dāng)前神經(jīng)元個數(shù)為J+1 個,則此時的重構(gòu)誤差為。需要指出的是,重構(gòu)誤差會影響DDBN在結(jié)構(gòu)變化階段的收斂性,當(dāng)DDBN 在結(jié)構(gòu)非變化階段時可以忽略[6]。
在這種情況下,DDBN模型的誤差為[11,22]:
其中,eg(n)是網(wǎng)絡(luò)誤差,g()和f()分別是實(shí)際函數(shù)和理想函數(shù),W為初始權(quán)重,W?為理想權(quán)重,grow()表示神經(jīng)元增長算法,L是隱藏層的層數(shù)。
提出假設(shè)[11]:
其中,ec>0,因?yàn)閒()是一個連續(xù)函數(shù)[11,22],所以f()是有界的。同時,g()是由神經(jīng)網(wǎng)絡(luò)構(gòu)建的,因此g()也是有界的。從而,這個假設(shè)是可以成立的。
定理1在增加神經(jīng)元階段,如果本文提出的神經(jīng)元增長算法是有效的,則誤差eg(n)可以收斂到一個有限的向量||eg(n)||2<em。同時,隨著輸入樣本的增加,誤差eg(n)一致最終有界(uniformly and ultimately bounded,UUB)。
證明根據(jù)Lyapunov函數(shù)法:
V的導(dǎo)數(shù)為:
根據(jù)式(24)證明誤差eg(n)一致最終有界,則得到:
因此,根據(jù)Lyapunov穩(wěn)定性定理,可以證明誤差eg(n)一致最終有界,即證明了定理1,并且理論上證明了增加神經(jīng)元階段的收斂性。 □
3.3.2 減枝階段
由于減枝是增加神經(jīng)元的逆向步驟,并且增加神經(jīng)元階段的收斂性已被證明,因此根據(jù)定理1,可以得到ep(n)一致最終有界。
同時,預(yù)訓(xùn)練過程是通過訓(xùn)練多個疊加的RBM來實(shí)現(xiàn)的,這已經(jīng)被證明是一致最終有界[20],因此也保證了增加隱藏層過程中的收斂性。此外,微調(diào)是基于梯度的監(jiān)督學(xué)習(xí),理論上保證了穩(wěn)定性和收斂性[23-26]。
綜上所述,DDBN的收斂性已被證明。
本文實(shí)驗(yàn)使用了3個圖像數(shù)據(jù)集,相應(yīng)的實(shí)驗(yàn)結(jié)果將用于驗(yàn)證DDBN 的有效性。同時,DDBN 的各個參數(shù)在不同的數(shù)據(jù)集上是獨(dú)立選取的,以便實(shí)驗(yàn)結(jié)果能夠驗(yàn)證DDBN 的最佳性能。實(shí)驗(yàn)是在Matlab R2014a 下進(jìn)行,操作系統(tǒng)為Windows 10,CPU 為Intel?CoreTMi3+3.70 GHz,4 GB內(nèi)存。
本實(shí)驗(yàn)使用了3 個基準(zhǔn)圖像數(shù)據(jù)集,MNIST[16]、USPS[17]和CIFAR-10[18]。MNIST 是一種流行的手寫數(shù)據(jù)集,該數(shù)據(jù)集所含樣本為0~9 的阿拉伯?dāng)?shù)字,均為手寫體,擁有60 000 個訓(xùn)練樣本和10 000 個測試樣本,每個圖像由28×28個像素組成;USPS是美國郵政服務(wù)手寫數(shù)字識別庫,包括9 298 個0~9 數(shù)字的手寫數(shù)字圖像,擁有7 291 個訓(xùn)練樣本和2 007 個測試樣本,均為16×16 像素;另外,CIFAR-10 數(shù)據(jù)集含有60 000個彩色圖像,包括50 000個訓(xùn)練樣本和10 000個測試樣本,它們被分為10類。CIFAR-10中的原始彩色圖像使用灰度化進(jìn)行預(yù)處理,每個圖像由32×32個像素組成。
本節(jié)將討論動態(tài)增減枝算法中的參數(shù)選擇,包括擬合曲線y(m)的曲率u,動態(tài)減枝算法中的閾值θA和δ(iter),以及增加隱藏層的閾值θL。本文使用圖像的分類準(zhǔn)確率測量DDBN 的性能。此外,這些參數(shù)在不同的數(shù)據(jù)集上是獨(dú)立選取的,以便實(shí)驗(yàn)結(jié)果能夠驗(yàn)證DDBN 的最佳性能。在預(yù)訓(xùn)練階段,批量大小為100,動量參數(shù)設(shè)為0,學(xué)習(xí)率為0.1,最大迭代次數(shù)設(shè)為100,每層RBM初始神經(jīng)元個數(shù)為10;在微調(diào)階段,批量大小為100,學(xué)習(xí)率為0.1,最大微調(diào)次數(shù)設(shè)為100。
首先討論的是擬合曲線y(m)的曲率u。當(dāng)u>1時,y(m)是一條單調(diào)遞減的凹曲線,并且u越大,曲線的曲率越大,從而使RBM 更容易增加新的神經(jīng)元。此外,ymax和ymin的值分別為1.2 和0.4。3 個數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果如圖7 所示??梢钥吹?,當(dāng)u的值較小時,由于缺乏隱藏層神經(jīng)元,網(wǎng)絡(luò)的特征提取能力較差;當(dāng)u的值較大時,過多的神經(jīng)元可能會導(dǎo)致過擬合,這兩種情況都會導(dǎo)致準(zhǔn)確度下降。比較了多組實(shí)驗(yàn)結(jié)果并選擇使實(shí)驗(yàn)結(jié)果最優(yōu)的u的值,此時,RBM 有適當(dāng)?shù)碾[藏層神經(jīng)元來提取特征。因此,在MNIST 數(shù)據(jù)集中u=3.9,在USPS 數(shù)據(jù)集中u=3.5,在CIFAR-10數(shù)據(jù)集中u=4.0。
Fig.7 Different values of u圖7 u的選取
然后討論的是動態(tài)減枝算法中的閾值θA和δ(iter)。需要說明的一點(diǎn)是,減枝不能提高分類準(zhǔn)確率,但它可以避免網(wǎng)絡(luò)的過擬合并且減少網(wǎng)絡(luò)的冗余并獲得一個緊湊的結(jié)構(gòu)。關(guān)于閾值的選取,做了一條關(guān)于減枝率和分類準(zhǔn)確率之間的權(quán)衡曲線。在每次迭代減枝中,將隱藏層神經(jīng)元激活概率的標(biāo)準(zhǔn)差進(jìn)行排序,通過移除標(biāo)準(zhǔn)差最小的x%個神經(jīng)元來獲得這條曲線,并選擇最優(yōu)的減枝率。再使用CD算法對剩余神經(jīng)元進(jìn)行重訓(xùn)練,重訓(xùn)練迭代次數(shù)設(shè)為50,然后對剩余神經(jīng)元進(jìn)行下一次減枝,即在本次減枝最優(yōu)結(jié)果的基礎(chǔ)上進(jìn)行下一次減枝。實(shí)驗(yàn)結(jié)果如圖8所示。
在MNIST 數(shù)據(jù)集中,可以看到,在iter-1 中移除20%的隱藏層神經(jīng)元而沒有損失準(zhǔn)確率,并且iter-2在iter-1 的基礎(chǔ)上又多移除10%的神經(jīng)元。但是,如果沒有進(jìn)行重訓(xùn)練而使用直接減枝,只能移除10%的神經(jīng)元。因此,加入重訓(xùn)練后的減枝移除的冗余神經(jīng)元數(shù)量是直接減枝的2.8 倍。同理,在USPS 數(shù)據(jù)集中,iter-1移除40%的神經(jīng)元,iter-2又多移除10%的神經(jīng)元,移除的冗余神經(jīng)元數(shù)量是直接減枝的1.5倍;在CIFAR-10 數(shù)據(jù)集中,iter-1 中移除20%的神經(jīng)元,iter-2中又多移除20%的神經(jīng)元,移除的冗余神經(jīng)元數(shù)量是直接減枝的1.8倍。同時,對比iter-1和直接減枝,可以發(fā)現(xiàn)在減枝率相同的情況下,iter-1的分類準(zhǔn)確率都要高于直接減枝,說明重訓(xùn)練能夠有效保留原始準(zhǔn)確率。實(shí)驗(yàn)結(jié)果證明重訓(xùn)練的有效性,并且閾值也可以根據(jù)權(quán)衡曲線選取最優(yōu)值。
最后討論增加隱藏層的閾值θL。在DDBN 中,只有在當(dāng)前RBM訓(xùn)練完成后才考慮增加新的RBM,并且新RBM 各參數(shù)的初始化與初始結(jié)構(gòu)相同,實(shí)驗(yàn)結(jié)果如表1所示。
Table 1 Experimental results of different values of θL表1 不同θL 取值的實(shí)驗(yàn)結(jié)果
根據(jù)實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn)隱藏層的數(shù)量并不是越多越好,因?yàn)檫^多的隱藏層可能會導(dǎo)致過擬合和特征消失的問題,并且降低準(zhǔn)確率。在MNIST 和CIFAR-10數(shù)據(jù)集中,θL的值都為-1 500,隱藏層層數(shù)分別為3 和2;在USPS 數(shù)據(jù)集中,θL的值為-1 000,隱藏層層數(shù)為2。
根據(jù)4.2節(jié)的實(shí)驗(yàn)結(jié)果選擇DDBN的最優(yōu)參數(shù),然后將DDBN 與多種網(wǎng)絡(luò)模型進(jìn)行對比,包括傳統(tǒng)的DBN、DAE,以及ADBN[2]和SODBN[6]。3 個數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果分別如表2、表3和表4所示。
在這3個實(shí)驗(yàn)中,DDBN的分類準(zhǔn)確率比傳統(tǒng)的DBN、DAE 以 及ADBN 和SODBN 都 要 高,說 明DDBN 模型可以更好地提取到原始數(shù)據(jù)的主要特征。在隱藏層層數(shù)相同時,DDBN 的測試時間最短,這表明通過動態(tài)減枝算法得到了一個更加緊湊的網(wǎng)絡(luò)結(jié)構(gòu)。DDBN中每一層RBM的初始神經(jīng)元個數(shù)都為10,因此訓(xùn)練時間比初始固定結(jié)構(gòu)的DBN和DAE都更短,并且準(zhǔn)確率更高,說明DDBN在訓(xùn)練時間上有了進(jìn)一步的提升,加快了訓(xùn)練的收斂速度。由于ADBN的算法結(jié)構(gòu)比較單一,缺乏對結(jié)構(gòu)調(diào)整的全局把握,因此不能得到一個最佳的網(wǎng)絡(luò)結(jié)構(gòu),但其訓(xùn)練時間最短。而DDBN 加入了重訓(xùn)練等操作,導(dǎo)致其訓(xùn)練時間比ADBN 更長,但分類準(zhǔn)確率要明顯高于ADBN。SODBN也可以得到較好的網(wǎng)絡(luò)結(jié)構(gòu)和分類準(zhǔn)確率,但由于其復(fù)雜的算法,訓(xùn)練時間也最長。
Fig.8 Trade-off curve of pruning phase圖8 減枝權(quán)衡曲線
Table 2 Comparison of experimental results of 5 models(MNIST)表2 5種模型的實(shí)驗(yàn)結(jié)果對比(MNIST)
Table 3 Comparison of experimental results of 5 models(USPS)表3 5種模型的實(shí)驗(yàn)結(jié)果對比(USPS)
Table 4 Comparison of experimental results of 5 models(CIFAR-10)表4 5種模型的實(shí)驗(yàn)結(jié)果對比(CIFAR-10)
訓(xùn)練過程中,DDBN 各層RBM 的神經(jīng)元數(shù)量變化情況如圖9所示。從圖中可以看出,在相同數(shù)據(jù)集中每層RBM的神經(jīng)元數(shù)量變化趨勢大致相同。通過增枝算法增加到最大值后,神經(jīng)元數(shù)量保持不變直到達(dá)到最大迭代次數(shù),說明本文選取的閾值是合理的,不會導(dǎo)致神經(jīng)元無限增長而造成無法收斂。然后再通過多次減枝和重訓(xùn)練,得到最終的網(wǎng)絡(luò)結(jié)構(gòu)。
綜上所述,DDBN 比現(xiàn)有的一些DBN 結(jié)構(gòu)調(diào)整方法具有更好的性能。
針對DBN無法根據(jù)不同的問題自動調(diào)整為合適的網(wǎng)絡(luò)結(jié)構(gòu)這一情況,本文提出了一種使用動態(tài)增減枝算法的動態(tài)DBN模型,可以有效優(yōu)化DBN的網(wǎng)絡(luò)結(jié)構(gòu)。該模型能夠根據(jù)不同的問題以及自身的訓(xùn)練情況,從局部和全局的角度考慮,在訓(xùn)練過程中動態(tài)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),包括隱藏層神經(jīng)元和隱藏層,從而增強(qiáng)網(wǎng)絡(luò)的特征提取能力,獲得更高的圖像分類準(zhǔn)確率。3 個基準(zhǔn)圖像數(shù)據(jù)集的實(shí)驗(yàn)對比顯示:DDBN模型的分類準(zhǔn)確率明顯高于傳統(tǒng)的DBN、DAE 模型以及現(xiàn)有的一些DBN 結(jié)構(gòu)調(diào)整方法,說明DDBN 可以自動調(diào)整為合適的網(wǎng)絡(luò)結(jié)構(gòu),更準(zhǔn)確地提取數(shù)據(jù)的主要特征,從而提高了分類準(zhǔn)確率。但是DDBN的參數(shù)較多,算法操作復(fù)雜,導(dǎo)致其缺乏了一定的魯棒性,并且時間復(fù)雜度也要高于某些DBN結(jié)構(gòu)調(diào)整方法。同時,本文提出的動態(tài)增減枝算法也可以應(yīng)用到其他的深度學(xué)習(xí)模型,如自動編碼機(jī)(autoencoder,AE)。因?yàn)锳E 的訓(xùn)練過程及網(wǎng)絡(luò)結(jié)構(gòu)都與DBN 相似,所以動態(tài)增減枝算法也可以用來調(diào)整AE的網(wǎng)絡(luò)結(jié)構(gòu),從而增加網(wǎng)絡(luò)的特征提取能力。但是本文算法并不適用于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)。
Fig.9 Changes in the number of each RBM neurons圖9 各層RBM神經(jīng)元數(shù)量變化
在接下來的研究工作中,將嘗試使用神經(jīng)元的輸入和輸出這個統(tǒng)一指標(biāo)來控制神經(jīng)元的增加或移除,獲取更佳的網(wǎng)絡(luò)結(jié)構(gòu),并探索在不降低準(zhǔn)確率的前提下簡化學(xué)習(xí)算法的方法,降低算法的空間復(fù)雜度和時間復(fù)雜度。