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