1. 程式人生 > >Deep Learning(深度學習)學習筆記整理系列之(六)

Deep Learning(深度學習)學習筆記整理系列之(六)

轉自:http://blog.csdn.net/zouxy09/article/details/8781396

Deep Learning(深度學習)學習筆記整理系列

作者:Zouxy

version 1.0 2013-04-08

宣告:

1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版本宣告也參考原文獻。

2)本文僅供學術交流,非商用。所以每一部分具體的參考資料並沒有詳細對應。如果某部分不小心侵犯了大家的利益,還望海涵,並聯系博主刪除。

3)本人才疏學淺,整理總結的時候難免出錯,還望各位前輩不吝指正,謝謝。

4)閱讀本文需要機器學習、計算機視覺、神經網路等等基礎(如果沒有也沒關係了,沒有就看看,能不能看懂,呵呵)。

5)此屬於第一版本,若有錯誤,還需繼續修正與增刪。還望大家多多指點。大家都共享一點點,一起為祖國科研的推進添磚加瓦(呵呵,好高尚的目標啊)。請聯絡:[email protected]

目錄:

一、概述

二、背景

接上

注:下面的兩個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)。


9.4、Deep Belief Networks深信度網路

        DBNs是一個概率生成模型,與傳統的判別模型的神經網路相對,生成模型是建立一個觀察資料和標籤之間的聯合分佈,對P(Observation|Label)和 P(Label|Observation)都做了評估,而判別模型僅僅而已評估了後者,也就是P(Label|Observation)。對於在深度神經網路應用傳統的BP演算法的時候,DBNs遇到了以下問題:

(1)需要為訓練提供一個有標籤的樣本集;

(2)學習過程較慢;

(3)不適當的引數選擇會導致學習收斂於區域性最優解。

       DBNs由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經網路型別如圖三所示。這些網路被“限制”為一個可視層和一個隱層,層間存在連線,但層內的單元間不存在連線。隱層單元被訓練去捕捉在可視層表現出來的高階資料的相關性。

       首先,先不考慮最頂構成一個聯想記憶(associative memory)的兩層,一個DBN的連線是通過自頂向下的生成權值來指導確定的,RBMs就像一個建築塊一樣,相比傳統和深度分層的sigmoid信念網路,它能易於連線權值的學習。

       最開始的時候,通過一個非監督貪婪逐層方法去預訓練獲得生成模型的權值,非監督貪婪逐層方法被Hinton證明是有效的,並被其稱為對比分歧(contrastive divergence)。

       在這個訓練階段,在可視層會產生一個向量v,通過它將值傳遞到隱層。反過來,可視層的輸入會被隨機的選擇,以嘗試去重構原始的輸入訊號。最後,這些新的可視的神經元啟用單元將前向傳遞重構隱層啟用單元,獲得h(在訓練過程中,首先將可視向量值對映給隱單元;然後可視單元由隱層單元重建;這些新可視單元再次對映給隱單元,這樣就獲取新的隱單元。執行這種反覆步驟叫做吉布斯取樣)。這些後退和前進的步驟就是我們熟悉的Gibbs取樣,而隱層啟用單元和可視層輸入之間的相關性差別就作為權值更新的主要依據。

       訓練時間會顯著的減少,因為只需要單個步驟就可以接近最大似然學習。增加進網路的每一層都會改進訓練資料的對數概率,我們可以理解為越來越接近能量的真實表達。這個有意義的拓展,和無標籤資料的使用,是任何一個深度學習應用的決定性的因素。

       在最高兩層,權值被連線到一起,這樣更低層的輸出將會提供一個參考的線索或者關聯給頂層,這樣頂層就會將其聯絡到它的記憶內容。而我們最關心的,最後想得到的就是判別效能,例如分類任務裡面。

       在預訓練後,DBN可以通過利用帶標籤資料用BP演算法去對判別效能做調整。在這裡,一個標籤集將被附加到頂層(推廣聯想記憶),通過一個自下向上的,學習到的識別權值獲得一個網路的分類面。這個效能會比單純的BP演算法訓練的網路好。這可以很直觀的解釋,DBNs的BP演算法只需要對權值引數空間進行一個區域性的搜尋,這相比前向神經網路來說,訓練是要快的,而且收斂的時間也少。

       DBNs的靈活性使得它的拓展比較容易。一個拓展就是卷積DBNs(Convolutional Deep Belief Networks(CDBNs))。DBNs並沒有考慮到影象的2維結構資訊,因為輸入是簡單的從一個影象矩陣一維向量化的。而CDBNs就是考慮到了這個問題,它利用鄰域畫素的空域關係,通過一個稱為卷積RBMs的模型區達到生成模型的變換不變性,而且可以容易得變換到高維影象。DBNs並沒有明確地處理對觀察變數的時間聯絡的學習上,雖然目前已經有這方面的研究,例如堆疊時間RBMs,以此為推廣,有序列學習的dubbed temporal convolutionmachines,這種序列學習的應用,給語音訊號處理問題帶來了一個讓人激動的未來研究方向。

       目前,和DBNs有關的研究包括堆疊自動編碼器,它是通過用堆疊自動編碼器來替換傳統DBNs裡面的RBMs。這就使得可以通過同樣的規則來訓練產生深度多層神經網路架構,但它缺少層的引數化的嚴格要求。與DBNs不同,自動編碼器使用判別模型,這樣這個結構就很難取樣輸入取樣空間,這就使得網路更難捕捉它的內部表達。但是,降噪自動編碼器卻能很好的避免這個問題,並且比傳統的DBNs更優。它通過在訓練過程新增隨機的汙染並堆疊產生場泛化效能。訓練單一的降噪自動編碼器的過程和RBMs訓練生成模型的過程一樣。

下續


相關推薦

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0  2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器

Deep Learning深度學習學習筆記整理系列

轉自:http://blog.csdn.net/zouxy09/article/details/8781396 Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep

Deep Learning深度學習學習筆記整理系列

轉自:http://blog.csdn.net/zouxy09/article/details/8782018 Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep

Deep Learning深度學習學習筆記整理系列Convolutional Neural Networks卷積神經網路

轉處:http://blog.csdn.net/zouxy09/article/details/8781543/ Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep

Deep Learning深度學習學習筆記整理系列AutoEncoder自動編碼器

轉處:http://blog.csdn.net/zouxy09/article/details/8775524 Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep

Deep Learning深度學習學習筆記整理系列

學習能力 架構 -s 解釋 區別 初始化 filter 大牛 ted Deep Learning(深度學習)學習筆記整理系列 聲明: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版本聲明

Deep Learning深度學習學習筆記整理系列

輸入 刪除 encoder 添加 http 標簽 聯系 稀疏 初級 Deep Learning(深度學習)學習筆記整理系列 聲明: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版本聲明也

Deep Learning深度學習學習筆記整理系列

試圖 能夠 多層 深度學習 註意 理解 pap http 相關 Deep Learning(深度學習)學習筆記整理系列 聲明: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版本聲明也

Deep Learning深度學習學習筆記整理系列(概括的很好)----自編碼

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版

Deep Learning深度學習學習筆記整理系列

一、概述        Artificial Intelligence,也就是人工智慧,就像長生不老和星際漫遊一樣,是人類最美好的夢想之一。雖然計算機技術已經取得了長足的進步,但是到目前為止,還沒有一臺電腦能產生“自我”的意識。是的,在人類和大量現成資料的幫助下

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版

Deep Learning 1_深度學習UFLDL教程:Sparse Autoencoder練習斯坦福大學深度學習教程

1前言           本人寫技術部落格的目的,其實是感覺好多東西,很長一段時間不動就會忘記了,為了加深學習記憶以及方便以後可能忘記後能很快回憶起自己曾經學過的東西。      首先,在網上找了一些資料,看見介紹說UFLDL很不錯,很適合從基礎開始學習,Adrew Ng大牛寫得一點都不裝B,感覺非常好

Deep Learning 4_深度學習UFLDL教程:PCA in 2D_Exercise斯坦福大學深度學習教程

前言      本節練習的主要內容:PCA,PCA Whitening以及ZCA Whitening在2D資料上的使用,2D的資料集是45個數據點,每個資料點是2維的。要注意區別比較二維資料與二維影象的不同,特別是在程式碼中,可以看出主要二維資料的在PCA前的預處理不需要先0均值歸一化,而二維自然影象需要先

Deep Learning 3_深度學習UFLDL教程:預處理主成分分析與白化_總結斯坦福大學深度學習教程

1PCA     ①PCA的作用:一是降維;二是可用於資料視覺化; 注意:降維的原因是因為原始資料太大,希望提高訓練速度但又不希望產生很大的誤差。     ② PCA的使用場合:一是希望提高訓練速度;二是記憶體太小;三是希望資料視覺化。     ③用PCA前的預處理:(1)規整化特徵的均值大致為0;(

Deep Learning 19_深度學習UFLDL教程:Convolutional Neural Network_Exercise斯坦福大學深度學習教程

基礎知識 概述       CNN是由一個或多個卷積層(其後常跟一個下采樣層)和一個或多個全連線層組成的多層神經網路。CNN的輸入是2維影象(或者其他2維輸入,如語音訊號)。它通過區域性連線和權值共享,再通過池化可得到平移不變特徵。CNN的另一個優點就是易於訓練

Deep Learning 8_深度學習UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise斯坦福大學深度學習教程

前言 2.實驗環境:win7, matlab2015b,16G記憶體,2T硬碟 3.實驗內容:Exercise: Implement deep networks for digit classification。利用深度網路完成MNIST手寫數字資料庫中手寫數字的識別。即:用6萬個已標註資料(即:6萬