受限波尔兹曼机
1. ?概述
? ? ? ?前面描述的神經(jīng)網(wǎng)絡模型是一種確定的結構。而波爾茲曼網(wǎng)絡是一種隨機網(wǎng)絡。如何來描述一個隨機網(wǎng)絡呢?很多書上有大量的篇幅介紹其原理。這里把它總結為以下兩點。
? ? ?
? ? ? ? 第一,概率分布函數(shù)。由于網(wǎng)絡節(jié)點的取值狀態(tài)是隨機的,從貝葉斯網(wǎng)的觀點來看,要描述整個網(wǎng)絡,需要用三種概率分布來描述系統(tǒng)。即聯(lián)合概率分布,邊緣概率分布和條件概率分布。要搞清楚這三種不同的概率分布,是理解隨機網(wǎng)絡的關鍵,這里向大家推薦的書籍是張連文所著的《貝葉斯網(wǎng)引論》。很多文獻上說受限波爾茲曼是一個無向圖,這一點也有失偏頗。從貝葉斯網(wǎng)的觀點看,受限波爾茲曼網(wǎng)應該是一個雙向的有向圖。即從輸入層節(jié)點可以計算隱層節(jié)點取某一種狀態(tài)值的概率,反之亦然.
?
? ? ? ? 第二,能量函數(shù)。隨機神經(jīng)網(wǎng)絡是根植于統(tǒng)計力學的。受統(tǒng)計力學中能量泛函的啟發(fā),引入了能量函數(shù)。能量函數(shù)是描述整個系統(tǒng)狀態(tài)的一種測度。系統(tǒng)越有序或者概率分布越集中,系統(tǒng)的能量越小。反之,系統(tǒng)越無序或者概率分布越趨于均勻分布,則系統(tǒng)的能量越大。能量函數(shù)的最小值,對應于系統(tǒng)的最穩(wěn)定狀態(tài)。
?
2. 網(wǎng)絡結構和學習算法
? ? 2.1 ?RBM網(wǎng)絡結構如下:
? ? ? ? ? ? ? ? ? ? ? ??
?
? ? ?正如前面我們提到的,描述RBM的方法是能量函數(shù)和概率分布函數(shù)。實際上,把它們二者結合起來,也就是概率分布是能量函數(shù)的泛函,其能量泛函和聯(lián)合概率分布如下:
?
? ? ? ? ? ? ? ? ? ? ? ? ?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
其中,上式中的Z是歸一化系數(shù),它的定義如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ?
而輸入層的邊緣概率,是我們感興趣的,它的計算如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
因為,網(wǎng)絡學習的目的是最大可能的擬合輸入數(shù)據(jù)。根據(jù)極大似然學習法則,我們的目的就是對所以的輸入,極大化上面的公式(4),公式4在統(tǒng)計學里也稱作似然函數(shù),更多的我們對其取對數(shù),也就是對數(shù)似然函數(shù),考慮所有的輸入樣本,其極大化對數(shù)似然函數(shù)的定義如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? (5)
? ? ? ? ? ? ?注意,上面的公式中,多了個theta。theta就是網(wǎng)絡的權值,包括公式(1)中的w,a,b,是網(wǎng)絡學習需要優(yōu)化的參數(shù)。其實在上面所有的公式中都有theta這個變量,只是為了便于描述問題,我把它們都給抹掉了。
?
?2.2 ?對比度散度學習算法
?
? ? ? ? ?根據(jù)公式5,逐步展開,運用梯度下降策略,可以推導出網(wǎng)絡權值的更新策略如下:
?
? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ??
? ? ? ? ? 其中,第一項,是給定樣本數(shù)據(jù)的期望,第二項是模型本身的期望。數(shù)據(jù)的期望,很容易計算,而模型的期望不能直接得到。一種典型的方法是通過吉布斯采樣得到,而Hinton提出了一種快速算法,稱作contrastive divergence算法。這種算法只需迭代k次,就可以獲得對模型的估計,而通常k等于1. CD算法在開始是用訓練數(shù)據(jù)去初始化可見層,然后用條件分布計算隱層;然后,再根據(jù)隱層,同樣,用條件分布來計算可見層。這樣產(chǎn)生的結果是對輸入的一個重構。CD算法將上述公式6表示為:
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
?
?
具體算法流程可以看參考西安交大 張春霞等人的論文。
?
? ? ? ? 另外,網(wǎng)絡上很多講波爾茲曼機的文獻都提到了模擬退火算法,但是在受限玻爾茲曼機里面卻木有提到。個人認為是網(wǎng)絡能量函數(shù)的定義里面對退火溫度默認為1了。如果這個溫度不是1,則應該在能量函數(shù)里面加上當前迭代的退火溫度T,這時候,網(wǎng)絡參數(shù)的學習率將會是一個逐步衰減的過程。Persistent Contrastivedivergence算法的迭代過程學習率是一個逐步衰減的過程,可以認為是考慮了退火過程的算法。
轉載于:https://www.cnblogs.com/deeplearningfans/p/3785113.html
總結
- 上一篇: 新架设了一个CVS服务器 --by yp
- 下一篇: 【作业4】朗途职业规划测试