鄒曉藝專欄 | Deep Learning系列筆記(五):受限波爾茲曼機

鄒曉藝專欄 | Deep Learning系列筆記(五):受限波爾茲曼機

目錄:

一、概述

二、背景

三、人腦視覺機理

四、關於特徵

4.1、特徵表示的粒度

4.2、初級(淺層)特徵表示

4.3、結構性特徵表示

4.4、需要有多少個特徵?

五、Deep Learning的基本思想

六、淺層學習(Shallow Learning)和深度學習(Deep Learning)

七、Deep learning與Neural Network

八、Deep learning訓練過程

8.1、傳統神經網路的訓練方法

8.2、deep learning訓練過程

九、Deep Learning的常用模型或者方法

9.1、AutoEncoder自動編碼器

9.2、Sparse Coding稀疏編碼

9.3、Restricted Boltzmann Machine(RBM)限制波爾茲曼機

9.4、Deep BeliefNetworks深信度網路

9.5、Convolutional Neural Networks卷積神經網路

十、總結與展望

十一、參考文獻和Deep Learning學習資源

9.3、Restricted Boltzmann Machine (RBM)限制波爾茲曼機

假設有一個二部圖,每一層的節點之間沒有鏈接,一層是可視層,即輸入數據層(v),一層是隱藏層(h),如果假設所有的節點都是隨機二值變數節點(只能取0或者1值),同時假設全概率分布p(v,h)滿足Boltzmann 分布,我們稱這個模型是Restricted BoltzmannMachine (RBM)。

下面我們來看看為什麼它是Deep Learning方法。首先,這個模型因為是二部圖,所以在已知v的情況下,所有的隱藏節點之間是條件獨立的(因為節點之間不存在連接),即p(h|v)=p(h1|v)…p(hn|v)。

同理,在已知隱藏層h的情況下,所有的可視節點都是條件獨立的。同時又由於所有的v和h滿足Boltzmann 分布,因此,當輸入v的時候,通過p(h|v) 可以得到隱藏層h,而得到隱藏層h之後,通過p(v|h)又能得到可視層,通過調整參數,我們就是要使得從隱藏層得到的可視層v1與原來的可視層v如果一樣,那麼得到的隱藏層就是可視層另外一種表達,因此隱藏層可以作為可視層輸入數據的特徵,所以它就是一種Deep Learning方法。

如何訓練呢?也就是可視層節點和隱節點間的權值怎麼確定呢?我們需要做一些數學分析。也就是模型了。

聯合組態(jointconfiguration)的能量可以表示為:

而某個組態的聯合概率分布可以通過Boltzmann 分布(和這個組態的能量)來確定:

因為隱藏節點之間是條件獨立的(因為節點之間不存在連接),即:

然後我們可以比較容易(對上式進行因子分解Factorizes)得到在給定可視層v的基礎上,隱層第j個節點為1或者為0的概率:

同理,在給定隱層h的基礎上,可視層第i個節點為1或者為0的概率也可以容易得到:

給定一個滿足獨立同分布的樣本集:D={v

(1)

, v

(2)

,…, v

(N)

},我們需要學習參數θ={W,a,b}

我們最大化以下對數似然函數(最大似然估計:對於某個概率模型,我們需要選擇一個參數,讓我們當前的觀測樣本的概率最大):

也就是對最大對數似然函數求導,就可以得到L最大時對應的參數W了。

如果,我們把隱藏層的層數增加,我們可以得到Deep Boltzmann Machine(DBM);如果我們在靠近可視層的部分使用貝葉斯信念網路(即有向圖模型,當然這裡依然限制層中節點之間沒有鏈接),而在最遠離可視層的部分使用Restricted Boltzmann Machine,我們可以得到DeepBelief Net(DBN)。

更多資訊請關注LinkSpark公眾號!

相關閱讀:

鄒曉藝專欄 | Deep Learning系列筆記(一)

鄒曉藝專欄 | Deep Learning系列筆記(二):關於特徵

鄒曉藝專欄 | Deep Learning系列筆記(三):Deep Learning綜述

鄒曉藝專欄 | Deep Learning系列筆記(四):自動編碼器和稀疏編碼


推薦閱讀:

Kernel PCA 原理和演示
自然語言分析加關係網路 - 半自動分析倚天屠龍記
系統學習泛函之前的一個高觀點
大話凝聚式層次聚類
計算機視覺學習之路——每日更新

TAG:深度學習DeepLearning | 人工智慧 | 機器學習 |