在了解rbm的基礎上,介紹深度信念網路。
dbn 是由多層 rbm 組成的乙個神經網路,它既可以被看作乙個生成模型,也可以當作判別模型,其訓練過程是:使用非監督貪婪逐層方法去預訓練獲得權值。
訓練過程: 1. 首先充分訓練第乙個 rbm;
2. 固定第乙個 rbm 的權重和偏移量,然後使用其隱性神經元的狀態,作為第二個 rbm 的輸入向量;
3. 充分訓練第二個 rbm 後,將第二個 rbm 堆疊在第乙個 rbm 的上方;
4. 重複以上三個步驟任意多次;
5. 如果訓練集中的資料有標籤,那麼在頂層的 rbm 訓練時,這個 rbm 的顯層中除了顯性神經元,還需要有代表分類標籤的神經元,一起進行訓練:
a) 假設頂層 rbm 的顯層有 500 個顯性神經元,訓練資料的分類一共分成了 10 類;
b) 那麼頂層 rbm 的顯層有 510 個顯性神經元,對每一訓練訓練資料,相應的標籤神經元被開啟設為 1,而其他的則被關閉設為 0。
6. dbn 被訓練好後如下圖: (示意)
訓練好的深度信念網路。圖中的綠色部分就是在最頂層 rbm 中參與訓練的
標籤。注意調優 (fine-tuning) 過程是乙個判別模型
調優過程 (fine-tuning) :
生成模型使用 contrastive wake-sleep 演算法進行調優,其演算法過程是:
1. 除了頂層 rbm,其他層 rbm 的權重被分成向上的認知權重和向下的生成
權重;
2. wake 階段:認知過程,通過外界的特徵和向上的權重 (認知權重) 產生每
一層的抽象表示 (結點狀態) ,並且使用梯度下降修改層間的下行權重 (生
成權重) 。也就是「如果現實跟我想象的不一樣,改變我的權重使得我想
象的東西就是這樣的」。
3. sleep 階段:生成過程,通過頂層表示 (醒時學得的概念) 和向下權重,生
成底層的狀態,同時修改層間向上的權重。也就是「如果夢中的景象不是
我腦中的相應概念,改變我的認知權重使得這種景象在我看來就是這個概
念」。
使用過程 :
1. 使用隨機隱性神經元狀態值,在頂層 rbm 中進行足夠多次的吉布斯抽
樣; 2. 向下傳播,得到每層的狀態。
深度信念網路(DBN)
自聯想神經網路是很古老的神經網路模型,簡單的說,它就是三層bp網路,只不過它的輸出等於輸入。很多時候我們並不要求輸出精確的等於輸入,而是允許一定的誤差存在。所以,我們說,輸出是對輸入的一種重構。其網路結構可以很簡單的表示如下 如果我們在上述網路中不使用sigmoid函式,而使用線性函式,這就是pca...
深度信念網路 Learning
1.什麼是深度信念神經網路?答 深度信念神經網路,即 deep belief network,是近年比較火的一種網路結構,在遙感分類中應用較多。深度信念神經網路是在深度神經網路結構的基礎上的一種更新改進。這樣講應該是不準確的,但對於初學者來說比較容易理解 2.什麼是深度神經網路?答 首次接觸,可以聯...
自聯想神經網路 深度信念網路
自聯想神經網路 auto associative neural network 縮寫為aann 是1987年ballard提出的,其網路原型是一種具有對稱拓撲結構的五層前饋傳遞網路,aann 應用到資料檢驗問題時具有比較明顯的物理意義。是bp神經網路的一種特殊情形。其特點是有對稱拓撲結構,即輸出量等...