2016年AlphaGo 擊敗韓國圍棋冠軍李世石,在媒體報道中,曾多次提及“深度學(xué)習(xí)”這個概念。而新版本的AlphaGoZero,更充分地運用了深度學(xué)習(xí)法,不再從人類棋手的以往棋譜記錄中開始訓(xùn)練,而是完全靠自己的學(xué)習(xí)算法,通過自我對弈來學(xué)會下棋。經(jīng)過一段時間的自我學(xué)習(xí),它就擊敗了曾打敗李世石的以及曾完勝柯潔的AlphaGo版本。
由此可見,機器的確開始具有了某種學(xué)習(xí)能力。它在訓(xùn)練中得到的不再只是規(guī)則、對象信息,而是還能獲得對象出現(xiàn)的可能條件。換言之,它已經(jīng)能夠開始“感受”和捕捉可能性,而不只是現(xiàn)成之物了。這種學(xué)習(xí)就是一個非線性的、概率的、反饋調(diào)整的和逐層逐時地深化和構(gòu)成的準發(fā)生過程。這是一個具有某種真實時間歷程的習(xí)得過程。
什么是深度學(xué)習(xí)?
深度學(xué)習(xí)是機器學(xué)習(xí)的一種形式,所采用的神經(jīng)網(wǎng)絡(luò)在輸入節(jié)點和輸出節(jié)點之間具有許多“深度”層。通過基于大數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),創(chuàng)建的模型可用于根據(jù)輸入數(shù)據(jù)進行精確預(yù)測。在用于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)中,每一層的輸出會前饋到下一層的輸入。通過更改各層之間連接的加權(quán),反復(fù)優(yōu)化模型。在每一個周期,對模型預(yù)測準確度的反饋將用于指導(dǎo)連接加權(quán)的更改。
輸入和輸出之間含有“深度”隱藏層的神經(jīng)網(wǎng)絡(luò):
相對輸入加權(quán)的更改:
人工智能、機器學(xué)習(xí)與深度學(xué)習(xí)
如上圖,最早出現(xiàn)的人工智能位于同心圓最外側(cè);其次是隨后發(fā)展起來的機器學(xué)習(xí),位于中間;最后是推動人工智能突飛猛進發(fā)展的深度學(xué)習(xí),位于最內(nèi)側(cè)。
自上個世紀50年代的人工智能熱以來,基于人工智能概念的機器學(xué)習(xí)和深度學(xué)習(xí)又掀起一陣前所未有的新浪潮。
1956年,幾個計算機科學(xué)家在達特茅斯會議上首次提出了“人工智能”的概念。此后,人工智能就一直縈繞于人們的腦海之中,并在科研實驗室中蓄勢待發(fā)。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),有人稱其為打開人類文明輝煌未來的鑰匙,也有人將其當(dāng)成科技瘋子的狂想扔到技術(shù)垃圾堆里。其實2012年之前,這兩種觀點一直不相上下。
過去幾年,尤其是2015年以來,人工智能突飛猛進地發(fā)展。這主要歸功于圖形處理器(GPU)的廣泛應(yīng)用,使得并行計算變得更快、更便宜、更有效。當(dāng)然,無限拓展的存儲能力和驟然爆發(fā)的數(shù)據(jù)洪流(大數(shù)據(jù))的組合拳,也使得圖像數(shù)據(jù)、文本數(shù)據(jù)、交易數(shù)據(jù)、映射數(shù)據(jù)全面海量爆發(fā)。
機器學(xué)習(xí)——實現(xiàn)人工智能的方法
機器學(xué)習(xí)最基本的做法,是使用算法來解析數(shù)據(jù)、從中學(xué)習(xí),然后對真實世界中的事件做出決策和預(yù)測。與傳統(tǒng)的為解決特定任務(wù)、硬編碼的軟件程序不同,機器學(xué)習(xí)是用大量的數(shù)據(jù)來“訓(xùn)練”,通過各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。
機器學(xué)習(xí)直接來源于早期的人工智能領(lǐng)域。傳統(tǒng)算法包括決策樹學(xué)習(xí)、推導(dǎo)邏輯規(guī)劃、聚類、強化學(xué)習(xí)和貝葉斯網(wǎng)絡(luò)等等。眾所周知,我們還沒有實現(xiàn)強人工智能。早期機器學(xué)習(xí)方法甚至都無法實現(xiàn)弱人工智能。
機器學(xué)習(xí)最成功的應(yīng)用領(lǐng)域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪里開始,到哪里結(jié)束;寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“ST-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發(fā)算法來感知圖像,判斷圖像是不是一個停止標(biāo)志牌。
深度學(xué)習(xí)——實現(xiàn)機器學(xué)習(xí)的技術(shù)
人工神經(jīng)網(wǎng)絡(luò)是早期機器學(xué)習(xí)中的一個重要的算法。神經(jīng)網(wǎng)絡(luò)的原理是受我們大腦的生理結(jié)構(gòu)——互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層、連接和數(shù)據(jù)傳播的方向。
例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。
每一個神經(jīng)元都為它的輸入分配權(quán)重,這個權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。
我們停止(Stop)標(biāo)志牌為例。將一個停止標(biāo)志牌圖像的所有元素都打碎,然后用神經(jīng)元進行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會根據(jù)所有權(quán)重,給出一個經(jīng)過深思熟慮的猜測——“概率向量”。
這個例子里,系統(tǒng)可能會給出這樣的結(jié)果:86%可能是一個停止標(biāo)志牌;7%的可能是一個限速標(biāo)志牌;5%的可能是一個風(fēng)箏掛在樹上等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。
其實在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,但神經(jīng)網(wǎng)絡(luò)對于“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運算。神經(jīng)網(wǎng)絡(luò)算法的運算需求難以得到滿足。
現(xiàn)在,經(jīng)過深度學(xué)習(xí)訓(xùn)練的圖像識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌癥的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學(xué)會了如何下圍棋,然后與它自己下棋訓(xùn)練。它訓(xùn)練自己神經(jīng)網(wǎng)絡(luò)的方法,就是不斷地與自己下棋,反復(fù)地下,永不停歇。
深度學(xué)習(xí)的相關(guān)技術(shù)
深度學(xué)習(xí)可以讓那些擁有多個處理層的計算模型來學(xué)習(xí)具有多層次抽象的數(shù)據(jù)的表示。這些方法在許多方面都帶來了顯著的改善,包括最先進的語音識別、視覺對象識別、對象檢測和許多其它領(lǐng)域。深度學(xué)習(xí)能夠發(fā)現(xiàn)大數(shù)據(jù)中的復(fù)雜結(jié)構(gòu)。深度卷積網(wǎng)絡(luò)在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網(wǎng)絡(luò)在處理序列數(shù)據(jù),比如文本和語音方面表現(xiàn)出了閃亮的一面。
幾十年來,想要構(gòu)建一個模式識別系統(tǒng)或者機器學(xué)習(xí)系統(tǒng),需要一個精致的引擎和相當(dāng)專業(yè)的知識來設(shè)計一個特征提取器,把原始數(shù)據(jù)(如圖像的像素值)轉(zhuǎn)換成一個適當(dāng)?shù)膬?nèi)部特征表示或特征向量,子學(xué)習(xí)系統(tǒng),通常是一個分類器,對輸入的樣本進行檢測或分類。特征表示學(xué)習(xí)是一套給機器灌入原始數(shù)據(jù),然后能自動發(fā)現(xiàn)需要進行檢測和分類的表達的方法。
深度學(xué)習(xí)就是一種特征學(xué)習(xí)方法,把原始數(shù)據(jù)通過一些簡單的但是非線性的模型轉(zhuǎn)變成為更高層次的,更加抽象的表達。通過足夠多的轉(zhuǎn)換的組合,非常復(fù)雜的函數(shù)也可以被學(xué)習(xí)。
監(jiān)督學(xué)習(xí)
機器學(xué)習(xí)中,不論是否是深層,最常見的形式是監(jiān)督學(xué)習(xí)。我們要建立一個系統(tǒng),它能夠?qū)σ粋€包含了一座房子、一輛汽車、一個人或一個寵物的圖像進行分類。我們先收集大量的房子,汽車,人與寵物的圖像的數(shù)據(jù)集,并對每個對象標(biāo)上它的類別。在訓(xùn)練期間,機器會獲取一副圖片,然后產(chǎn)生一個輸出,這個輸出以向量形式的分數(shù)來表示,每個類別都有一個這樣的向量。我們希望所需的類別在所有的類別中具有最高的得分,但是這在訓(xùn)練之前是不太可能發(fā)生的。通過計算一個目標(biāo)函數(shù)可以獲得輸出分數(shù)和期望模式分數(shù)之間的誤差(或距離)。然后機器會修改其內(nèi)部可調(diào)參數(shù),以減少這種誤差。這些可調(diào)節(jié)的參數(shù),通常被稱為權(quán)值,它們是一些實數(shù),定義了機器的輸入輸出功能。
在典型的深學(xué)習(xí)系統(tǒng)中,有可能有數(shù)以百萬計的樣本和權(quán)值,和帶有標(biāo)簽的樣本,用來訓(xùn)練機器。為了正確地調(diào)整權(quán)值向量,該學(xué)習(xí)算法計算每個權(quán)值的梯度向量,表示了如果權(quán)值增加了一個很小的量,那么誤差會增加或減少的量。權(quán)值向量然后在梯度矢量的相反方向上進行調(diào)整。我們的目標(biāo)函數(shù),所有訓(xùn)練樣本的平均,可以被看作是一種在權(quán)值的高維空間上的多變地形。負的梯度矢量表示在該地形中下降方向最快,使其更接近于最小值,也就是平均輸出誤差低最低的地方。
卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)被設(shè)計用來處理到多維數(shù)組數(shù)據(jù)的,比如一個有3個包含了像素值2-D圖像組合成的一個具有3個顏色通道的彩色圖像。很多數(shù)據(jù)形態(tài)都是這種多維數(shù)組的:1D用來表示信號和序列包括語言,2D用來表示圖像或者聲音,3D用來表示視頻或者有聲音的圖像。卷積神經(jīng)網(wǎng)絡(luò)使用4個關(guān)鍵的想法來利用自然信號的屬性:局部連接、權(quán)值共享、池化以及多網(wǎng)絡(luò)層的使用。
一個典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是由一系列的過程組成的。最初的幾個階段是由卷積層和池化層組成,卷積層的單元被組織在特征圖中,在特征圖中,每一個單元通過一組叫做濾波器的權(quán)值被連接到上一層的特征圖的一個局部塊,然后這個局部加權(quán)和被傳給一個非線性函數(shù),比如ReLU。在一個特征圖中的全部單元享用相同的過濾器,不同層的特征圖使用不同的過濾器。使用這種結(jié)構(gòu)處于兩方面的原因:
1、在數(shù)組數(shù)據(jù)中,比如圖像數(shù)據(jù),一個值的附近的值經(jīng)常是高度相關(guān)的,可以形成比較容易被探測到的有區(qū)分性的局部特征。
2、不同位置局部統(tǒng)計特征不太相關(guān)的,也就是說,在一個地方出現(xiàn)的某個特征,也可能出現(xiàn)在別的地方,所以不同位置的單元可以共享權(quán)值以及可以探測相同的樣本。在數(shù)學(xué)上,這種由一個特征圖執(zhí)行的過濾操作是一個離線的卷積,卷積神經(jīng)網(wǎng)絡(luò)也是這么得名來的。
深度神經(jīng)網(wǎng)絡(luò)利用的很多自然信號是層級組成的屬性,在這種屬性中高級的特征是通過對低級特征的組合來實現(xiàn)的。在圖像中,局部邊緣的組合形成基本圖案,這些圖案形成物體的局部,然后再形成物體。這種層級結(jié)構(gòu)也存在于語音數(shù)據(jù)以及文本數(shù)據(jù)中,如電話中的聲音,因素,音節(jié),文檔中的單詞和句子。當(dāng)輸入數(shù)據(jù)在前一層中的位置有變化的時候,池化操作讓這些特征表示對這些變化具有魯棒性。
使用深度卷積網(wǎng)絡(luò)進行圖像理解
21世紀開始,卷積神經(jīng)網(wǎng)絡(luò)就被成功的大量用于檢測、分割、物體識別以及圖像的各個領(lǐng)域。這些應(yīng)用都是使用了大量的有標(biāo)簽的數(shù)據(jù),比如交通信號識別,生物信息分割,面部探測,文本、行人以及自然圖形中的人的身體部分的探測。近年來,卷積神經(jīng)網(wǎng)絡(luò)的一個重大成功應(yīng)用是人臉識別。
圖像可以在像素級別進行打標(biāo)簽,這樣就可以應(yīng)用在比如自動電話接聽機器人、自動駕駛汽車等技術(shù)中。像Mobileye以及NVIDIA公司正在把基于卷積神經(jīng)網(wǎng)絡(luò)的方法用于汽車中的視覺系統(tǒng)中。其它的應(yīng)用涉及到自然語言的理解以及語音識別中。
如今的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)有10-20層采用ReLU激活函數(shù)、上百萬個權(quán)值以及幾十億個連接。然而訓(xùn)練如此大的網(wǎng)絡(luò)兩年前就只需要幾周了,現(xiàn)在硬件、軟件以及算法并行的進步,又把訓(xùn)練時間壓縮到了幾小時。
卷積神經(jīng)網(wǎng)絡(luò)很容易在芯片或者現(xiàn)場可編程門陣列(FPGA)中高效實現(xiàn),許多公司正在開發(fā)卷積神經(jīng)網(wǎng)絡(luò)芯片,以使智能機、相機、機器人以及自動駕駛汽車中的實時視覺系統(tǒng)成為可能。
遞歸神經(jīng)網(wǎng)絡(luò)
引入反向傳播算法時,最令人興奮的便是使用遞歸神經(jīng)網(wǎng)絡(luò)訓(xùn)練。對于涉及到序列輸入的任務(wù),比如語音和語言,利用RNNs能獲得更好的效果。RNNs一次處理一個輸入序列元素,同時維護網(wǎng)絡(luò)中隱式單元中隱式的包含過去時刻序列元素的歷史信息的“狀態(tài)向量”。如果是深度多層網(wǎng)絡(luò)不同神經(jīng)元的輸出,我們就會考慮這種在不同離散時間步長的隱式單元的輸出,這將會使我們更加清晰怎么利用反向傳播來訓(xùn)練RNNs。
RNNs是非常強大的動態(tài)系統(tǒng),但是訓(xùn)練它們被證實存在問題的,因為反向傳播的梯度在每個時間間隔內(nèi)是增長或下降的,所以經(jīng)過一段時間后將導(dǎo)致結(jié)果的激增或者降為零。
由于先進的架構(gòu)和訓(xùn)練方式,RNNs被發(fā)現(xiàn)可以很好的預(yù)測文本中下一個字符或者句子中下一個單詞,并且可以應(yīng)用于更加復(fù)雜的任務(wù)。例如在某時刻閱讀英語句子中的單詞后,將會訓(xùn)練一個英語的“編碼器”網(wǎng)絡(luò),使得隱式單元的最終狀態(tài)向量能夠很好地表征句子所要表達的意思或思想。這種“思想向量”可以作為聯(lián)合訓(xùn)練一個法語“編碼器”網(wǎng)絡(luò)的初始化隱式狀態(tài)(或者額外的輸入),其輸出為法語翻譯首單詞的概率分布。如果從分布中選擇一個特殊的首單詞作為編碼網(wǎng)絡(luò)的輸入,將會輸出翻譯的句子中第二個單詞的概率分布,并直到停止選擇為止。
總體而言,這一過程是根據(jù)英語句子的概率分布而產(chǎn)生的法語詞匯序列。這種簡單的機器翻譯方法的表現(xiàn)甚至可以和最先進的的方法相媲美,同時也引起了人們對于理解句子是否需要像使用推理規(guī)則操作內(nèi)部符號表示質(zhì)疑。這與日常推理中同時涉及到根據(jù)合理結(jié)論類推的觀點是匹配的。
機器學(xué)習(xí)和深度學(xué)習(xí)的主要差異
深度學(xué)習(xí)和機器學(xué)習(xí)都提供了訓(xùn)練模型和分類數(shù)據(jù)的方法,那么這兩者到底有什么區(qū)別?
使用標(biāo)準的機器學(xué)習(xí)的方法,我們需要手動選擇圖像的相關(guān)特征,以訓(xùn)練機器學(xué)習(xí)模型。然后,模型在對新對象進行分析和分類時引用這些特征。
通過深度學(xué)習(xí)的工作流程,可以從圖像中自動提取相關(guān)功能。另外,深度學(xué)習(xí)是一種端到端的學(xué)習(xí),網(wǎng)絡(luò)被賦予原始數(shù)據(jù)和分類等任務(wù),并且可以自動完成。
另一個關(guān)鍵的區(qū)別是深度學(xué)習(xí)算法與數(shù)據(jù)縮放,而淺層學(xué)習(xí)數(shù)據(jù)收斂。淺層學(xué)習(xí)指的是當(dāng)用戶向網(wǎng)絡(luò)中添加更多示例和訓(xùn)練數(shù)據(jù)時,機器學(xué)習(xí)的方式能夠在特定性能水平上達到平臺級。
如果需要在深度學(xué)習(xí)和機器學(xué)習(xí)之間作出抉擇,用戶需要明確是否具有高性能的GPU和大量的標(biāo)記數(shù)據(jù)。如果用戶沒有高性能GPU和標(biāo)記數(shù)據(jù),那么機器學(xué)習(xí)比深度學(xué)習(xí)更具優(yōu)勢。這是因為深度學(xué)習(xí)通常比較復(fù)雜,就圖像而言可能需要幾千張圖才能獲得可靠的結(jié)果。高性能的GPU能夠幫助用戶,在建模上花更少的時間來分析所有的圖像。
如果用戶選擇機器學(xué)習(xí),可以選擇在多種不同的分類器上訓(xùn)練模型,也能知道哪些功能可以提取出最好的結(jié)果。此外,通過機器學(xué)習(xí),我們可以靈活地選擇多種方式的組合,使用不同的分類器和功能來查看哪種排列最適合數(shù)據(jù)。
所以,一般來說,深度學(xué)習(xí)的計算量更大,而機器學(xué)習(xí)技術(shù)通常更易于使用。
深度學(xué)習(xí),給人工智能以璀璨的未來
深度學(xué)習(xí)使得機器學(xué)習(xí)能夠?qū)崿F(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍。深度學(xué)習(xí)摧枯拉朽般地實現(xiàn)了各種任務(wù),使得似乎所有的機器輔助功能都變?yōu)榭赡堋?a target="_blank">無人駕駛汽車,預(yù)防性醫(yī)療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現(xiàn)。
審核編輯:劉清
-
濾波器
+關(guān)注
關(guān)注
161文章
7817瀏覽量
178122 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4771瀏覽量
100766 -
人工智能
+關(guān)注
關(guān)注
1791文章
47279瀏覽量
238486 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8418瀏覽量
132630 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121162
原文標(biāo)題:關(guān)于人工智能深度學(xué)習(xí)的那些事兒
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論