【基礎算法】受限玻爾茲曼機●RBM

所謂概率圖模型,就是指運用了概率和圖這兩種工具創建的模型(逐漸忘記標題),咳咳,今天講一下限制玻爾茲曼機,或者叫做受限玻爾茲曼機,這個名字起的真是,。。,好的,咳咳

所謂玻爾茲曼機,就是就是玻爾茲曼家的機,就是說玻爾茲曼這個人發明了一種模型,一種機器,所以叫做玻爾茲曼機器,簡稱玻爾茲曼機。而受限玻爾茲曼機和玻爾茲曼機有什麼區別呢?顧名思義,受限玻爾茲曼機多了個限制,那是哪裏限制了呢?原來在玻爾茲曼機裏,隱變量和觀測變量這兩種節點之間是沒有差別的,每個節點都和其他的節點相連,如下圖:
在這裏插入圖片描述
受限玻爾茲曼機中的變量也分爲隱藏變量和可觀測變量。我們分別用可觀測層和隱藏層來表示這兩組變量。同一層中的節點之間沒有連接,而不同層一個層中的節點與另一層中的所有節點連接,這和兩層的
全連接神經網絡的結構相同。
在這裏插入圖片描述
在這裏插入圖片描述
當然,也可以站着,像下面這樣
在這裏插入圖片描述

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

在這裏插入圖片描述
所以:
公式1
Y5=fX4×W45+X3×W35+X2×W25+X1×W15+b5 輸出Y_5 = 激活函數f(X_4 \times W_{45} + X_3 \times W_{35} + X_2 \times W_{25} + X_1 \times W_{15} + b_5)
公式2
X1=fY5×W51+Y6×W61+Y7×W71+a1 輸出X1 = 激活函數f(Y_5 \times W_{51} + Y_{6} \times W_{61} + Y_{7} \times W_{71} + a_{1})

現在主要講一下計算過程,根據以上公式1, 將Y5 ~ Y7都算出來,也就是將隱含層的值都算出來了,再根據隱含層的值,根據公式2,反推計算出重構值:X‘1 ~ X’4, 根據X‘1 ~ X’4再計算出Y‘5~Y’6,根據XX‘的差值,進行反向傳播,並更新權重和偏置(w, a, b),根據YY‘的差值,也進行反向傳播,同理更新權重和偏置(線調上的是權重,圓圈裏的是偏置),經過數次的計算和更新,反覆的循環,直到XX‘YY‘近乎相等爲止,此時便構建好了限制玻爾茲曼機的模型。

由於一般RBM的隱藏層的神經元個數會比可見層的神經元個數少,而在反向運算中,較少神經元的隱藏層又能夠近似復現原始可見層的輸入,因此,可以認爲前向運算是對輸入信號的編碼,特徵提取的過程,而反向運算是解碼的過程。

關於RBM的特點總結如下:

  • 兩層,一個可見層,一個隱藏層
  • 層間全連接,層內不連接
  • 前向運算是編碼,反向運算是解碼
  • 前向和反向使用同一組權重
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章