限制玻爾茲曼機

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

要回答這個問題大概還要從神經網絡提及。
(1)人工神經網絡( artificial neural network
一言以蔽之,人工神經網絡用於學習一個輸入到輸出的映射,一般由三層組成,輸入層,隱層和輸出層。
各層之間的每一個鏈接都有一個權值,人工神經網絡的訓練過程就是學習這個權值。典型的,可使用隨機梯度降低法。
(2)遞歸人工神經網絡(recurrent neural network)
遞歸人工神經網絡的關鍵在於「遞歸」二字,其表現爲各節點能夠造成一個有向環。
能夠看到,遞歸神經網絡和普通的人工神經網絡最大不一樣爲各隱層節點之間也能夠相互聯繫了,並組成有向環 的形式。
遞歸神經網絡的種類有不少,上圖所示爲"simple recurrent networks" (SRN)。
Hopfield網絡也是一種遞歸神經網絡。
(3)玻爾茲曼機
A graphical representation of an example Boltzmann machine.
如圖所示爲一個玻爾茲曼機,其藍色節點爲隱層,白色節點爲輸入層。
玻爾茲曼機和遞歸神經網絡相比,區別體如今如下幾點:
一、遞歸神經網絡本質是學習一個函數,所以有輸入和輸出層的概念,而玻爾茲曼機的用處在於學習一組數據的「內在表示」,所以其沒有輸出層的概念。
二、遞歸神經網絡各節點連接爲有向環,而玻爾茲曼機各節點鏈接成無向徹底圖。
(4)限制玻爾茲曼機
限制玻爾茲曼機和玻爾茲曼機相比,主要是加入了「限制」(這不是廢話麼)。
所謂的限制就是,將徹底圖變成了二分圖。如圖所示,限制玻爾茲曼機由三個顯層節點和四個隱層節點組成。
限制玻爾茲曼機能夠用於降維(隱層少一點),學習特徵(隱層輸出就是特徵),深度信念網絡(多個RBM堆疊而成)等。
 
 

2、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
 
博客:http://blog.csdn.net/itplus/article/details/19168989,具體內容
相關文章
相關標籤/搜索