起源于60多年前的人工智能(AI),是建立在“智能即計算”的假設(shè)上。但因為對智能和計算本質(zhì)的認(rèn)知不同,如何構(gòu)造AI又形成了3大學(xué)派。
第一個叫符號主義學(xué)派。主張智能源于數(shù)理邏輯,認(rèn)為人類的認(rèn)知和思維的基本單元是符號,認(rèn)知過程就是對符號的邏輯運算。其代表作是IBM Watson在電視節(jié)目《危險游戲》中出演的“人機(jī)大戰(zhàn)”。
第二個叫行為主義學(xué)派。主張的基礎(chǔ)是諾伯特·維納的控制論,把關(guān)注的聚焦從人類轉(zhuǎn)向了整個生物界的智能(比如昆蟲的個體和群體智能),終極形式是二進(jìn)制的人工生命。其代表作是麻省理工的“六足機(jī)器人”等。
第三個叫連接主義學(xué)派。主張將智能建立在大量簡單的計算單元,經(jīng)過復(fù)雜連接后,并行運算的結(jié)果。這一學(xué)派基于神經(jīng)生物學(xué)和認(rèn)知科學(xué),因為人類大腦的智能就是由1萬億個簡單的神經(jīng)元細(xì)胞,錯綜復(fù)雜的連接起來產(chǎn)生的。其代表作是自然語言識別和計算機(jī)視覺等應(yīng)用。
自2006年以來,深度學(xué)習(xí)算法取得了重要突破,再加上GPU等計算方式和海量數(shù)據(jù)的支持,基于神經(jīng)網(wǎng)絡(luò)的AI在圖像、視覺和語音等方面表現(xiàn)出超越人類的識別效果,讓連接主義學(xué)派的神經(jīng)網(wǎng)絡(luò)又一次煥發(fā)了青春。
神經(jīng)網(wǎng)絡(luò)誕生于20世紀(jì)60年代,最初只包括輸入層、隱藏層和輸出層。輸入層和輸出層通常由應(yīng)用決定,隱含層包含神經(jīng)元可供訓(xùn)練。2006年,Geoffrey Hinton和他的學(xué)生在《科學(xué)》上發(fā)表了一篇文章,提出了深度學(xué)習(xí)的概念,指出可以用更多隱藏層(比如5~10層)做算法訓(xùn)練,試驗效果顯著,開啟了學(xué)界和產(chǎn)業(yè)界AI新浪潮。
深度學(xué)習(xí)可以讓機(jī)器自動習(xí)來特征,無需人工事先設(shè)定,因為人往往不知道什么是重要特征。另外,針對不同的應(yīng)用場景,傳統(tǒng)機(jī)器學(xué)習(xí)算法需要把軟件代碼重寫一邊,而深度學(xué)習(xí)只需要調(diào)整參數(shù)就能改變模型。對比計算機(jī)的可編程性,早期指“硬件編程”(重新設(shè)計線路、調(diào)配線路和結(jié)構(gòu)等),現(xiàn)在指軟件編程;早期神經(jīng)網(wǎng)絡(luò)是軟件編程,深度學(xué)習(xí)則是“參數(shù)編程”。
現(xiàn)在主流模型已經(jīng)包含9個隱含層以上,每層有上千到上萬級的神經(jīng)元,整個神經(jīng)網(wǎng)絡(luò)有百萬級至百億級的參數(shù)空間。
深度學(xué)習(xí)是數(shù)據(jù)驅(qū)動的,用數(shù)據(jù)來做訓(xùn)練。一般而言,學(xué)習(xí)的深度越深和廣度越大,需要的數(shù)據(jù)量就越大,需要的數(shù)據(jù)種類就越多。當(dāng)然,也不是數(shù)據(jù)越多越好,很可能會出現(xiàn)“過度訓(xùn)練”。
深度學(xué)習(xí)與大數(shù)據(jù)并不重疊。深度學(xué)習(xí)可以基于小數(shù)據(jù),大數(shù)據(jù)分析挖掘也可以是基于規(guī)則的。深度學(xué)習(xí)強(qiáng)調(diào)的是算法,大數(shù)據(jù)強(qiáng)調(diào)的是資源,算法是用于處理數(shù)據(jù)的。
深度學(xué)習(xí)的訓(xùn)練分兩種:一種是有監(jiān)督的,比如數(shù)據(jù)加了標(biāo)簽,計算機(jī)知道正確答案,缺點是現(xiàn)實世界中被打了標(biāo)簽的數(shù)據(jù)太少了;另外一種是無監(jiān)督訓(xùn)練,只有數(shù)據(jù)沒有標(biāo)簽,計算機(jī)不知道正確答案。但不加標(biāo)簽的無監(jiān)督機(jī)器學(xué)習(xí),現(xiàn)在還做不到。
AI的新算法和新數(shù)據(jù),都以大幅增加對計算資源的消耗為前提。業(yè)界找到的新動力、新計算資源,就是GPU。
60多年來AI市場規(guī)模一直很小,內(nèi)部幫派林立,支撐不起AI專用芯片的市場。因此,早期的機(jī)器學(xué)習(xí)只能基于廉價而廣泛存在的CPU提供計算資源,或者極少數(shù)情況下用昂貴的專用芯片。
CPU是通用處理器,要兼顧計算密集型(計算多而I/O少)和數(shù)據(jù)密集型應(yīng)用(計算少而I/O多)。CPU為了照顧數(shù)據(jù)密集型的應(yīng)用,設(shè)計了很多緩存,相應(yīng)的計算能力就弱了些。但深度學(xué)習(xí)是一種計算密集型的應(yīng)用,導(dǎo)致基于CPU的深度學(xué)習(xí)效率低下。
GPU(Graphic Processing Unit)誕生于1990年,設(shè)計專用于高并發(fā)計算、大量浮點計算和矩陣計算能力的視頻游戲、圖形渲染等應(yīng)用。而深度學(xué)習(xí)對硬件的需求,正好符合這些應(yīng)用特征。大約在2008—2012年,業(yè)界逐步摸索到了如何將深度學(xué)習(xí)與GPU有機(jī)結(jié)合起來的工程方法,直接將學(xué)習(xí)速度提高了數(shù)百倍,讓產(chǎn)業(yè)界看到了把AI實用化的希望。
GPU之于AI,就像x86之于PC,ARM之于智能手機(jī)。
當(dāng)然還有一些人認(rèn)為,GPU還是太通用了,于是更加專用的FPGA(Field Programmable GateArray)和ASIC(Application Specific Integrated Circuit)紛紛登場。Google新近發(fā)布的TPU(Tensor ProcessingUnit)號稱處理速度比CPU和GPU快15~30倍,性能功耗比高出約30~80倍,當(dāng)然是神經(jīng)網(wǎng)絡(luò)和Tensorflow專用場景的。
如果說新算法、新數(shù)據(jù)和新硬件是AI的3大支柱,那么背后還有3種力量也是居功至偉。
經(jīng)過10年的發(fā)展,云計算已經(jīng)走過了概念驗證(POC)的階段,進(jìn)入了規(guī)模落地的時期,正在發(fā)展成為新時期的關(guān)鍵信息基礎(chǔ)設(shè)施。云計算就像20多年前TCP/IP那樣,正在改變這個世界。
云計算不僅直接推動了大數(shù)據(jù)的興起,也正在讓AIasa Service成為現(xiàn)實。業(yè)界大佬紛紛推出了“GPU/FPGA/算法/數(shù)據(jù)asaService”,方便用戶做深度學(xué)習(xí),通過云端直接租用就可以了。
如果說20多年前,以Linux為代表的開源主要是在模仿商業(yè)軟件的做法。那么今天,開源已經(jīng)能夠引領(lǐng)技術(shù)發(fā)展的潮流了。10年來,不僅是軟件定義世界,更是開源軟件定義世界。
2016年前后,AI巨頭們紛紛開源了深度學(xué)習(xí)框架。比如Facebook的Torch和Caffe、Google的Tensorflow、亞馬遜的 MXnet、微軟的 CNTK、IBM 的SystemML等。10年前,Google開源了Android操作系統(tǒng),成功打造了智能手機(jī)的Android生態(tài)。現(xiàn)在,Google等紛紛開源AI框架,希望往日的輝煌重現(xiàn)。
50多年來,摩爾定律一直支配著半導(dǎo)體行業(yè)的發(fā)展,并且已經(jīng)擴(kuò)展到了存儲、功耗、帶寬和像素等。摩爾定律說,同樣成本每隔18個月晶體管數(shù)量會翻倍,反過來同樣數(shù)量晶體管成本會減半。
過去的30多年里,以CPU為代表的微處理器的計算能力提升了100多萬倍。當(dāng)今世界約有30多億人使用的智能手機(jī),每部的性能都超過1980年占據(jù)整個房間的超級計算機(jī)。
摩爾定律是CPU、GPU和TPU等快速發(fā)展的基礎(chǔ)。雖然Google號稱TPU把摩爾定律加速了7年,但摩爾定律仍然支配著CPU、GPU和TPU的性能曲線。
深度學(xué)習(xí)的效果取決于網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計、訓(xùn)練數(shù)據(jù)的質(zhì)量和訓(xùn)練方法的合理性。無論是從統(tǒng)計學(xué)還是對智能的基本認(rèn)知的角度看,這次以深度學(xué)習(xí)牽引的AI產(chǎn)業(yè)化浪潮,還處于發(fā)展初期的階段,存在不少瓶頸。
首先是在算法方面。一是深度學(xué)習(xí)還是黑盒子,缺乏理論指導(dǎo),對神經(jīng)網(wǎng)絡(luò)內(nèi)部涌現(xiàn)出的所謂“智能”還不能做出合理解釋。二是事先無法預(yù)知學(xué)習(xí)的效果。為了提高訓(xùn)練的效果,除了不斷增加網(wǎng)絡(luò)深度和節(jié)點數(shù)量、喂更多數(shù)據(jù)和增加算力,然后反復(fù)調(diào)整參數(shù)基本就沒別的招數(shù)了。三是調(diào)整參數(shù)還是在碰運氣。還沒有總結(jié)出一套系統(tǒng)經(jīng)驗做指導(dǎo),完全依賴個人經(jīng)驗,甚至靠運氣。四是通用性仍有待提高,沒有記憶能力。目前幾乎所有的機(jī)器學(xué)習(xí)系統(tǒng)都是被訓(xùn)練于執(zhí)行單一任務(wù),無之前任務(wù)的記憶。
其次是在計算方面。目前的機(jī)器學(xué)習(xí)基本還是蠻力計算,是吞噬“算力”的巨獸。一是在線實時訓(xùn)練幾乎不可能,還只能離線進(jìn)行。二是雖然GPU等并行式計算硬件取得了巨大進(jìn)步,但算力仍然是性能的限制性瓶頸。三是能夠大幅提高算力的硅芯片已逼近物理和經(jīng)濟(jì)成本上的極限,摩爾定律即將失效,計算性能的增長曲線變得不可預(yù)測。
第三是在數(shù)據(jù)方面。一是數(shù)據(jù)的透明度。雖然深度學(xué)習(xí)方法是公開透明的,但訓(xùn)練用的數(shù)據(jù)集往往是不透明的,在利益方的誘導(dǎo)下容易出現(xiàn)“數(shù)據(jù)改變信仰”的情況。二是數(shù)據(jù)攻擊。輸入數(shù)據(jù)的細(xì)微抖動就可能導(dǎo)致算法的失效,如果發(fā)起對抗性樣本攻擊,系統(tǒng)就直接被“洗腦”了。三是監(jiān)督學(xué)習(xí)。深度學(xué)習(xí)需要的海量大數(shù)據(jù),需要打上標(biāo)簽做監(jiān)督學(xué)習(xí),而對實時、海量的大數(shù)據(jù)打上標(biāo)簽幾乎不可能。
第四是無法與其他學(xué)派結(jié)合。目前AI取得的進(jìn)步屬于連接學(xué)派,缺乏常識,因此在對智能的認(rèn)知方面,缺乏分析因果關(guān)系的邏輯推理能力等。比如,還無法理解實體的概念,無法識別關(guān)鍵影響因素,不會直接學(xué)習(xí)知識,不善于解決復(fù)雜的數(shù)學(xué)運算,缺乏倫理道德等方面的常識等。
現(xiàn)在,業(yè)界只知道深度學(xué)習(xí)在圖像處理和語音識別等方面表現(xiàn)出色,未來在其他領(lǐng)域也可能有潛在的應(yīng)用價值,但它究竟做不了什么,如何與符號主義的邏輯推理等結(jié)合起來仍然不清楚。深度學(xué)習(xí)還需要更安全、更透明和更可解釋。
前文這波AI熱潮是由機(jī)器學(xué)習(xí)引發(fā)的。到2017年,機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)已具有數(shù)千到數(shù)百萬個神經(jīng)元和數(shù)百萬個的連接。這樣的復(fù)雜度還只相當(dāng)于一個蠕蟲的大腦,與有1千億神經(jīng)元和1萬億連接的人類大腦,差了N個數(shù)量級。但盡管如此,神經(jīng)網(wǎng)絡(luò)下圍棋的能力已遠(yuǎn)高于一只蠕蟲。與此同時,一只蠕蟲所具有的自繁衍、捕食和躲避天敵等智能,無論是人類智能還是人工智能,都望塵莫及。
現(xiàn)在的AI是建立在“認(rèn)知即計算”的理論之上的,實現(xiàn)時必須依靠計算機(jī)、服務(wù)器和GPU等各種“圖靈機(jī)”。但基于圖靈可計算理論,“盧卡斯論證”和彭羅斯“皇帝新腦”等早已論證或分析了,人的意識是非算法的,計算機(jī)無法建立起“自我”的概念。換言之,基于圖靈機(jī)的AI在理論上是無法覺醒的,或者說,能夠覺醒的AI不會基于這一代的計算機(jī)技術(shù)和理論。
AI讓智能和意識分離,AI的智能完全有可能會超越人類,雖然它一直是無意識的?!癆I已經(jīng)在幾乎所有需要思考的領(lǐng)域超越了人類,但是在那些人類和其他動物不需要思考就能完成的事情上,還差得很遠(yuǎn)”。計算機(jī)專家Donald Knuth對AI現(xiàn)狀的評價,也將會是相當(dāng)長時間內(nèi)的未來。