深度学习基础(四)—— RBM(受限波尔滋曼机)
如果神經網絡的初值選取的不好的話,往往會陷入局部最小值。實際應用表明,如果把 RBM 訓練得到的權值矩陣和 bias 作為 BP 神經網絡的初始值,得到的結果會非常好。其實,RBM 最主要的用途還是用來降維。
-
(1)RBM 屬于 unsupervised learning
用于非監督學習的神經網絡主要有以下三個:
- RBM
- Autoencoders
- sparse coding model
-
(2)RBM 網絡共有兩層,Visible Layer ? Hidden Layer
-
(3)deep learning 中一個重要網絡結構 DBN,便是由 RBM 網絡疊加而成(Autoencoder ? Stacked Autoencoder),
就像模擬退火算法,RBM 也是一個受物理學啟發而提出的模型。
一個事物有相應的穩態,如在一個碗內的小球會停留在碗底,即使受到擾動偏離了碗底,在擾動消失后,它會回到碗底。學過物理的人都知道,穩態是它勢能最低的狀態。因此穩態對應與某一種能量的最低狀態。將這種概念引用到 Hopfield 網絡中去,Hopfield 為此構造了一種能量函數的定義。這是他所作的一大貢獻。引進能量函數概念可以進一步加深對這一類動力系統性質的認識,可以把求穩態變成一個求極值與優化的問題,從而為 Hopfield 網絡找到一個解優化問題的應用。
RBM網絡共有 2 層,
- 其中第一層稱為可視層(visible units),一般來說是輸入層,
- 另一層是隱含層(hidden units),也就是我們一般指的特征提取層。
在一般的文章中,都把這2層的節點看做是二值(binary)的,也就是只能取0或1,當然了,RBM中節點是可以取實數值的,這里取二值只是為了更好的解釋各種公式而已。設計一個網絡結構后,接下來就應該想方設法來求解網絡中的參數值。而這又一般是通過最小化損失函數值來解得的。那么在RBM網絡中,
- 我們的損失函數的表達式是什么呢,
- 損失函數的偏導函數又該怎么求呢?
energy function
-
(1)Energy function
E(x,h)=?hTWx?cTx?bTh
-
(2)distribution
p(x,h)=e?E(x,h)Z=ehTWxecTxebTh/Z
inference
-
(1) p(h|x)
p(h|x)=∏jp(hj|x)p(hj|x)=11+exp(?(bj+Wj?x))=sigm(bj+Wj?x)
-
(2)p(x|h)
p(x|h)=∏kp(xk|h)p(xk|h)=11+exp(?(ck+hTWk))=sigm(ck+hTWk)
Free Energy
p(x)=∑h∈{0,1}Hp(x,h)=exp??cTx+∑j=1Hlog(1+exp(bj+Wjx))??/Z=exp(?F(x))/Z
F(x) 即為 Free Energy;
總結
以上是生活随笔為你收集整理的深度学习基础(四)—— RBM(受限波尔滋曼机)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序录音功能实现
- 下一篇: 消息称苹果 OLED iPad Pro