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