受限玻爾茲曼機與深度信念網絡

1 受限玻爾茲曼機(RBM)

1.1 RBM的結構

RBM是無監督學習模型,有兩個層的淺層神經網絡,一個可見層,一個隱藏層,是一種用於降維、分類、迴歸、協同過濾、特徵學習和主題建模的算法,它是組成深度置信網絡的基礎部件。
RBM的結構如下所示:
這裏寫圖片描述

1  RBM

圖中,藍色節點表示可見層,紅色節點表示隱藏層。在運算過程中,相關的變量定義如下:
可見層的狀態向量: v=(v1,v2,...,vnv)T
隱藏層的狀態向量: h=(h1,h2,...,hnh)T
可見層的偏置向量: bv=(bv1,bv2,...,bvnv)T
隱藏層的偏置向量: bh=(bh1,bh2,...,bhnh)T
隱藏層和可見層之間的權值矩陣: W=(wi,j)Rnh×nv
wi,jij
前向運算通過公式:
f((wx)+b)=a
計算得到

1.2 RBM的重構

RBM是無監督學習模型,因此,RBM是通過重構之後得到的對樣本的估計與樣本的真實值之間的誤差進行學習的。重構過程如下:
這裏寫圖片描述

2  RBM

從隱藏層開始運算,將之前前向運算得到的激活值a作爲反向傳遞中的輸入,這些輸入值與同樣的權重相乘,每兩個相連的節點之間各有一個權重,就像正向傳遞中輸入x的加權運算一樣。這些乘積的和再與每個可見層的偏差相加,所得結果就是重構值。
由於一般RBM的隱藏層的神經元個數會比可見層的神經元個數少,而在反向運算中,較少神經元的隱藏層又能夠近似復現原始可見層的輸入,因此,可以認爲前向運算是對輸入信號的編碼,特徵提取的過程,而反向運算是解碼的過程。

1.3 RBM特點總結

關於RBM的特點總結如下:

  • 兩層,一個可見層,一個隱藏層
  • 層間全連接,層內不連接
  • 前向運算是編碼,反向運算是解碼
  • 前向和反向使用同一組權重

2 深度信念網絡(DBN)

2.1 DBN的結構

下圖是經典的DBN網絡結構:
這裏寫圖片描述

3  DBN

從圖中可知,DBN是通過一個一個RBM堆疊起來的,由於RBM的作用主要在於特徵提取和降維,因此,在RBM的最後會加一個分類器,如BP網絡。上一層的RBM訓練完之後,上一層的RBM的隱藏層作爲下一層RBM的可見層,這樣一層一層訓練下去。由於RBM能夠對數據降維,提取得到數據中的特徵,DBN通過將多個RBM進行堆疊,具有很好的特徵提取能力。同時,由於在一開始的時候就對RBM進行預訓練,因此在最後整體訓練學習時,會較好的避開局部最優,較快的完成訓練。

2.2 DBN訓練過程

這裏寫圖片描述

4  DBN

DBN的訓練過程爲:
首先把數據向量x和第一層隱藏層作爲一個RBM, 訓練出這個RBM的參數(連接x和h1的權重, x和h1各個節點的偏置等等), 然後固定這個RBM的參數, 把h1視作可見向量, 把h2視作隱藏向量, 訓練第二個RBM, 得到其參數, 然後固定這些參數, 訓練h2和h3構成的RBM。如此依次進行訓練。
由於每一層 RBM 網絡只能確保自身層內的 權值對該層特徵向量映射達到最優,並不是對整個 DBN 的特徵向量映射達到最優,因此,在一層一層訓練好RBM之後,需要在整個網絡上進行訓練,通過反向傳播算法來微調整個 DBN 網絡。
由於一開始訓練RBM的時候就是進行預訓練的過程,因此在最後整體微調時,能夠克服陷入局部最小值的缺點,並且減少訓練收斂時間。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章