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