1.sigmoid信念網路是一種有向圖模型
2.sbn它可以逼近任意二值分布函式,還可以進行取樣
3.求解sbn可以用梯度法,要利用mc近似梯度
4.醒眠演算法也是求解sbn的一種演算法,它是一種不太精確的演算法
今天我們介紹乙個深度有向模型——sigmoid belief network.它是一種有向圖模型,每個節點是定義為二型離散隨機變數,通常為0和1。我們知道,波爾茨曼機(bm)是一種二型的無向圖模型,而sigmoid belief network可以看成與波爾茨曼機的結合模型。本文中,我們也稱它為sigmoid信念網路。
模型表示
對於擁有t個節點的sigmoid belief network:
其概率圖模型表示為(h是隱變數,v是觀測變數):
我們知道,在神經網路中,加入一層隱藏層就可以逼近任意連續函式,而sigmoid信念網路具備了這樣的特性,由於每個節點是二值的,因此,它的乙個優點是可以逼近任意二值分布;除此之外它的第二個優點是可以取樣。
下面介紹每個節點的概率表示。
對於節點si,我們定義其取值為1的概率:
其中,σ表示sigmoid啟用函式。
根據sigmoid函式的性質,我們很容易得到:
因此,將兩者合併可得節點si的概率分布:
用梯度法解決learning問題
根據貝葉斯網路的條件概率形式,sigmoid信念網路聯合概率分布可以表示為:
我們能觀測到的是觀測變數的資料集,要求解其最大似然估計問題:
採取梯度下降法求解,先對每條邊求梯度:
因為,
故而,
所以有:
因此最大似然估計問題的梯度為:
採取mcmc方法進行估計!
醒眠演算法
醒眠演算法也是用於求解sbn引數的一種演算法,它借鑑於神經網路思想。該演算法假設對於sbn概率圖,每乙個節點除了正向的連線外,也有反向的連線(圖中橙色部分)。
正向的連線稱為generative connection,反向的稱為recognization connection。
這裡我們約定,對於反向的連線,節點邊權重用r表示。
基於此,我們可以介紹醒眠演算法,它也是一種啟發式迭代演算法。該演算法分兩步走,第一步是wake phase:
1.獲得各層樣本:從底部觀測變數v開始啟用神經元,這個過程稱為bottom-up.
2.學習正向邊權重w:利用獲得的樣本訓練generative connection,這個過程為learning
第二步是sleep phase:
1.獲得樣本:從頂層開始啟用神經元,這個過程稱為top-down
2.學習反向邊權重r:利用獲得的樣本訓練recognization connection
可以看到,sleep phase得到的樣本都是虛擬的,而wake phase是根據訓練樣本驅動的。
這個就是醒眠演算法的原理。
wake phase與sleep phase實際是求:
注:關於elbo與kl我們在em演算法詳細推導過,這裡不再贅述em演算法
所以,醒眠演算法是一種不精確的演算法,它的wake與sleep的目標函式不一致。wake phase對應的是em演算法的m步,sleep phase對應的是e步。
深度信念網路(DBN)
自聯想神經網路是很古老的神經網路模型,簡單的說,它就是三層bp網路,只不過它的輸出等於輸入。很多時候我們並不要求輸出精確的等於輸入,而是允許一定的誤差存在。所以,我們說,輸出是對輸入的一種重構。其網路結構可以很簡單的表示如下 如果我們在上述網路中不使用sigmoid函式,而使用線性函式,這就是pca...
深度信念網路 Learning
1.什麼是深度信念神經網路?答 深度信念神經網路,即 deep belief network,是近年比較火的一種網路結構,在遙感分類中應用較多。深度信念神經網路是在深度神經網路結構的基礎上的一種更新改進。這樣講應該是不準確的,但對於初學者來說比較容易理解 2.什麼是深度神經網路?答 首次接觸,可以聯...
自聯想神經網路 深度信念網路
自聯想神經網路 auto associative neural network 縮寫為aann 是1987年ballard提出的,其網路原型是一種具有對稱拓撲結構的五層前饋傳遞網路,aann 應用到資料檢驗問題時具有比較明顯的物理意義。是bp神經網路的一種特殊情形。其特點是有對稱拓撲結構,即輸出量等...