本發(fā)明涉及深度神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練方法,尤其涉及一種受限玻爾茲曼機(jī)的訓(xùn)練方法。
背景技術(shù):
深度學(xué)習(xí)在語(yǔ)音識(shí)別,圖像識(shí)別,自然語(yǔ)言處理等傳統(tǒng)人工智能技術(shù)領(lǐng)域,以及計(jì)算技術(shù)與醫(yī)療,制造業(yè)和運(yùn)輸業(yè)的新興交叉領(lǐng)域有著廣闊的應(yīng)用。目前常用的深度學(xué)習(xí)框架中,深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)作為一種生成模型,通過(guò)無(wú)監(jiān)督預(yù)訓(xùn)練調(diào)整模型參數(shù),可以為深度神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練提供較好的初始參數(shù)。因此深度信念網(wǎng)絡(luò)的訓(xùn)練在深度學(xué)習(xí)問(wèn)題中有著重要的意義。深度信念網(wǎng)絡(luò)是由一種叫受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)的模型構(gòu)成的,研究深度信念網(wǎng)絡(luò)的訓(xùn)練,可以從受限玻爾茲曼機(jī)的訓(xùn)練著手。
受限玻爾茲曼機(jī)是深度神經(jīng)網(wǎng)絡(luò)的重要組成部分。目前廣泛應(yīng)用的RBM訓(xùn)練方法是對(duì)比散度(Contrastive Divergence,CD)法,它是最大似然方法(Maximum Likelihood,ML)方法的一種近似方法。不論是對(duì)比散度法還是最大似然法都是基于梯度下降的訓(xùn)練算法,這類算法的優(yōu)化效率強(qiáng)烈依賴于問(wèn)題的下水平集。在遇到問(wèn)題本身下水平集病態(tài)的時(shí)候,如Rosenbrock優(yōu)化問(wèn)題,這類算法的收斂速度就非常緩慢。事實(shí)上,甚至當(dāng)下水平集的條件數(shù)適中的時(shí)候,這類優(yōu)化算法的效率就幾乎會(huì)隨著下水平集條件數(shù)的增加而線性下降。并且這類算法沒(méi)有對(duì)于問(wèn)題規(guī)模的一個(gè)很好的度量,達(dá)到收斂所需要的迭代次數(shù)往往會(huì)隨著問(wèn)題規(guī)模的變大而大量的增加。
信息幾何理論為人們研究玻爾茲曼機(jī)訓(xùn)練過(guò)程的幾何特性提供了完備統(tǒng)一的數(shù)學(xué)工具和分析方法。日本統(tǒng)計(jì)學(xué)家Amari等人在1992年針對(duì)一般玻爾茲曼機(jī)提出了基于信息幾何理論的em算法(迭代映射算法),并證明其與EM算法在大多數(shù)情形下的等效性。
技術(shù)實(shí)現(xiàn)要素:
受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)作為基礎(chǔ)構(gòu)件廣泛應(yīng)用于各種深度學(xué)習(xí)模型中。針對(duì)玻爾茲曼機(jī)訓(xùn)練中的病態(tài)問(wèn)題,本發(fā)明提供了一種基于擬牛頓方法(Quasi-Newton)的訓(xùn)練方法,將以em算法為基礎(chǔ),利用并設(shè)計(jì)擬牛頓方法訓(xùn)練RBM,以解決傳統(tǒng)RBM訓(xùn)練過(guò)程中的下水平集病態(tài)問(wèn)題。本發(fā)明利用基于曲率信息的二階優(yōu)化算法可以提高訓(xùn)練算法對(duì)于病態(tài)問(wèn)題的魯棒性,并且加速迭代映射方法。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種基于擬牛頓方法的受限玻爾茲曼機(jī)迭代映射訓(xùn)練方法,主要包括:初始化受限玻爾茲曼機(jī)參數(shù),生成子訓(xùn)練樣本,通過(guò)子訓(xùn)練過(guò)程更新受限玻爾茲曼機(jī)直到收斂;具體步驟如下:
步驟一、初始化受限玻爾茲曼機(jī)參數(shù)ξ0;
步驟二、在給定樣本x的情形下,利用當(dāng)前受限玻爾茲曼機(jī)的條件分布pi(h|x;ξi)生成隱含節(jié)點(diǎn)的樣本h(i),將樣本x和h(i)連接生成樣本(x,h(i)),其中,i=0,1,2,…;
步驟三、利用樣本(x,h(i))通過(guò)下述的子訓(xùn)練階段得到子訓(xùn)練中的受限玻爾茲曼機(jī)的參數(shù)α*;其中,子訓(xùn)練階段內(nèi)容如下:
3-1)初始化子訓(xùn)練階段受限玻爾茲曼機(jī)的參數(shù)α0;
3-2)利用樣本(x,h(i))進(jìn)行吉布斯采樣,求得
3-3)利用Newton方法在當(dāng)前參數(shù)αj的鄰域內(nèi)將目標(biāo)方程按二階泰勒公式展開(kāi):
式(1)中,αj+1=αj+t,D(·)為目標(biāo)函數(shù),即為KL散度;為目標(biāo)函數(shù)的梯度,H為Hessian矩陣;t是迭代變化量;
對(duì)式(1)兩邊求導(dǎo)后,得到式(2):
采用有限差方法,利用式(3),求得矩陣向量積Ht:
式(3)中,η為學(xué)習(xí)率;
根據(jù)上述得到的近似梯度和矩陣向量積Ht,采用迭代共軛梯度法來(lái)求解式(2),迭代求出t*,即最優(yōu)的迭代變化量,在此過(guò)程中產(chǎn)生一個(gè)迭代序列:{tk},k=1,2…;
3-4)判斷殘差是否達(dá)到指定精度,若達(dá)到,則進(jìn)行3-5),否則,返回步驟3-3);
3-5)利用步驟3-3)求得的t*更新子訓(xùn)練階段受限玻爾茲曼機(jī)的參數(shù):αj+1=αj+t*;
3-6)重復(fù)執(zhí)行步驟3-2)至3-5)直到達(dá)到式(4)所示的收斂條件,子訓(xùn)練結(jié)束,得到的受限玻爾茲曼機(jī)的參數(shù)為α*;
式(4)中,ρ為次優(yōu)性閾值;
步驟四、將參數(shù)α*替換整體訓(xùn)練中的參數(shù)ξi+1,即ξi+1=α*;判斷是否滿足式(5)所示的收斂條件,若滿足,整體訓(xùn)練結(jié)束,若未滿足,令i=i+1,重復(fù)執(zhí)行步驟二和步驟三;
||ξi+1-ξi||<∈ (5)
式(5)中,∈為設(shè)置的精度閾值;至此得到反映給定樣本數(shù)據(jù)x內(nèi)部特征的受限玻爾茲曼機(jī)。
與現(xiàn)有技術(shù)相比,通過(guò)實(shí)驗(yàn)印證本發(fā)明的有益效果是:
實(shí)驗(yàn)設(shè)置:隨機(jī)設(shè)定真實(shí)概率分布:q(x),其中隨機(jī)變量x為10維布爾型向量。依據(jù)真實(shí)分布q(x),隨機(jī)采樣獲得仿真數(shù)據(jù)。仿真數(shù)據(jù)的規(guī)模(sample size)為50到500不等。根據(jù)樣本,訓(xùn)練RBM估計(jì)概率分布,最終RBM與真實(shí)分布q(x)之間的KL散度作為評(píng)價(jià)指標(biāo)。
對(duì)比方法:
1.隨機(jī)梯度下降算法(SGD):傳統(tǒng)的一階梯度算法,這里實(shí)驗(yàn)使用CD-1算法。
2.Hessian-free算法(HF):傳統(tǒng)的二階梯度算法。
3.迭代映像算法(IP):IP算法的子訓(xùn)練過(guò)程采用傳統(tǒng)一階梯度算法
4.本發(fā)明中提出的基于擬牛頓優(yōu)化的IP算法(IPQN):IP算法的子訓(xùn)練過(guò)程采用擬牛頓方法。
實(shí)驗(yàn)結(jié)果:如圖4所示,本發(fā)明IPQN方法獲得最優(yōu)的密度估計(jì)效果。HF方法雖然也是二階梯度算法,但其效果比一階梯度算法差,這說(shuō)明RBM的訓(xùn)練是非凸優(yōu)化問(wèn)題,不利于實(shí)施二階梯度方法。同時(shí),IP算法和IPQN算法,優(yōu)于傳統(tǒng)的一階梯度算法和二階梯度算法,說(shuō)明基于信息幾何的IP算法框架的優(yōu)勢(shì)。最后,通過(guò)對(duì)比IP和IPQN,IPQN效果優(yōu)于IP方法,表明了擬牛頓方法優(yōu)于傳統(tǒng)一階梯度方法。為了進(jìn)一步對(duì)比IP和IPQN,圖5-1至圖5-6展示了IP和IPQN兩種方法在不同樣本規(guī)模時(shí)的收斂速度,IPQN收斂速度在小樣本上(樣本規(guī)模為50-300)顯著優(yōu)于IP算法,當(dāng)樣本規(guī)模增大時(shí),IPQN與IP的收斂速度漸漸趨于相同。
附圖說(shuō)明
圖1是本發(fā)明中迭代映射方法的整體訓(xùn)練流程;
圖2是本發(fā)明中迭代映射方法的ΓB(q)階段子訓(xùn)練流程;
圖3是本發(fā)明提供的樣本的迭代映射法;
圖4是密度估計(jì)實(shí)驗(yàn)曲線;
圖5-1至圖5-6分別是IP與IPQN在不同樣本規(guī)模下的收斂速度對(duì)比,其中:
圖5-1反映的是樣本規(guī)模為50的IP與IPQN的收斂速度對(duì)比;
圖5-2反映的是樣本規(guī)模為100的IP與IPQN的收斂速度對(duì)比;
圖5-3反映的是樣本規(guī)模為200的IP與IPQN的收斂速度對(duì)比;
圖5-4反映的是樣本規(guī)模為300的IP與IPQN的收斂速度對(duì)比;
圖5-5反映的是樣本規(guī)模為400的IP與IPQN的收斂速度對(duì)比;
圖5-6反映的是樣本規(guī)模為500的IP與IPQN的收斂速度對(duì)比。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明技術(shù)方案作進(jìn)一步詳細(xì)描述,所描述的具體實(shí)施例僅對(duì)本發(fā)明進(jìn)行解釋說(shuō)明,并不用以限制本發(fā)明。
本發(fā)明的設(shè)計(jì)思路是:提供一種基于信息幾何理論的迭代映射訓(xùn)練方法(iterative projection,IP),用于訓(xùn)練受限玻爾茲曼機(jī),以減輕波爾茲曼及訓(xùn)練中的病態(tài)問(wèn)題。進(jìn)一步的,在IP方法中,利用基于曲率信息的二階優(yōu)化算法提高訓(xùn)練對(duì)于病態(tài)問(wèn)題的魯棒性,并且加速迭代映射方法。
在說(shuō)明迭代映射方法之前,先對(duì)信息幾何的一些知識(shí)進(jìn)行說(shuō)明。RBM是一種特殊的玻爾茲曼機(jī),RBM將節(jié)點(diǎn)之間的連接限制在隱含節(jié)點(diǎn)和可見(jiàn)節(jié)點(diǎn)之間,即hi,hj∈h有那么受限玻爾茲曼機(jī)的參數(shù)ξrbm={W,b,d},其中W表示可見(jiàn)節(jié)點(diǎn)和隱含節(jié)點(diǎn)的邊權(quán),b和d分別表示可見(jiàn)節(jié)點(diǎn)和隱含節(jié)點(diǎn)的偏置。
本發(fā)明中,將RBM的所有結(jié)點(diǎn)狀態(tài)(x,h)的可能的聯(lián)合分布q(x,h)組成的流形寫作Sxh,利用信息幾何中的多元布爾概率分布族的p-坐標(biāo)和θ-坐標(biāo)的如下關(guān)系:
可以得到流形Sxh的θ-坐標(biāo)就是:
再根據(jù)η-坐標(biāo)和θ-坐標(biāo)的雙射關(guān)系,可以得到2階混合坐標(biāo)[ζ]2和分塊混合坐標(biāo)[ζxh]:
在給定樣本x的情形下,設(shè)Hq是所有Sxh上的概率分布中具有相同邊緣分布q(x)的聯(lián)合分布q(x,h)的集合,而h的條件概率q(h|x)可以看作由某一RBM來(lái)確定,此RBM的參數(shù)為ξrbm,那么Hq的形式化描述如下:
那么RBM的θ-坐標(biāo)可以表示為:
其中,對(duì)應(yīng)b,對(duì)應(yīng)d,對(duì)應(yīng)W,將RBM確定的Sxh的子流形寫作B。簡(jiǎn)言之,受限玻爾茲曼機(jī)的訓(xùn)練實(shí)際上就轉(zhuǎn)換為尋找到子流形B上的一個(gè)分布使得它可以最好的近似聯(lián)合分布q(x,h)。
使用KL-散度來(lái)衡量?jī)蓚€(gè)分布之間的相似程度:
如圖1和圖3所示,給定樣本x和初始RBM的分布首先,需要尋找與此最接近的Hq上的分布qi+1(x,h),即Hq上關(guān)于的最佳近似可以證明這一步只需要令Hq中的即可。
接下來(lái),根據(jù)求得的qi+1(x,h),再尋找與qi+1(x,h)最接近的B上的分布即ΓB(qi+1(x,h)),這一步可以通過(guò)最小化D(qi+1(x,h),B)來(lái)獲得,也就相當(dāng)于重新訓(xùn)練一個(gè)RBM并求出此時(shí)的可以證明這樣的是唯一的,并且此時(shí)ΓB(qi+1(x,h))的坐標(biāo)就是:
IP算法的實(shí)際實(shí)施如圖1所示:
首先,初始化受限玻爾茲曼機(jī)參數(shù)ξ0。
接著,在給定樣本x的情形下,利用當(dāng)前受限玻爾茲曼機(jī)的條件分布pi(h|x;ξi)生成隱含節(jié)點(diǎn)的樣本h(i),將樣本x和h(i)連接生成樣本(x,h(i)),其中,i=1,2,…。這一步的采樣過(guò)程和ML方法的正采樣類似,都是在給定樣本x和當(dāng)前RBM的參數(shù)ξi的情形下,生成樣本h(i)。
最后,利用樣本(x,h(i))通過(guò)子訓(xùn)練階段得到整體訓(xùn)練中的受限玻爾茲曼機(jī)的參數(shù)ξi+1。重復(fù)執(zhí)行之前步驟,直至達(dá)到下述收斂條件:
||ξi+1-ξi||<∈
∈為設(shè)置的精度閾值;整體訓(xùn)練結(jié)束。在RBM的更新階段,IP方法采用一個(gè)子訓(xùn)練過(guò)程來(lái)更新參數(shù),通過(guò)生成的樣本(x,h(i))來(lái)訓(xùn)練一個(gè)新的RBM,而ML則通過(guò)梯度下降法直接更新參數(shù)。
上面所述IP方法存在一個(gè)子訓(xùn)練階段ΓB(q),如圖2所示,由于該訓(xùn)練階段只存在一個(gè)最優(yōu)點(diǎn),即這個(gè)訓(xùn)練過(guò)程是一個(gè)凸優(yōu)化的過(guò)程,其Hessian矩陣是半正定矩陣,可以采用一些基于二階曲率信息的方法來(lái)加速ΓB(q)的訓(xùn)練。Newton方法就是一種很好的二階優(yōu)化方法。并且在優(yōu)化過(guò)程中出現(xiàn)病態(tài)問(wèn)題時(shí),Newton方法所受的影響遠(yuǎn)小于梯度下降法。為了區(qū)分子訓(xùn)練階段和整體訓(xùn)練階段,這里將模型參數(shù)寫作α。
首先,初始化子訓(xùn)練階段受限玻爾茲曼機(jī)的參數(shù)α0;
隨后,利用樣本(x,h(i))進(jìn)行吉布斯采樣,求得近似梯度D(·)為目標(biāo)函數(shù),這里
具體為KL散度,為目標(biāo)函數(shù)的梯度;
接著,利用Newton方法在當(dāng)前參數(shù)αj的鄰域內(nèi)將目標(biāo)方程按二階泰勒公式展開(kāi):
其中,αj+1=αj+t,H為Hessian矩陣;然后,要求出在鄰域內(nèi)的極小值點(diǎn)t*,并認(rèn)為此極小值點(diǎn)也會(huì)同樣帶來(lái)原目標(biāo)方程的下降,該方法只能用來(lái)解決凸優(yōu)化問(wèn)題,即Hessian矩陣必須半正定。容易發(fā)現(xiàn)等式右邊是關(guān)于t的二次函數(shù),因此要求其極小值點(diǎn),只要解方程:
使用Newton方法優(yōu)化D(α),訓(xùn)練本身對(duì)于下水平集的條件數(shù)將變得更加不敏感,并且當(dāng)梯度小于某一閾值之后,優(yōu)化將會(huì)呈現(xiàn)二次收斂,僅僅需要4-5次迭代就可以得到極高的精度。
但是在目標(biāo)方程為KL-散度時(shí)(一般情形下都是如此),并不容易求出目標(biāo)方程的Hessian矩陣(二階導(dǎo)數(shù)),因此采用Hessian-Free(以下簡(jiǎn)寫為HF)的擬Newton方法來(lái)進(jìn)行優(yōu)化。
根據(jù)上文,利用樣本(x,h(i))進(jìn)行吉布斯采樣,可以求得近似梯度而本發(fā)明采用有限差方法可以求得矩陣向量積Ht:
其中η為學(xué)習(xí)率;共軛梯度法可以在知道Htk和的條件下,迭代求出t*,此過(guò)程中會(huì)產(chǎn)生一個(gè)迭代序列{tk},k=1,2…,使用共軛梯度法來(lái)解這一方程相當(dāng)于是使用解析的方法,因?yàn)榈^(guò)程中,殘差將會(huì)在迭代開(kāi)始的前幾步就得到非常大的下降。
之后,利用求得的t*更新子訓(xùn)練階段RBM的參數(shù):αj+1=αj+t*。
重復(fù)執(zhí)行以上子訓(xùn)練步驟直至達(dá)到收斂條件,ρ為次優(yōu)性閾值,子訓(xùn)練結(jié)束。
假設(shè)qi+1表示(x,h)的聯(lián)合分布,而pi+1和p′i+1分別表示使用IP和ML方法更新參數(shù)之后的靜態(tài)分布。選擇合適的學(xué)習(xí)速率,ML方法可以取得KL散度的適當(dāng)下降,即D[qi,pi]≥D[qi+1,p′i+1];而對(duì)于IP方法而言,由于pi+1是qi+1在B上的投影,因此D[qi+1,p′i+1]≥D[qi+1,pi+1],因此ML方法只有在最好的情形下才能達(dá)到IP方法的精度。而子訓(xùn)練的過(guò)程利用基于曲率信息的二階優(yōu)化算法,提高了算法對(duì)病態(tài)問(wèn)題的魯棒性,并加速迭代映射的過(guò)程。
盡管上面結(jié)合附圖對(duì)本發(fā)明進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨的情況下,還可以做出很多變形,這些均屬于本發(fā)明的保護(hù)之內(nèi)。