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