關於DBN的理解

2021-09-02 15:18:52 字數 2219 閱讀 8114

關於dbn我一直有以下三個問題:

1.什麼是complementary priors?

2.為什麼說rbm展開後可以當成sigmoid belief network with tied parameters呢?

3.為什麼greedy layerwise training可以把dbn的每層當成rbm來訓練呢?

經過這幾天的冥思苦想,我得出來了一些對於我個人來說比較可以接受的解釋,這是我第一次寫博文,忘各位大大多多指教,回到正題,讓我來解釋下我個人認知中的complementary priors,這就要從markov chain開始說起了,眾所周知,markov chain具有以下性質:

在符合上述的條件下markov chain 是有唯一的平衡分布的,一旦markov chain收斂到平衡分布的時候,會滿足細節平衡原則(detailed balance):

其實就是說該markov chain在收斂到平衡分布時是可逆的(reversible),這就是complementarypriors的基本理念了,大家有可能會困惑,這個和dbn有什麼關係嗎?我可以肯定的說,是有的,其實回過頭來看一看complementary priors 就是為了解決layered directed graphical model中inference難的問題,換一種說法,就是因為某些訓練法具有complementarypriors的特性所以才被選上了。好了,廢話不多說,我們來看一看為什麼complementary priors可以使得inference容易了,接下來又是啦~

接下來就是重頭戲了,我們其實可以把圖右邊的網路看成是markov chain的展開(unroll),也就是說每一層表示乙個狀態,而箭頭就是狀態轉換的方向。(注意箭頭方向!!)

當markov chain 收斂到平衡分布的時候根據細節平衡法則,正轉移的發生率等於逆轉移的發生率,再結合上面的內容,其實就是說只要讓markov chain 以相反的方向執行就可以輕鬆的進行inference了,就如同上面說的一樣,complementary prior 其實就是markov chain的平衡分布。

其實就是block gibbs sampling的每個狀態展開而已,箭頭的方向的話和上面說的是乙個原理,箭頭向下就是從rbm的隱層開始取樣,箭頭向上就是從可見層開始取樣,僅此而已,不過這裡有個點是很重要的,也就是可以推出rbm可以看成是具有complementary prior的,這樣我們最後的乙個問題其實也因此開始變得明了起來了。

接下來又是一堆的圖了~

逐層按rbm訓練雖然可以提高dbn似然函式的lower bound但是這個不是我的這篇博文的重點,大家可以仔細看看上面這兩個圖,你們會發現乙個有趣的事情,其實逐層訓練是這樣的,訓練乙個rbm至平衡態,然後對rbm做一次展開變成上圖的樣子,這樣我們就的到了乙個已經訓練好的一層sigmoid belief network with tied parameters和乙個rbm,這個新產生的rbm的可見層是我們剛訓練好的rbm的隱層,然後再訓練我們新得到的rbm然後再展開,如此往復,我們就得到了多層的sigmoid belief network with tied parameters這樣我們就達到我們一開始的目的了,如何有效的訓練乙個directed graphical model,至於dbn最頂上的那個聯想記憶層其實也可以理解為展開後沒訓練的rbm(純屬個人看法),對了,順便提一提,展開一次的意思是給定隱層對可見層進行抽樣,然後產生了新的可見層,這也是為什麼一次展開後上面的那部分沒箭頭的原因,也可以說成是半步的block gibbs sampling。

mail:[email protected]

DBM 和 DBN 的區別

下邊這部分摘自知乎 首先,還是糾正下題主,直接疊加rbm是dbn。而dbm是乙個真正的無向圖模型,層間互有反饋。dbn是hiton在06年發表在science上的 reducing the dimensionality of data with neural networks.這篇文章中提到的方法,...

關於this的理解

this是乙個關鍵字,它不允許更改或者賦值,任何函式只要作為方法呼叫時實際上都會傳入乙個隱式的實參 這個實參是乙個物件,方法呼叫的母體就是這個物件 this 1.當函式作為乙個方法呼叫時 呼叫的母體就是該物件 2.當作普通函式呼叫時 呼叫的母體是window 3.閉包裡面的this var obj ...

dbn中的wake sleep演算法是如何調優的?

wake sleep algorithm的fine tuning演算法在hinton06年的那篇 最後是有偽碼的,hinton使用的標準的dbn自畫圖如下 i wake phase 認知階段 先用認知階段的引數計算每一層的認知階段的狀態 從下往上推.wakehidprobs sigmoid wvis...