論文筆記(2):A fast learning algorithm for deep belief nets.
這幾天繼續學習一篇論文,Hinton的A Fast Learning Algorithm for Deep Belief Nets。這篇論文一開始讀起來是相當費勁的,學習了好幾天才了解了相關的背景,慢慢的思路也開始清晰起來。DBN算法就是Wake-Sleep算法+RBM,但是論文對Wake-Sleep算法解釋特別少。可能還要學習Wake-Sleep和RBM相關的的知識才能慢慢理解,今天先說說A Fast Learning Algorithm for Deep Belief Nets這篇論文。
原文摘要:
1,我們展示了如何使用“互補的先驗”來消除解釋的影響,這使得在緊密連接的置信網絡中很難有許多隱藏的層。
2,利用互補的先驗知識,我們推導出一種快速、貪婪的算法,可以學習深入的、有向的置信網絡一層一層,提供了最上層的兩層,形成一個無定向的聯想記憶。
3,快速、貪婪算法用於初始化一個較慢的學習過程,該過程用一個對比版本的wake-sleep算法對權重進行微調。
4,經過微調后,一個帶有三個隱藏層的網絡形成了一個非常好的生成模型,它是手寫數字圖像和它們的標簽的聯合分布。
5,這種生成模型給出的數字分類比最好的鑒別學習算法更好。
6,這些數字所在的低維度的流形,是由頂級聯想記憶的自由能景觀中的長溝壑建模的,通過使用直接連接來顯示聯想記憶,很容易就能發現這些溝壑。
1 介紹
1,在密集的、有導向的置信網絡中,學習是困難的,因為它有許多隱藏的層,因為在給定一個數據向量時很難推斷隱藏活動的條件分布。
2,我們描述了一個模型,其中最上面的兩個隱藏層形成一個無定向的聯想記憶(見圖1),其余的隱藏層形成一個有向的非循環圖,將聯想記憶中的表示轉換成可觀察的變量,如圖像的像素。這種混合模式具有一些吸引人的特點:
(1)有一種快速、貪婪的學習算法,可以快速找到一組相當好的參數,即使是在具有數百萬參數和許多隱藏層的深度網絡中。
(2)學習算法是無監督的,但可以通過學習生成標簽和數據的模型來應用於標記數據。
(3)有一種微調算法,它學習了一種優秀的生成模型,該模型在手寫數字的MNIST數據庫中優於鑒別方法。
(4)生成模型可以很容易地解釋深層隱藏層中的分布式表示。
(5)形成一個規則所需要的推理既快速又准確。
(6)學習算法是局部的。對突觸強度的調整僅依賴於突觸前神經元和突觸后神經元的狀態。
(7)溝通是很簡單的。神經元只需要交流它們的隨機二進制狀態。
圖1:用於模擬數字圖像和數字標簽的聯合分布的網絡。在這篇文章中,每個訓練案例都包含一個圖像和一個顯式的類標簽,但是在進展中的工作已經表明,如果“標簽”被一個多層路徑所替代,那么同樣的學習算法也可以被使用,因為它的輸入是來自多個不同的光譜圖,它們說的是孤立的數字。然后,網絡學習生成由一個圖像和一個相同數字類的光譜圖組成的對。
圖2:一個簡單的邏輯置信網絡,包含兩個獨立的、罕見的原因,當我們觀察房子的跳躍時,它會變得高度的反相關。在地震節點上的。-10的偏差意味着,在沒有任何觀察的情況下,這個節點要比on的可能性大e10倍。如果地震節點是on,而卡車節點是off,則跳轉節點的總輸入值為0,這意味着它甚至有可能處於on狀態。這是一種更好的解釋,解釋了為什么房子跳得比e-20的概率高。如果兩個隱藏的原因都不活躍,則適用。但是,打開兩個隱藏的原因來解釋觀察結果是一種浪費,因為兩者發生的概率都是e-10×e-10 = e-20。當地震節點被打開時,它會“解釋”卡車節點的證據。
2 互補的先驗
第2節介紹了“互補”的概念,這一概念正好抵消了“解釋消失”現象,這使得在有導向的模型中推理困難。給出了一個具有互補先驗的有向信念網絡的例子。
logistic置信網絡(Neal, 1992)由隨機二進制單元組成。當網絡用於生成數據時,打開單元i的概率是它的直系上代j,和權值,wi j,從上代的直接連接上的邏輯函數。
2.1一個有束縛權的無限定向模型
我們可以從無限生成數據直接在圖3中,從一個隨機的配置在一個無限深隱層,然后執行一個自上而下的“祖先”在每個變量的二進制狀態選擇一層從伯努利分布由自上而下的輸入來自其活躍的“父母”在上面的層。
圖3:一個帶着權重的無限的邏輯信念網。向下的箭頭表示生成模型。向上的箭頭不是模型的一部分。當數據向量被夾在V0上時,它們表示用於從網絡的每個隱層中推斷樣本的參數。
我們可以從真實的后驗中取樣,我們可以計算出數據的對數概率的導數。讓我們先計算一個生成權的導數wi j00,從H0的一個單位j,到第i層V0的單位i(見圖3)。在一個邏輯推理網絡中,一個數據向量V0的最大似然學習規則是:
其中<·>表示采樣狀態的平均值,而v0 i是如果從采樣的隱藏狀態中隨機地重建可見向量,則可以打開單元i的概率。計算后驗分布在第二個隱藏層,V1,從采樣二進制州第一隱層,H0,是完全一樣的過程重構數據,所以V1我是伯努利隨機變量樣本概率ˆv0我。因此,學習規則可以寫成:
v1i對h0j的依賴性在方程2.3的推導中是無問題的,因為v0i是基於h0j的期望。由於權重被復制,因此,通過對各層之間的生成權的導數相加,得到生成權的完整導數:
除第一次和最后一次取消外,所有的成對產品都退出了公式3.1的玻爾茲曼機器學習規則。
3 限制玻爾茲曼機和對比發散學習
第3節展示了受限的玻爾茲曼機器與有束縛權的無限定向網絡之間的等價性。
圖3中的無限定向網絡與受限制的玻爾茲曼機(RBM)是等價的。RBM有一層隱藏單元,它們之間沒有相互連接,並且沒有定向的、對稱的連接到一層可見單元。
為了在RBM中執行最大似然學習,我們可以使用兩個相關性之間的差異。對於每一個權重,wi j,在一個可見的單位i和一個隱藏的單位j之間,我們測量關聯<v0i h0j>當一個數據向量被夾持在可見的單位上時,隱藏的狀態被從它們的條件分布中取樣,這是階乘。然后,利用交替的吉布斯抽樣,我們運行了圖4中所示的馬爾可夫鏈,直到它到達其平穩分布並測量相關 <v∞i h∞j>。訓練數據的對數概率的梯度是:
圖4:這幅圖描述了一個使用交替的吉布斯采樣的馬爾可夫鏈。在吉布斯采樣的一個完整步驟中,頂層的隱藏單元都是通過應用等式2.1得到的,從底層的可見單元的當前狀態得到的輸入進行並行更新;然后,在當前隱藏狀態下,所有可見單元都是並行更新的。所有的更新都是平行於當前隱藏狀態。初始化鏈通過設置可見單元的二進制狀態與數據向量相同。將可見單元的二進制狀態設置為與數據向量相同,從而初始化鏈。一個可見的和一個隱藏單元的活動之間的相關性是在隱藏單元的第一次更新之后和在鏈的末端再次測量的。這兩種關聯的不同提供了學習信號來更新連接上的權重。
將數據的對數概率最大化,完全等同於將數據的分布、P0和由模型定義的均衡分布(P∞θ)之間的kullbackleibler散度,KL(P0||P∞θ)。在對比發散學習(Hinton, 2002)中,我們運行的馬爾可夫鏈僅僅是n個完整的步驟,這是第二個相關的。對比發散學習最小化了兩種相對熵:
值得注意的是,Pnθ依賴於當前的模型參數,以及當參數變化被對比發散學習忽略時,Pnθ的變化的方式。這個問題不會出現在P0中,因為訓練數據不依賴於參數。
我們現在證明了RBMs和有關聯權的無限定向網之間的等價性,這表明了一種有效的多層網絡學習算法,在這個算法中,權重沒有被束縛。
4 一種用於轉換表示的貪心學習算法
第4節介紹了一種快速、貪婪的構建多層定向網絡的算法。使用一個變量綁定,它表明,隨着每一個新層的加入,整個生成模型會得到改進。貪婪算法在重復使用相的“弱”學習者時,有一些相似之處,但不是重新加權每一個數據向量,以確保下一步學習新的東西,而是重新呈現它。“弱”的學習者被用來構造深定向的網本身就是一個無定向的圖形模型。
圖5顯示了一個多層生成模型,其中頂部兩層通過無定向連接進行交互,所有其他連接都是定向的。
圖5:混合網絡。前兩層有無定向連接,並形成聯想記憶。下面的層有定向的、自頂向下的生成連接,可以用來將關聯內存的狀態映射到圖像。也有定向的、自底向上的識別連接,用於從下面一層的二進制活動中推斷一個層的階乘表示。在貪婪的初始學習中,識別連接與生成連接聯系在一起。
如果RBM是原始數據的完美模型,更高級別的“數據”將已經被更高級別的權重矩陣完美地表示了惋惜。然而,一般來說,RBM不能完美地實現原始數據,我們可以使用以下貪婪算法使生成模型更好:
1.學習W0假設所有的權矩陣都被束縛。
2.凍結W0並承諾使用WT0來推斷在第一個隱藏層中變量的狀態下的階乘,即使在更高級別的權重的后續變化意味着這個推理方法不再正確。
3.將所有的高權重矩陣捆綁在一起,但從W0開始,學習使用WT0生成的更高級別“數據”的RBM模型,以轉換原始數據。如果這種貪婪算法改變了較高的權重矩陣,就可以保證改進生成模型。
在多層生成模型下,單個數據向量v0的負對數概率受變分自由能的約束,這是近似分布下的期望能量,Q(h0|v0),減去該分布的熵。對於一個有向模型,配置v0, h0的“能量”是
由。
所以
其中h0是第一個隱層中單位的二元配置,p(h0)是在當前模型下h0的先驗概率(由h0上的權值定義),Q(·|v0)是在第一個隱含層中的二進制配置上的任何概率分布。當且僅當Q(·|v0)是真正的后驗分布時,約束就變成了等式。
當所有權重矩陣都被捆綁在一起時,將WT0應用到一個數據向量上所產生的階乘分布是真正的后驗分布,因此在貪婪算法的第2步,logp (v0)等於邊界。第2步凍結Q(·|v0)和p(v0|h0),並將這些項固定,綁定的導數與導數相同。
為了保證生成模型可以通過大量的學習層來改進,可以很方便地考慮所有層都是相同大小的模型,這樣就可以將更高級別的權值初始化到從下面一層的權重中分離出來的值。然而,同樣的貪婪算法,即使是不同的大小,也可以應用。
5 用向上向下的算法進行反向擬合
第5節展示了快速、貪婪算法產生的權重如何使用“向上向下”算法進行微調。這是wake-sleep算法(Hinton, Dayan, Frey, & Neal, 1995)的一種對比版本,它不受“模式-平均值”問題的困擾,因為這些問題會導致wake-sleep算法學習較差的識別權重。
附錄B為圖1中所示的網絡使用matlabstyle偽代碼指定了向上向下算法的詳細信息。為了簡單起見,在權值上沒有懲罰,沒有動量,所有參數的學習速率相同。同時,訓練數據也減少到一個單一的情況。
6 在MNIST數據庫上的性能
第6節展示了一個具有三個隱藏層的網絡的模式識別性能,以及在MNIST的手寫數字上大約有170萬的權重。當沒有提供幾何知識並且沒有特殊的預處理時,網絡的推廣性能是1萬位數的官方測試集的1.25%的錯誤,這超過了最好的反向傳播網絡在不為這個特定的應用程序手工制作時所獲得的1.5%的誤差。它也比Decoste和Schoelkopf(2002)報告的支持向量機在同一任務上所報告的1.4%的錯誤稍微好一些。
6.1培訓網絡
手寫數字的MNIST數據庫包含6萬個訓練圖像和1萬個測試圖像。
在訓練最頂層的權重(在關聯內存中)時,標簽是作為輸入的一部分提供的。這些標簽由10個單位的“softmax”組中的一個單元組成。當這一組的活動從上面一層的活動中重建時,只有一個單元被允許處於活動狀態,而選擇單元i的概率為。
其中xi是單元i接收到的總輸入,奇怪的是,學習規則不受softmax組中單元之間的競爭影響,所以突觸不需要知道哪個單元在與哪個單元競爭。競爭會影響一個單元打開的概率,但它只是影響學習的概率
圖6:網絡出錯的125個測試案例。每個案例都被網絡的猜測所標記。真正的類是按標准掃描順序排列的。
圖7:所有49個網絡猜測正確的案例,但有第二個測試,其概率在最佳猜測概率的0.3以內。真正的類是按標准掃描順序排列的。
通過對訓練數據進行稍微轉換的數據集補充數據集,可以大幅度降低錯誤率。
6.2測試網絡
一種測試網絡的方法是使用一個隨機向上傳遞的圖像來固定在聯想記憶的下一層的500個單元的二進制狀態。這種測試方法給出的錯誤率幾乎比上面報告的比率高1%。
表1:MNIST數字識別任務中各種學習算法的錯誤率。
一種更好的方法是先在聯想記憶的下一層修復500個單元的二進制狀態,然后依次打開每個標簽單元,然后計算得到的510個分量的二進制向量的完全自由能。
7 研究神經網絡的思想
第7節展示了當網絡運行時,在不受視覺輸入限制的情況下,會發生什么。該網絡有一個完整的生成模型,因此很容易研究它的思想——我們只是從它的高級表示中生成一個圖像。
為了從模型中生成樣本,我們在頂級聯想存儲器中執行交替的吉布斯抽樣,直到馬爾可夫鏈收斂到均衡分布。然后,我們使用這個分布的樣本作為輸入到下面的層,並通過生成的連接通過一個向下傳遞來生成一個圖像。如果我們在吉布斯采樣期間將標簽單元夾到一個特定的類中,我們可以從模型的類條件分布中看到圖像。圖8顯示了每一個類的圖像序列,它們允許在樣本之間進行1000次的吉布斯抽樣。
圖8:每個行顯示10個來自生成模型的樣本,並帶有一個特定的標簽。頂級的聯想記憶是在樣本之間的1000次交替的吉布斯抽樣。
我們還可以通過提供一個隨機的二進制圖像作為輸入來初始化前兩層的狀態。圖9顯示了關聯內存的類條件狀態是如何在允許自由運行的情況下演化的,但是標簽被夾住了。
圖9:每一行顯示10個來自生成模型的樣本,並帶有一個特定的標簽。頂級的聯想記憶是由一個隨機的二值圖像(每個像素的概率是0.5)來初始化的。第一列顯示了從這個初始的高層狀態向下傳遞的結果。后續的列是由20個迭代的交替的吉布斯抽樣在聯想記憶中產生的。
8 結論
我們已經證明,可以一次一層地學習一層深厚、緊密相連的置信網絡。為了演示我們快速、貪婪的學習算法的威力,我們使用它來初始化一個更慢的微調算法的權重,該算法學習了一種優秀的數字圖像和它們的標簽的生成模型。
主要優點,與區別性模型相比:
1,生成模型可以在不需要標簽反饋的情況下學習低層次的特性,而且他們可以學習更多的參數,而不需要過度擬合。在甄別學習中,每一個訓練用例都只限定了指定標簽所需要的信息量。對於生成模型,每個訓練用例通過指定輸入所需的比特數來約束參數。
2,通過從模型中生成網絡,我們很容易看到它所學習到的東西。
3,可以通過生成圖像來解釋深層隱藏層中的非線性、分布式表示。
4,區分學習方法的高級分類性能只適用於不可能學習好的生成模型的領域。這一系列的領域正在被摩爾定律侵蝕。
參考資料
[1]Hinton, G. E., Osindero, S. & Teh, Y.-W. A fast learning algorithm for deep belief nets. Neural Comp. 18, 1527–1554 (2006).
作者:hangliu 出處:http://www.cnblogs.com/hangliu/ 歡迎轉載或分享,但請務必聲明文章出處。