深度學習作為機器學習的一個分支,其學習方法可以分為監督學習和無監督學習。兩種方法都具有其獨特的學習模型:多層感知機 、卷積神經網絡等屬於監 督學習;深度置信網 、自動編碼器 、去噪自動編碼器 、稀疏編碼等屬於無監督學習。
1、監督學習:卷積神經網絡CNNs
20世紀60年代,Hubel和Wiesel通過對貓視覺皮層細胞的研究,提出了感受野(receptive field)的概 念。受此啟發, Fukushima提出神經認知機 (neocognitron)可看作是CNNs卷積神經網絡的第一個實現網絡,也是感受野概念在人工神 經網絡領域的首次應用。隨後LeCun等人設計並採用基於誤差梯度的算法訓練了卷積神經網絡,並且其在一些模式識別任務中展現出了相對於當時其它方法的領先性能。現代生理學關於視覺系統的理解也與CNNs中的圖像處理過程相一致,這為CNNs在圖像識別中的應用奠定了基礎。CNNs是第一個真正成功地採用多層層次結構網絡的具有魯棒性的深度學習方法,通過研究數據在空間上的關聯性,來減少訓練參數的數量。目前來看,在圖像識別領域,CNNs已經成為一種高效的識別方法。
CNNs是一個多層的神經網絡,如圖3所示,每層由多個二維平面組成,每個平面又由多個獨立的神經元組成。上一層中的一組局部單元作為下一層鄰近單元的輸入,這種局部連接觀點最早起源於感知器。外界輸入的圖像通過可訓練的濾波器加偏置進行卷積,卷積後在C1層會產生3個特徵映射圖;然後特徵映射圖中每組像素分別進行求和加偏置,再通過Sigmoid函數得到S2層的特徵映射圖;這些映射圖再通過濾波器得到 C3層;C3與 S2類似,再產生 S4;最後,這些像素值被光柵化,並且連接成向量輸入到神經網絡,從而便得到了輸出。一般地,C 層為特徵提取層,每個神經元的輸入與前一層的局部感受野相連,並提取該局部特徵,根據局部特徵來確定它與其他特徵空間的位置關係;S層是特徵映射層,特徵映射具有位移不變性,每個特徵映射為一個平面,平面上所有神經元的權值是相等的,因而減少了網絡自由參數的個數,降低了網絡參數選擇的複雜度。每一個特徵提取層(C 層)都會跟著一個用於求局部平均及二次提取的計算層(S 層),這便構成了兩次特徵提取的結構,從而在對輸入樣本識別時,網絡有很好的畸變容忍能力。對於每一個神經元,都定義了對應的接受域,其只接受從自己接受域傳來的信號。多個映射層組合起來可以獲得層之間的關係和空域上的信息,從而方便進行圖像處理。
CNNs是人工神經網絡的一種,其適應性強,善於挖掘數據局部特徵。它的權值共享網絡結構使之更類似於生物神經網絡,降低了網絡模型的複雜度,減少了權值的數量,使得CNNs在模式識別中的各個領域得到應用並取得了很好的結果。CNNs通過結合局部感知區域、共享權重、空間或時間上的降採樣來充分利用數據本身包含的局部性等特徵,優化網絡結構,並且保證一定程度上的位移的不變性。由LeCun出的LeNet模型在應用到各種不同的圖像識別任務時都取得了不錯的效果,被認為是通用圖像識別系統的代表之一。通過這些年的研究工作,CNNs的應用越來越多,如人臉檢測 、文檔分析 、語音檢測 、車牌識別等 方面。2006年Kussul等人提出的採用排列編碼技術的神經網絡在人臉識別、手寫數字識別和小物體識別等識別任務上都取得了與一些專用分類系統相當的性能表現;並且在2012年,研究人員把視頻數據裡連續的幀當作卷積神經網絡的輸入數據,這樣就可以引入時間維度上的數據,從而識別人體的動作。
2、無監督學習:深度置信網DBNs
DBNs是目前研究和應用都比較廣泛的深度學習結構,它由多個受限玻爾茲曼機 累加而成。RBM結構如圖4 所示,分為可視層即輸入數據層(υ)和隱藏層(h),每一層的節點之間沒有連接,但層和層之間彼此互連。相比傳統的sigmoid信念網絡,RBM易於連接權值的學習。Hinton等人認 為,如果一個典 型的DBN有l個隱含層,那麼可以用聯合概率分布來描述輸入數據υ和隱含向量的關係:
其中,是條件概率分布。DBN學習的過程中,所要學習的就是聯合概率分布,在機器學習的領域中,聯合概率分布的意義就是對象的生成。
傳統的BP算法在經典的網絡結構中廣泛應用,但對於深度學習的訓練卻遇到了 很多困難:第一,BP算法是監督學習,訓練需要有標籤的樣本集,但實際能得到的數據都是無標籤的;第二,BP算法在多隱層的學習結構中,學習過程較慢;第三,不適當的參數選擇會導致局部最優解。為了獲取生成性權值,預訓練採用非監督貪婪逐層算法,非監督貪婪逐層訓練算法被Hinton證明是有效的。
非監督貪婪逐層訓練算法的核心思想是:把 DBN分層(見圖5),每一層進行 無監督學習,每次只訓練一層,將其結果作為高一層的輸入,最後用監督學習 調整所有層。在這個訓練階段,首先,在可視層會產生一個向量v,通過它將值映射給隱單元;然後,可視層的輸入會被隨機地選擇,以嘗試去重構原始的輸入信號;最後,這些新可視單元再次映射給隱單元,獲得新的隱單元h。執 行這種反覆步驟叫做吉布斯(Gibbs)採樣。隱層激活單元和可視層輸入之間 的 相關性差別就作為權值更新的主要依據。在最高兩層,權值被連接到一起,從而更低層的輸出將會提供一個參考的線索或者關聯給頂層,這樣頂層就會將其 聯繫到它的記憶內容。預訓練結束後,DBN可以利用帶標籤的數據及BP算法去 調整網絡結構的性能。DBNs的BP算法只需要對權值參數空間進行一個局部的搜索,這相比前向神經網絡來說,訓練的時間會顯著減少,訓練 RBM是Gibbs有效的隨機抽樣技術。在貪婪的學習算法過程中,採用了Wake-Sleep算法的基 本思想,算法在Wake階段,利用學習得到的權重,按照自底向上的順序為下一層的訓練提供數據;在Sleep階段,按照自頂向下的順序利用權重對數據進行重組。
DBNs是目前研究和應用都比較廣泛的深度學習結構,由於靈活性很好,因此比較容易拓展,例如卷積DBNs就是DBNs的一個拓展,給語音信號處理問題帶來 了突破性的進展。DBNs作為一個新興的生成模型,已廣泛應用到了對象建模、特徵提取、識別等領域。