1.什麼是深度信念神經網路?
答:深度信念神經網路,即:deep belief network,是近年比較火的一種網路結構,在遙感分類中應用較多。深度信念神經網路是在深度神經網路結構的基礎上的一種更新改進。(這樣講應該是不準確的,但對於初學者來說比較容易理解)
2. 什麼是深度神經網路?
答:首次接觸,可以聯想到bp神經網路和卷積神經網路(cnn)。我們從傳統的神經網路結構出發來對深度神經網路進行學習。我們以3層bp網路為例:
該網路結構由輸入層、隱藏層、輸出層構成。在傳統的神經網路中,我們可以認為隱藏層是用於提取輸入影像特徵,故在這裡也可寫作特徵層1(feature 1)。在深度學習術語中,上述結構被稱為自編碼神經網路。傳統的神經網路結構複習到這裡。
下面,我們具體了解深度神經網路的結構是啥子樣的。自編碼神經網路能夠實現對輸入資料的重構(輸入等於輸入,允許存在一定的誤差),如果這個網路結構已經訓練好了,那麼其中間層,就可以看作是對原始輸入資料的某種特徵表示。如果我們把它的第三層去掉,這樣就是乙個兩層的網路。如果,我們把這個學習到的特徵再用同樣的方法建立乙個自聯想的三層bp網路,如上圖所示。總結起來就是,第二次建立的三層自聯想網路的輸入是上乙個網路的中間層的輸出。用同樣的訓練演算法,對第二個自聯想網路進行學習。那麼,第二個自聯想網路的中間層是對其輸入的某種特徵表示。如果我們按照這種方法,依次建立很多這樣的由自聯想網路組成的網路結構,這就是深度神經網路,如下圖所示:
廢話了一大堆,我們總結一下啥子是深度神經網路:深度神經網路是在每一層對最原始輸入資料在不同概念的粒度表示,也就是不同級別的特徵描述。
3. 什麼是dbn神經網路?
答: 使用bp演算法單獨訓練每一層的時候,我們發現,必須丟掉網路的第三層,才能級連線自聯想神經網路。然而,有一種更好的神經網路模型,這就是受限玻爾茲曼機(restricted boltzmann machine)。使用層疊波爾茲曼機組成深度神經網路的方法,在深度學習裡被稱作深度信念網路,即dbn,在下面的術語,將把自聯想網路稱作自編碼(autoencoder)網路。經典的dbn網路結構是由若干層 rbm 和一層 bp 組成的一種深層神經網路, 結構如下圖所示:
dbn在模型訓練中主要分為兩步:
①預訓練:分別單獨無監督的訓練每一層rbm網路,確保特徵向量對映到不同特徵空間,都盡可能的保留特徵資訊;它通過乙個非監督貪婪逐層方法預訓練獲得權重(即不要類標,不斷擬合輸入,依次逐層)。在這個過程中,資料輸入到可見層,生成乙個向量v,在通過權值w傳給隱藏層,得到h,由於隱藏層之間是無連線的,所以可以並行得到隱藏層所有節點值。通過隱層啟用單元和可視層輸入之間的相關性差別(通過能量函式來度量網路的穩定性,優化函式是根據求能量函式球指數後,歸一化,然後最大似然得到)就作為權值更新的主要依據。
上述貌似好複雜的樣子,從單層的rbm訓練說起,可見層是用來接受輸入訊號,隱藏層用來提取特徵,rbm是通過無監督學習自動找到研究問題的最佳特徵。
在dbn相關的文獻中,你會發現有dbn的地方都離不來能量函式,什麼是能量函式呢?
我們可以定義能量函式為:
這裡說一下rbm 的能量模型,這裡關係到 rbm 的理解。**能量模型是個什麼樣的東西呢?**直觀上的理解就是,把乙個表面粗糙又不太圓的小球, 放到乙個表面也比較粗糙的碗裡,就隨便往裡面一扔,看看小球停在碗的哪個地方。一般來 說停在碗底的可能性比較大,停在靠近碗底的其他地方也可能,甚至運氣好還會停在碗口附近(這個碗是比較淺的乙個碗);能量模型把小球停在哪個地方定義為一種狀態,每種狀態都對應著乙個能量e,這個能量由能量函式來定義,小球處在某種狀態的概率(如停在碗底的概率跟停在碗口的概率當然不一樣),可以通過這種狀態下小球具有的能量來定義(即小球停在了碗口附近是一種狀態,對應著乙個能量e ,而發生「小球停在碗口附近」這種狀態的概率 p ,概率p可以用e來表示,表示成p=f(e),其中 f 是能量函式, 其實還有乙個簡單的理解,球在碗底的能量一般小於在碗邊緣的,比如重力勢能,顯然碗底的狀態穩定些,並且概率大些。 也就是說,rbm採用能量模型來表示系統穩態的一種測度。rbm 是一種隨機網路,描述乙個隨機網路,主要有以下 2 點 :
1)概率分布函式。各個節點的取值狀態是概率的、隨機的,這裡用了 3 種概率分布來描述整個 rbm 網路,有聯合概率密度,條件概率密度和邊緣概率密度。
2)能量函式。能量函式是描述整個系統狀態的一種測度。系統越有序或者概率分布越集中(比如小球在碗底的情況), 系統的能量越小,反之,系統越無序並且概率分布發散(比如平均分布) ,則系統的能量越大,能量函式的最小值,對應著整個系統最穩定的狀態。
那麼rbm 能量模型的作用是什麼呢?
第一, rbm 網路是一種無監督學習的方法,無監督學習的目的自然就是最大限度的擬合輸入資料和輸出資料。
第二,對於一組輸入資料來說,如果不知道它的分布,那是非常難對這個資料進行學
習的。例如:如果我們實現寫出了高斯函式,就可以寫出似然函式,那麼就可
以進行求解,就知道大致的引數,所以實現如果不知道分布是非常痛苦的一件 事情,但是,沒關係啊,統計力學的一項研究成果表明,任何概率分布都可以 轉變成基於能量的模型,即使這個概率分布是未知的,我們仍然可以將這個分布改寫成能量函式。
第三,能量函式能夠為無監督學習方法提供 2 個特殊的東西
a)目標函式
b)目標解
即:使用能量模型使得學習乙個資料的變得容易可行了。 能否把最優解的求解嵌入能量模型中至關重要,決定著我們具體問題求解的好壞。能量模型要捕獲變數之間的相關性,變數之間的相關程度決定了能量的高低。把變數的相關關係用圖表示 出來,並引入概率測度方式就構成了概率圖模型的能量模型。總而言之,一句話,通過定義求解網路的能量函式,我們可以得到輸入樣本的分布,這樣我們就相當於有了目標函式,就可以訓練了。 具體怎麼進行更新呢?首先我們有個能量函式,就是前面的那個形式,通過能量函式,我們可以得到系統隨機變數的概率分布:
這個概率分布,實際上就是我們的目標函式,他是乙個包含,可見層向量v,隱藏層向量h,還有可見層與隱藏層權值w,偏置的函式。也可以認為是對能量函式求指數e,然後歸一化後的結果。樣本的乙個狀態對應著乙個能量,相應的概率分布就對應著能量的概率分布。然後對這個函式求它的對數似然。
② 在 dbn 的最後一層設定 bp 網路,接收 rbm 的輸出特徵向量作為它的輸入特徵向量,有監督地訓練實體關係分類器。而且每一層 rbm 網路只能確保自身層內的權值對該層特徵向量對映達到最優,並不是對整個 dbn 的特徵向量對映達到最優,所以反向傳播網路還將錯誤資訊自頂向下傳播至每一層 rbm,微調整個 dbn 網路。rbm 網路訓練模型的過程可以看作對乙個深層 bp 網路權值引數的初始化,使dbn 克服了 bp 網路因隨機初始化權值引數而容易陷入區域性最優和訓練時間長的缺點。
③最上面有監督學習的那一層,根據具體的應用領域可以換成任何分類器模型,而不必是bp網路。
參考博文:
[1][2]
深度信念網路(DBN)
自聯想神經網路是很古老的神經網路模型,簡單的說,它就是三層bp網路,只不過它的輸出等於輸入。很多時候我們並不要求輸出精確的等於輸入,而是允許一定的誤差存在。所以,我們說,輸出是對輸入的一種重構。其網路結構可以很簡單的表示如下 如果我們在上述網路中不使用sigmoid函式,而使用線性函式,這就是pca...
自聯想神經網路 深度信念網路
自聯想神經網路 auto associative neural network 縮寫為aann 是1987年ballard提出的,其網路原型是一種具有對稱拓撲結構的五層前饋傳遞網路,aann 應用到資料檢驗問題時具有比較明顯的物理意義。是bp神經網路的一種特殊情形。其特點是有對稱拓撲結構,即輸出量等...
學習筆記11 深度信念網路(DBN)
在了解rbm的基礎上,介紹深度信念網路。dbn 是由多層 rbm 組成的乙個神經網路,它既可以被看作乙個生成模型,也可以當作判別模型,其訓練過程是 使用非監督貪婪逐層方法去預訓練獲得權值。訓練過程 1.首先充分訓練第乙個 rbm 2.固定第乙個 rbm 的權重和偏移量,然後使用其隱性神經元的狀態,作...