限制玻爾茲曼機(Restricted Boltzmann Machine)學習筆記(一)


一、限制玻爾茲曼機的感性認識

要回答這個問題大概還要從神經網絡說起。
(1)人工神經網絡(artificial neural network

一言以蔽之,人工神經網絡用於學習一個輸入到輸出的映射,通常由三層組成,輸入層,隱層和輸出層。
各層之間的每個連接都有一個權值,人工神經網絡的訓練過程就是學習這個權值。典型的,可以使用隨機梯度下降法。
(2)遞歸人工神經網絡(recurrent neural network

遞歸人工神經網絡的關鍵在於“遞歸”二字,其表現爲各節點可以形成一個有向環。
可以看到,遞歸神經網絡和普通的人工神經網絡最大不同爲各隱層節點之間也可以相互聯繫了,並組成有向環 的形式。
遞歸神經網絡的種類有很多,上圖所示爲"simple recurrent networks" (SRN)。
Hopfield網絡也是一種遞歸神經網絡。
(3)玻爾茲曼機
A graphical representation of an example Boltzmann machine.
如圖所示爲一個玻爾茲曼機,其藍色節點爲隱層,白色節點爲輸入層。
玻爾茲曼機和遞歸神經網絡相比,區別體現在以下幾點:
1、遞歸神經網絡本質是學習一個函數,因此有輸入和輸出層的概念,而玻爾茲曼機的用處在於學習一組數據的“內在表示”,因此其沒有輸出層的概念。
2、遞歸神經網絡各節點鏈接爲有向環,而玻爾茲曼機各節點連接成無向完全圖。
(4)限制玻爾茲曼機

限制玻爾茲曼機和玻爾茲曼機相比,主要是加入了“限制”(這不是廢話麼)。
所謂的限制就是,將完全圖變成了二分圖。如圖所示,限制玻爾茲曼機由三個顯層節點和四個隱層節點組成。
限制玻爾茲曼機可以用於降維(隱層少一點),學習特徵(隱層輸出就是特徵),深度信念網絡(多個RBM堆疊而成)等。


二、Hopfield網絡及能量函數

再談RBM之前,必須說一下Hopfield網絡。
Hopfield網絡是一種循環型神經網絡,如下圖:

對於Hopfield神經網絡來說,當信號輸入後,各神經元的狀態會不斷變化,最後趨於穩定,或呈現週期性震盪。
假設神經元i連接其它神經元j的權重爲w(i,j),則在Hopfield中,有W(i,i)=0,即神經元不與自己連接,W(i,j)=W(j,i),即權重矩陣對稱。
以上圖所示,假設輸入的變量爲(a1,a2,a3,a4),而在每一輪t神經元i的狀態用y(i,t)來表示,再假設神經元激發函數爲sigmod,其中激發界用t(i)表示,則容易得到以下遞推式
y(i,0)=sigmod(ai-t(i))
Hopfield模型(公式1)
這個公式什麼意思呢?簡而言之就是這個神經元在下一輪是否激發,依賴原始的輸入和其它神經元的反饋輸入,這樣整個神經元的狀態就呈現一個隨着時間進行變化的過程,而如果權值給定、輸入給定,這個變化過程是確定的。
假設對於任意輸入,對於任意節點i我們在有限的時刻內能得到y(i,t+1)=y(i,t),我們就說這個神經網絡是穩定的,可以證明,當神經元激發函數是有界連續的,且神經網絡各節點連接權重對陣,則Hopfield網絡一定是穩定的。
對於一個穩定的神經網絡。
我們定義“能量”的增量爲以下式子:
Hopfield模型
則根據公式1可以推導出來,節點j的能量增量是小於0的。(如何證明?考慮y取值只能是0或1,再考慮sigmod函數特性很容易得到)
所以我們就能把能量的增量再時間域上進行積分,得到每個節點的能量,再把所有節點的能量加起來,看得到這個神經網絡的能量。
推導出來的結果是這樣子的:
E = -\frac12\sum_{i,j}{w_{ij}{s_i}{s_j}}+\sum_i{\theta_i\ s_i}
可以看到,神經網絡的變化過程,實質是一個能量不斷減少的過程,最終達到能量的極小值點,也就是穩態。

總結一下就是:遞歸神經網絡由於其結構特性,神經元狀態可隨時間而變化,將此過程可以抽象成能量遞減過程,變化最終會導致穩態,此穩態爲能量極小值點。


(未完待續)


參考資料:
http://en.wikipedia.org/wiki/Restricted_Boltzmann_machine
http://wenku.baidu.com/view/735f472a647d27284b7351dd.html
http://www.zhihu.com/question/22981388/answer/23259540
http://blog.sina.com.cn/s/blog_631475300100oo93.html







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章