深度學習(二)--深度信念網絡(Deep Belief Network,DBN)
一、受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)
在介紹深度信念網絡之前需要先了解一下受限玻爾茲曼機:受限玻爾茲曼機(英語:restricted Boltzmann machine,RBM)是一種可通過輸入數據集學習概率分布的隨機生成神經網絡。RBM最初由發明者保羅·斯模棱斯基(PaulSmolensky)於1986年命名為簧風琴(Harmonium),但直到傑弗里·辛頓及其合作者在2000年代中葉發明快速學習算法后,受限玻爾茲曼機才變得知名。參考:https://baike.so.com/doc/8386787-8704719.html
之所以設計玻爾茲曼機,就是因為在最初的狀態下,不知道數據的真實分布狀態,為了在這種狀態下能夠在無監督情況下,訓練學習出數據的的特征,所以采用受限玻爾茲曼機進行處理。
受限波爾茲曼機是由兩層網絡組成(參考http://www.cnblogs.com/pinard/p/6530523.html)
它是一個個兩層的神經網絡,如下圖所示:
上面一層神經元組成隱藏層(hidden layer), 用h向量隱藏層神經元的值。下面一層的神經元組成可見層(visible layer),用v向量表示可見層神經元的值。隱藏層和可見層之間是全連接的,這點和DNN類似, 隱藏層神經元之間是獨立的,可見層神經元之間也是獨立的。連接權重可以用矩陣W表示。和DNN的區別是,RBM不區分前向和反向,可見層的狀態可以作用於隱藏層,而隱藏層的狀態也可以作用於可見層。隱藏層的偏倚系數是向量b,而可見層的偏倚系數是向量a。
常用的RBM一般是二值的,即不管是隱藏層還是可見層,它們的神經元的取值只為0或者1。本文只討論二值RBM。
總結下RBM模型結構的結構:主要是權重矩陣W, 偏倚系數向量a和b,隱藏層神經元狀態向量h和可見層神經元狀態向量v。
二、深度信念網絡(DBN)
參考https://blog.csdn.net/a819825294/article/details/53608141
深度信念網絡主要是由多層受限玻爾茲曼機組成,具體結構如圖1所示

深度信念網絡的主要重點在於如何訓練學習,如圖

首先對單一的RBM進行訓練:將初始數據x輸入RBM中,通過h1=v1*w11+v2*w21+v3*w31+...+vn*wn1+b1計算出h1的值,依次對hm進行計算,之后通過反向求出vn'的值,通過對vn‘’和輸入值x對應的vn進行比對,從而調整w進行學習,最終使得vn和vn'相差最小。具體的公式表達參考https://www.cnblogs.com/kemaswill/p/3203605.html
之后將學習到的h作為下一層RBM的輸入,學習下一層RBM,與此同時也要對第一層的RBM再次進行修正。以此類推直到所有的RBM都實現學習。