大V吳恩達(dá)曾經(jīng)說過:做AI研究就像造宇宙飛船,除了充足的燃料之外,強(qiáng)勁的引擎也是必不可少的。假如燃料不足,則飛船就無法進(jìn)入預(yù)定軌道。而引擎不夠強(qiáng)勁,飛船甚至不能升空。類比于AI,深度學(xué)習(xí)模型就好像引擎,海量的訓(xùn)練數(shù)據(jù)就好像燃料,這兩者對于AI而言同樣缺一不可。
深度學(xué)習(xí)是一個(gè)近幾年備受關(guān)注的研究領(lǐng)域,在機(jī)器學(xué)習(xí)中起著重要的作用。 深度學(xué)習(xí)通過建立、模擬人腦的分層結(jié)構(gòu)來實(shí)現(xiàn)對外部輸入的數(shù)據(jù)進(jìn)行從低級到高級的特征提取,從而能夠解釋外部數(shù)據(jù)。
深度學(xué)習(xí)
深度學(xué)習(xí)(Deep Learning)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。
深度學(xué)習(xí)也稱為深度結(jié)構(gòu)學(xué)習(xí)【Deep Structured Learning】、層次學(xué)習(xí)【Hierarchical Learning】或者是深度機(jī)器學(xué)習(xí)【Deep Machine Learning】)是一類算法集合,是機(jī)器學(xué)習(xí)的一個(gè)分支。它嘗試為數(shù)據(jù)的高層次摘要進(jìn)行建模。
機(jī)器學(xué)習(xí)通過算法,讓機(jī)器可以從外界輸入的大量的數(shù)據(jù)中學(xué)習(xí)到規(guī)律,從而進(jìn)行識別判斷。機(jī)器學(xué)習(xí)的發(fā)展經(jīng)歷了淺層學(xué)習(xí)和深度學(xué)習(xí)兩次浪潮。深度學(xué)習(xí)可以理解為神經(jīng)網(wǎng)絡(luò)的發(fā)展,神經(jīng)網(wǎng)絡(luò)是對人腦或生物神經(jīng)網(wǎng)絡(luò)基本特征進(jìn)行抽象和建模,可以從外界環(huán)境中學(xué)習(xí),并以與生物類似的交互方式適應(yīng)環(huán)境。神經(jīng)網(wǎng)絡(luò)是智能學(xué)科的重要部分,為解決復(fù)雜問題和智能控制提供了有效 的途徑。神經(jīng)網(wǎng)絡(luò)曾一度成為機(jī)器學(xué)習(xí)領(lǐng)域備受關(guān)注的方向。
我們用一個(gè)簡單的例子來說明,假設(shè)你有兩組神經(jīng)元,一個(gè)是接受輸入的信號,一個(gè)是發(fā)送輸出的信號。當(dāng)輸入層接收到輸入信號的時(shí)候,它將輸入層做一個(gè)簡單的修改并傳遞給下一層。在一個(gè)深度網(wǎng)絡(luò)中,輸入層與輸出層之間可以有很多的層(這些層并不是由神經(jīng)元組成的,但是它可以以神經(jīng)元的方式理解),允許算法使用多個(gè)處理層,并可以對這些層的結(jié)果進(jìn)行線性和非線性的轉(zhuǎn)換。
深度學(xué)習(xí)的由來
1、人腦視覺機(jī)理啟示
人類每時(shí)每刻都面臨著大量的感知數(shù)據(jù),但大腦總能很容易地捕獲重要的信息。人工智能的核心問題就是模仿大腦這種高效準(zhǔn)確地表示信息的能力。通 過 近些年的研究,我們對大腦機(jī)理已有了一些了解,這些都推動(dòng)了人工智能的發(fā)展。
神經(jīng)學(xué)研究表明,人的視覺系統(tǒng)的信息處理是分級的,從低級的V1區(qū)提取邊緣特征,到V2區(qū)的形狀,再到更高層。人類大腦在接收到外部信號時(shí),不是直接對數(shù)據(jù)進(jìn)行處理,而是通過一個(gè)多層的網(wǎng)絡(luò)模型來獲取數(shù)據(jù)的規(guī)律。這種層次
結(jié)構(gòu)的感知系統(tǒng)使視覺系統(tǒng)需要處理的數(shù)據(jù)量大大減少,并保留了物體有用的結(jié)構(gòu)信息。
2、現(xiàn)有機(jī)器學(xué)習(xí)的局限性
深度學(xué)習(xí)與淺層學(xué)習(xí)相對?,F(xiàn)在很多的學(xué)習(xí)方法都是淺層結(jié)構(gòu)算法,它們存在一定的局限性,比如在樣本有限的情況下表示復(fù)雜函數(shù)的能力有限,針對復(fù)雜的分類問題其泛化能力受到一定制約。
而深度學(xué)習(xí)可通過學(xué)習(xí)一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)復(fù)雜函數(shù)逼近,表征輸 入數(shù)據(jù)分布式表示,并且能在樣本集很少的情況下去學(xué)習(xí)數(shù)據(jù)集的本質(zhì)特征。
雖然淺層學(xué)習(xí)的應(yīng)用也很廣泛,但它只對簡單的計(jì)算才有效,并不能到達(dá)人腦的反應(yīng)效果,這就需要深度的機(jī)器學(xué)習(xí)。這些都表明淺層學(xué)習(xí)網(wǎng)絡(luò)有很大的局限性,激發(fā)了我們對深度網(wǎng)絡(luò)建模的研究。
深度機(jī)器學(xué)習(xí)是數(shù)據(jù)分布式表示的必然結(jié)果。有很多學(xué)習(xí)結(jié)構(gòu)的學(xué)習(xí)算法得到的學(xué)習(xí)器是局部估計(jì)算子,例如,由核方法構(gòu)造的學(xué)習(xí)器,是由對模板的匹配度加權(quán)構(gòu)成的。對于這樣的問題,通常我們有合理的假設(shè),但當(dāng)目標(biāo)函數(shù)非常復(fù)雜時(shí),由于需要利用參數(shù)進(jìn)行描述的區(qū)域數(shù)目也是巨大的,因此這樣的模型 泛化能力很差。在機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)研究中分布式表示可以處理維數(shù)災(zāi)難和局部泛化限制。分布式表示不僅可以很好地描述概念間的相似性,而且合適的分布式表示在有限的數(shù)據(jù)下能體現(xiàn)出更好的泛化性能。理解和處理接收到的信 息是人類認(rèn)知活動(dòng)的重要環(huán)節(jié),由于這些信息的結(jié)構(gòu)一般都很復(fù)雜,因此構(gòu)造
深度的學(xué)習(xí)機(jī)器去實(shí)現(xiàn)一些人類的認(rèn)知活動(dòng)是很有必要的。
3、特征提取的需要
機(jī)器學(xué)習(xí)通過算法,讓機(jī)器可以從外界輸入的大量數(shù)據(jù)中學(xué)習(xí)到規(guī)律,從而進(jìn)行識別判斷。機(jī)器學(xué)習(xí)在解決圖像識別、語音識別、自然語言理解等問題時(shí)的 大致流程如圖 1 所示。
首先通過傳感器來獲得數(shù)據(jù),然后經(jīng)過預(yù)處理、特征提取、特征選擇,再到推理、預(yù)測和識別。良好的特征表達(dá)影響著最終算法的準(zhǔn)確性,而且系統(tǒng)主要的計(jì)算和測試工作都在這一環(huán)節(jié)。這個(gè)環(huán)節(jié)一 般都是人工完成的,靠人工提取特征是一種非常費(fèi)力的方法,不能保證選取的質(zhì)量,而且它的調(diào)節(jié)需要大量的時(shí)間。然而深度學(xué)習(xí)能自動(dòng)地學(xué)習(xí)一些特征,不需要人參與特征的選取過程。
深度學(xué)習(xí)是一個(gè)多層次的學(xué)習(xí),如圖2所示,用較少的隱含層是不可能達(dá)到與 人腦類似的效果的。這需要多層的學(xué)習(xí),逐層學(xué)習(xí)并把學(xué)習(xí)的知識傳遞給下一 層,通過這種方式,就可以實(shí)現(xiàn)對輸入信息進(jìn)行分級表達(dá)。深度學(xué)的實(shí)質(zhì)就是通過建立、模擬人腦的分層結(jié)構(gòu),對外部輸入的聲音、圖像、文本等數(shù)據(jù)進(jìn)行從低級到高級的特征提取,從而能夠解釋外部數(shù)據(jù)。與傳統(tǒng)學(xué)習(xí)結(jié)構(gòu)相比,深 度學(xué)習(xí)更加強(qiáng)調(diào)模型結(jié)構(gòu)的深度,通常含有多層的隱層節(jié)點(diǎn),而且在深度學(xué)習(xí)中,特征學(xué)習(xí)至關(guān)重要,通過特征的逐層變換完成最后的預(yù)測和識別。
深度學(xué)習(xí)的經(jīng)典算法
深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支,其學(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) 、自動(dòng)編碼器 、去噪自動(dòng)編碼器 、稀疏編碼等屬于無監(jiān)督學(xué)習(xí)。
1、監(jiān)督學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)CNNs
20世紀(jì)60年代,Hubel和Wiesel通過對貓視覺皮層細(xì)胞的研究,提出了感受野(receptive field)的概 念。受此啟發(fā), Fukushima提出神經(jīng)認(rèn)知機(jī) (neocognitron)可看作是CNNs卷積神經(jīng)網(wǎng)絡(luò)的第一個(gè)實(shí)現(xiàn)網(wǎng)絡(luò),也是感受野概念在人工神 經(jīng)網(wǎng)絡(luò)領(lǐng)域的首次應(yīng)用。隨后LeCun等人設(shè)計(jì)并采用基于誤差梯度的算法訓(xùn)練了卷積神經(jīng)網(wǎng)絡(luò),并且其在一些模式識別任務(wù)中展現(xiàn)出了相對于當(dāng)時(shí)其它方法的領(lǐng)先性能。現(xiàn)代生理學(xué)關(guān)于視覺系統(tǒng)的理解也與CNNs中的圖像處理過程相一致,這為CNNs在圖像識別中的應(yīng)用奠定了基礎(chǔ)。CNNs是第一個(gè)真正成功地采用多層層次結(jié)構(gòu)網(wǎng)絡(luò)的具有魯棒性的深度學(xué)習(xí)方法,通過研究數(shù)據(jù)在空間上的關(guān)聯(lián)性,來減少訓(xùn)練參數(shù)的數(shù)量。目前來看,在圖像識別領(lǐng)域,CNNs已經(jīng)成為一種高效的識別方法。
CNNs是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),如圖3所示,每層由多個(gè)二維平面組成,每個(gè)平面又由多個(gè)獨(dú)立的神經(jīng)元組成。上一層中的一組局部單元作為下一層鄰近單元的輸入,這種局部連接觀點(diǎn)最早起源于感知器。外界輸入的圖像通過可訓(xùn)練的濾波器加偏置進(jìn)行卷積,卷積后在C1層會產(chǎn)生3個(gè)特征映射圖;然后特征映射圖中每組像素分別進(jìn)行求和加偏置,再通過Sigmoid函數(shù)得到S2層的特征映射圖;這些映射圖再通過濾波器得到 C3層;C3與 S2類似,再產(chǎn)生 S4;最后,這些像素值被光柵化,并且連接成向量輸入到神經(jīng)網(wǎng)絡(luò),從而便得到了輸出。一般地,C 層為特征提取層,每個(gè)神經(jīng)元的輸入與前一層的局部感受野相連,并提取該局部特征,根據(jù)局部特征來確定它與其他特征空間的位置關(guān)系;S層是特征映射層,特征映射具有位移不變性,每個(gè)特征映射為一個(gè)平面,平面上所有神經(jīng)元的權(quán)值是相等的,因而減少了網(wǎng)絡(luò)自由參數(shù)的個(gè)數(shù),降低了網(wǎng)絡(luò)參數(shù)選擇的復(fù)雜度。每一個(gè)特征提取層(C 層)都會跟著一個(gè)用于求局部平均及二次提取的計(jì)算層(S 層),這便構(gòu)成了兩次特征提取的結(jié)構(gòu),從而在對輸入樣本識別時(shí),網(wǎng)絡(luò)有很好的畸變?nèi)萑棠芰?。對于每一個(gè)神經(jīng)元,都定義了對應(yīng)的接受域,其只接受從自己接受域傳來的信號。多個(gè)映射層組合起來可以獲得層之間的關(guān)系和空域上的信息,從而方便進(jìn)行圖像處理。
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在模式識別中的各個(gè)領(lǐng)域得到應(yīng)用并取得了很好的結(jié)果。CNNs通過結(jié)合局部感知區(qū)域、共享權(quán)重、空間或時(shí)間上的降采樣來充分利用數(shù)據(jù)本身包含的局部性等特征,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),并且保證一定程度上的位移的不變性。由LeCun出的LeNet模型在應(yīng)用到各種不同的圖像識別任務(wù)時(shí)都取得了不錯(cuò)的效果,被認(rèn)為是通用圖像識別系統(tǒng)的代表之一。通過這些年的研究工作,CNNs的應(yīng)用越來越多,如人臉檢測 、文檔分析 、語音檢測 、車牌識別等 方面。2006年Kussul等人提出的采用排列編碼技術(shù)的神經(jīng)網(wǎng)絡(luò)在人臉識別、手寫數(shù)字識別和小物體識別等識別任務(wù)上都取得了與一些專用分類系統(tǒng)相當(dāng)?shù)男阅鼙憩F(xiàn);并且在2012年,研究人員把視頻數(shù)據(jù)里連續(xù)的幀當(dāng)作卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù),這樣就可以引入時(shí)間維度上的數(shù)據(jù),從而識別人體的動(dòng)作。
2、無監(jiān)督學(xué)習(xí):深度置信網(wǎng)DBNs
DBNs是目前研究和應(yīng)用都比較廣泛的深度學(xué)習(xí)結(jié)構(gòu),它由多個(gè)受限玻爾茲曼機(jī) 累加而成。RBM結(jié)構(gòu)如圖4 所示,分為可視層即輸入數(shù)據(jù)層(υ)和隱藏層(h),每一層的節(jié)點(diǎn)之間沒有連接,但層和層之間彼此互連。相比傳統(tǒng)的sigmoid信念網(wǎng)絡(luò),RBM易于連接權(quán)值的學(xué)習(xí)。Hinton等人認(rèn) 為,如果一個(gè)典 型的DBN有l個(gè)隱含層,那么可以用聯(lián)合概率分布來描述輸入數(shù)據(jù)υ和隱含向量的關(guān)系:
其中,
是條件概率分布。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í)際能得到的數(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分層(見圖5),每一層進(jìn)行 無監(jiān)督學(xué)習(xí),每次只訓(xùn)練一層,將其結(jié)果作為高一層的輸入,最后用監(jiān)督學(xué)習(xí) 調(diào)整所有層。在這個(gè)訓(xùn)練階段,首先,在可視層會產(chǎn)生一個(gè)向量v,通過它將值映射給隱單元;然后,可視層的輸入會被隨機(jī)地選擇,以嘗試去重構(gòu)原始的輸入信號;最后,這些新可視單元再次映射給隱單元,獲得新的隱單元h。執(zhí) 行這種反復(fù)步驟叫做吉布斯(Gibbs)采樣。隱層激活單元和可視層輸入之間 的 相關(guān)性差別就作為權(quán)值更新的主要依據(jù)。在最高兩層,權(quán)值被連接到一起,從而更低層的輸出將會提供一個(gè)參考的線索或者關(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)行一個(gè)局部的搜索,這相比前向神經(jīng)網(wǎng)絡(luò)來說,訓(xùn)練的時(shí)間會顯著減少,訓(xùn)練 RBM是Gibbs有效的隨機(jī)抽樣技術(shù)。在貪婪的學(xué)習(xí)算法過程中,采用了Wake-Sleep算法的基 本思想,算法在Wake階段,利用學(xué)習(xí)得到的權(quán)重,按照自底向上的順序?yàn)橄乱粚拥挠?xùn)練提供數(shù)據(jù);在Sleep階段,按照自頂向下的順序利用權(quán)重對數(shù)據(jù)進(jìn)行重組。
DBNs是目前研究和應(yīng)用都比較廣泛的深度學(xué)習(xí)結(jié)構(gòu),由于靈活性很好,因此比較容易拓展,例如卷積DBNs就是DBNs的一個(gè)拓展,給語音信號處理問題帶來 了突破性的進(jìn)展。DBNs作為一個(gè)新興的生成模型,已廣泛應(yīng)用到了對象建模、特征提取、識別等領(lǐng)域。
深度學(xué)習(xí)的應(yīng)用
在實(shí)際應(yīng)用中,很多問題都可以通過深度學(xué)習(xí)解決。那么,我們舉一些例子:
黑白圖像的著色
深度學(xué)習(xí)可以用來根據(jù)對象及其情景來為圖片上色,而且結(jié)果很像人類的著色結(jié)果。這種解決方案使用了很大的卷積神經(jīng)網(wǎng)絡(luò)和有監(jiān)督的層來重新創(chuàng)造顏色。
機(jī)器翻譯
深度學(xué)習(xí)可以對未經(jīng)處理的語言序列進(jìn)行翻譯,它使得算法可以學(xué)習(xí)單詞之間的依賴關(guān)系,并將其映射到一種新的語言中。大規(guī)模的LSTM的RNN網(wǎng)絡(luò)可以用來做這種處理。
圖像中的對象分類與檢測
這種任務(wù)需要將圖像分成之前我們所知道的某一種類別中。目前這類任務(wù)最好的結(jié)果是使用超大規(guī)模的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的。突破性的進(jìn)展是Alex Krizhevsky等人在ImageNet比賽中使用的AlexNet模型。
自動(dòng)產(chǎn)生手寫體
這種任務(wù)是先給定一些手寫的文字,然后嘗試生成新的類似的手寫的結(jié)果。首先是人用筆在紙上手寫一些文字,然后根據(jù)寫字的筆跡作為語料來訓(xùn)練模型,并最終學(xué)習(xí)產(chǎn)生新的內(nèi)容。
自動(dòng)玩游戲
這項(xiàng)任務(wù)是根據(jù)電腦屏幕的圖像,來決定如何玩游戲。這種很難的任務(wù)是深度強(qiáng)化模型的研究領(lǐng)域,主要的突破是DeepMind團(tuán)隊(duì)的成果。
聊天機(jī)器人
一種基于sequence to sequence的模型來創(chuàng)造一個(gè)聊天機(jī)器人,用以回答某些問題。它是根據(jù)大量的實(shí)際的會話數(shù)據(jù)集產(chǎn)生的。
盡管深度學(xué)習(xí)的研究還存在許多問題,但它對機(jī)器學(xué)習(xí)領(lǐng)域產(chǎn)生的影響是不容小覷的。更加復(fù)雜且更加強(qiáng)大的深度模型能深刻揭示大數(shù)據(jù)里所承載的信息,并對未來和未知事件作更精準(zhǔn)的預(yù)測??傊疃葘W(xué)習(xí)是一個(gè)值得研究的領(lǐng)域,在未來的幾年一定會更加的成熟。
本篇文章為傳感器技術(shù)平臺原創(chuàng)文章,轉(zhuǎn)載需聯(lián)系我們授權(quán)!未經(jīng)允許轉(zhuǎn)載我們將進(jìn)行投訴!
聯(lián)系客服