編者按:人工智能現(xiàn)在火得不行。但是對一般人來說,大家也就是看看熱鬧而已。什么是人工智能?人工智能是怎么發(fā)展的?又有哪些類型?其機制是怎樣的?為什么到現(xiàn)在才取得突破?這些東西恐怕是不少人不知道的。所幸英國的VC David Kelnar寫了一篇通俗易懂的AI介紹性文章,把過去60年人工智能所取得的進展給解釋清楚了,值得一看。
過去10年我們一直在做一件事,那就是打造移動優(yōu)先的世界。而在接下來的10年時間里,我們將轉(zhuǎn)到一個AI優(yōu)先的世界?!狦oogle CEO Sundar Pichai,2016年10月
從Amazon和Facebook,到Google和微軟,全球大部分最有影響力的技術公司都在表現(xiàn)出自己對人工智能(AI)的狂熱。但什么是人工智能?為什么人工智能重要?為什么是現(xiàn)在?盡管對AI的興趣與日俱增,但目前能理解該領域的主要還只是專業(yè)人士而已。這篇初級讀物的目標是讓更廣大的受眾能夠理解這一重要領域。
我們會先從解釋“AI”的含義以及包括“機器學習”在內(nèi)的關鍵術語開始。我們將舉例說明AI最有生產(chǎn)力的領域之一,所謂的“深度學習”是如何工作的。我們還會探討AI解決的問題,以及為什么這些問題的解決那么重要。然后我們還將弄清楚一個問題:為什么早在1950年代就已經(jīng)誕生的AI,直到今天才崛起。
作為VC,我們要尋找能為消費者和公司創(chuàng)造價值的新興趨勢。我們相信,AI是計算的一次演進,其重要性不亞于甚至甚于向移動和云計算的轉(zhuǎn)移。Amazon CEO 貝索斯說:“AI在未來20年對社會產(chǎn)生的影響之大怎么評估都不為過。”我們希望這一指南可以穿越炒作,解釋清楚為什么這一新興趨勢對我們所有人——無論你是消費者還是高管或者創(chuàng)業(yè)者、投資者都很重要。
1、人工智能:智能程序的科學
“人工智能(AI)”這個詞是達特茅斯大學助理教授John McCarthy在1956年發(fā)明的一個詞,這個一般性術語是指展現(xiàn)出看似具有智能的行為的硬件或者軟件。用McCarthy教授的話來說,它是“制造智能機器、尤其是智能計算機程序的科學和工程?!?/p>
基礎“AI”出現(xiàn)已經(jīng)有幾十年的時間了,一開始為基于規(guī)則的程序,可在特定上下文環(huán)境下提供初步的 “智能”顯示。但是所取得的進展較為有限——因為處理許多現(xiàn)實世界問題的算法對于靠人工編程來處理來說太過復雜。
復雜的活動包括做出醫(yī)療診斷、預測機器什么時候失效,或者評估特定資產(chǎn)的市值等,這些都牽涉到成千上萬的數(shù)據(jù)集,以及變量之間非線性的關系。在這些情況下,是很難利用我們手頭的數(shù)據(jù)來取得最好效果的——也就是“優(yōu)化”我們的預測。在其他一些情況下,包括識別圖像中的對象以及翻譯語言等,我們甚至都無法制定規(guī)則來描述我們要尋找的特征。我們?nèi)绾文芫帉懗鲆惶滓?guī)則,在所有情況下都能描述一條狗的樣子呢?
如果我們能夠把做出復雜預測——也就是數(shù)據(jù)優(yōu)化和特征描述的難題從程序員轉(zhuǎn)移給程序會怎樣呢?這個就是現(xiàn)代人工智能帶來的希望。
2、機器學習:卸下優(yōu)化的負擔
圖1:人工智能的演進
機器學習(ML)是AI的子集。所有的機器學習都是AI,但并非所有的AI都是機器學習(見上圖)。今天對“AI”的興趣反映的是對機器學習的狂熱,因為這方面取得的進展較為迅速和重大。
機器學習讓我們可以處理對于人來說太過復雜的問題,其手段是把其中一些負擔交給了算法。正如AI先驅(qū)Arthur Samuel在1959年所述,機器學習是“讓計算機有能力在不需要明確編程的情況下自己學習的研究領域?!?/p>
大多數(shù)機器學習的目標都是針對特定用例開發(fā)一個預測引擎。一個算法會接收有關某個領域的信息(比如某人過去看過的電影),然后給出輸入的權重來做出有用的預測(此人將來喜歡另一部不同電影的可能性)。所謂的賦予“計算機學習的能力”,意思是指把優(yōu)化(對現(xiàn)有數(shù)據(jù)的變量賦予權重以做出對未來的精確預測)的任務交給了算法。有時候我們還可以更進一步,把指定首先要考慮的特征這項任務也交給程序。
機器學習算法是通過訓練來學習的。算法一開始會接收輸出已知的例子,然后留意其預測與正確輸出之間的不同,再對輸入的權重進行調(diào)整,從而改進預測的精確度,直到完成優(yōu)化。這樣一來,機器學習算法的定義性特征就是通過經(jīng)驗來改善預測的質(zhì)量。我們提供的數(shù)據(jù)越多(往往要到達一定的點),我們能創(chuàng)建的預測引擎就越好(下面的圖2、3。注意所需的數(shù)據(jù)集規(guī)模是高度上下文相關的——以下的例子無法一般化)。
圖2
圖3
機器學習有超過15種方案,每一種都采用不同的算法結(jié)構來優(yōu)化基于所接收數(shù)據(jù)的預測。其中一種方法叫做“深度學習”,這種方法在新領域取得了突破性的結(jié)果,我們會在下面進一步探討。但是除此以外還有很多種方法,盡管這些方案受到的關注略低,但仍然很有價值,因為它們適用于很廣范圍的使用案例。除了深度徐誒以外,其他一些最有效的機器學習算法包括:
“隨機森林”,可創(chuàng)建眾多決策樹來優(yōu)化預測;
“貝葉斯網(wǎng)絡”,可利用概率法來分析變量和變量之間的關系;
“支持向量機”,提供分類的實例給它,它就能創(chuàng)建模型,然后分配新的輸入給其中一個類別。
每一種方法都有各自的優(yōu)勢和劣勢,而且結(jié)合使用也是可以的(“集成”法)。選定用于解決特定問題的算法要取決于包括現(xiàn)有數(shù)據(jù)集性質(zhì)在內(nèi)的因素。實際上,開發(fā)者往往會進行試驗來看看哪種有效。
機器學習的用例視我們的需求和想象不同而不同。有了合適的數(shù)據(jù),我們就能針對無數(shù)目的開發(fā)算法,這包括:根據(jù)某人此前購買歷史推薦其可能喜歡的產(chǎn)品;預測某機器人或者汽車裝配線什么時候會失效;預測電子郵件是否寄錯;估計信用卡交易屬于欺詐的可能性,等等。
3、深度學習:卸載特征定義的麻煩
即便有了一般機器學習——比如隨機森林、貝葉斯網(wǎng)絡、支持向量機等,編寫能很好地執(zhí)行特定任務,比如語音識別號圖像識別等的程序仍然很困難。為什么?因為我們不能用實用、可靠的方式來指定需優(yōu)化的特征。比方說,如果我們想寫一個程序來識別汽車圖片,我們不能為算法處理指定汽車的特征,能讓它在任何情況下都能正確識別。汽車的形狀、大小、顏色都各不一樣。位置、方位和造型也各異。還有背景、光線等大量的其他因素影響著該對象的樣子。寫一套規(guī)則涉及到的變化太多了(多到幾乎無法窮舉)。而且即便我們能寫出這樣的規(guī)則,那也不會是可擴充的解決方案。因為我們得為每一種我們希望識別的對象都編寫一套程序。
于是就引出了深度學習(DL),這個東西徹底改變了人工智能世界。深度學習是機器學習的子集——是后者超過15種方法的一種。所有的深度學習都是機器學習,但并非所有的機器學習都是深度學習(見下圖4)。
圖4
深度學習是有用的,因為它避免了程序員必須承擔特征定義(定義特征來對數(shù)據(jù)進行分析)或者優(yōu)化(如何賦予數(shù)據(jù)權重以提供精確預測)的任務——這兩件事情都由算法包辦了。
這是如何實現(xiàn)的呢?深度學習的突破是對大腦而不是世界建模。我們的大腦學習做復雜的事情——包括理解原因和識別對象等,靠的不只是處理詳盡的規(guī)則,還包括練習和反饋。小時候我們體驗這個世界(比方說我們看汽車的圖片),做出預測(“汽車!”)然后收到反饋(“是的!”)。在沒有掌握詳盡規(guī)則集的情況下,我們通過訓練來學習。
深度學習采用相同的辦法。把近似于大腦神經(jīng)元功能的,人工的、基于軟件的計算器連接到一起。它們組成了一個“神經(jīng)網(wǎng)絡”,這個網(wǎng)絡接收輸入(比如前面我們提到的汽車照片);分析它;對它做出判斷然后再接收自己判斷是否正確的信息。如果輸出錯誤,算法就會對神經(jīng)元之間的連接進行調(diào)整,而這將改變未來的預測。一開始神經(jīng)網(wǎng)絡會發(fā)生很多的錯誤。但隨著我們提供了上百萬的例子,神經(jīng)元之間的連接就會不斷得到調(diào)整,最終使得這個網(wǎng)絡幾乎在所有情況下都能得出正確決定。熟能生巧(幾乎)。
通過之一過程,隨著效率不斷增加,我們現(xiàn)在可以:
識別圖片的元素;
實時進行語言翻譯;
用語音來控制設備(蘋果的Siri、Google Now、Amazon Alexa以及Microsoft Cortana);
預測遺傳變異如何影響DNA轉(zhuǎn)錄;
分析客戶評論的情緒;
檢測醫(yī)療影像中的腫瘤等。
當然,深度學習并不是適合于每一個問題。它通常需要用龐大數(shù)據(jù)集來進行訓練。訓練和運行神經(jīng)網(wǎng)絡還還需要龐大的計算能力。它還有一個“可解釋性”的問題——究竟神經(jīng)網(wǎng)絡是如何形成預測是很難知道的。但通過解放程序員讓后者不需要進行復雜的特征定義,深度學習為一系列重要問題提供了一個成功的預測引擎。因此,它成為了AI開發(fā)者工具包當中的一項強大的工具。
鑒于深度學習的重要性,了解一些深度學習的基本原理是很有價值的。深度學習牽涉到對人工的“神經(jīng)網(wǎng)絡”——一組相互連接的“神經(jīng)元(基于軟件的計算器)”的利用。
一個人工神經(jīng)元有一到多個輸入。它會根據(jù)這些輸入執(zhí)行數(shù)學運算然后產(chǎn)生輸出。輸出要取決于每一項輸入的“權重”,以及神經(jīng)元中的“輸入—輸出函數(shù)”的配置(見下圖5)。輸入—輸出函數(shù)會各有不同。神經(jīng)元可以是:
線性單元(輸出與輸入總權重成正比關系);
閾值單元(輸出設定為兩級中的一級,具體取決于總輸入是否超過特定值);
Sigmoid單元(輸出不斷變化,但不是隨輸入變化而線性改變)
當神經(jīng)元相互連接到一起時,神經(jīng)網(wǎng)絡就被創(chuàng)建出來了,而一個神經(jīng)元的輸出就會變成另一個神經(jīng)元的輸入(見下圖6)。
圖5、6
神經(jīng)網(wǎng)絡被組織為若干層神經(jīng)元(“深度”學習就是這么出來的)?!拜斎雽印苯邮站W(wǎng)絡要處理的信息——比方說,一組圖片?!拜敵鰧印眲t提供結(jié)果。在輸入和輸出層之間的是“隱藏層”,大部分活動都在這里發(fā)生。一般而言,神經(jīng)網(wǎng)絡每一級的每一個神經(jīng)元的輸出都會充當下一層每一個神經(jīng)元的輸入(見下圖7)。
圖7
我們可以看看下面這個圖像識別算法的例子——假設我們要識別圖片中的人臉。當數(shù)據(jù)被提供給神經(jīng)網(wǎng)絡時,第一層仙湖識別局部反差模式——也即是像輪廓這樣的“底層”特征。隨著圖像橫穿網(wǎng)絡,“更高層”特征逐步被解析出來——從輪廓到鼻子,然后從鼻子到臉部(見下圖8)。
圖8
在它的輸出層,根據(jù)訓練神經(jīng)網(wǎng)絡會給出該圖片屬于特定類型的概率(人臉:97%;氣球2%;葉子1%)
通常,神經(jīng)網(wǎng)絡的訓練是通過給它提供大量打上標簽的例子來進行的。錯誤可以被檢測到,而算法會調(diào)整神經(jīng)元之間連接的權重來改善結(jié)果。在部署好系統(tǒng)并對未打標簽的圖像進行評估后,優(yōu)化的過程還會重復進行很多次。
上面是一個簡單的神經(jīng)網(wǎng)絡例子,但是它們的結(jié)構可以是各不相同的,而且大部分都會更加復雜。變化可以是同一層神經(jīng)元之間的連接;每層神經(jīng)元數(shù)量的不一樣;以及返回給上一級網(wǎng)絡的神經(jīng)元輸出數(shù)(“遞歸”神經(jīng)網(wǎng)絡)。
設計和改進神經(jīng)網(wǎng)絡需要可觀的技能。步驟包括對針對特定應用的網(wǎng)絡架構設計,提供合適的數(shù)據(jù)訓練集,根據(jù)進展情況調(diào)整網(wǎng)絡結(jié)構,以及多種方法的結(jié)合等。
AI之所以重要是因為他解決了極其復雜的問題,而這些問題的解決方案可以應用到對人類福祉重要的領域——從健康、教育,到商業(yè)、交通,乃至于公用事業(yè)和娛樂等等。自1950年代以來,AI的研究主要集中在以下5個領域:
推理:通過邏輯推理解決問題的能力
知識:展示有關世界知識的能力(理解這個世界有特定的實體、事件以及情況;知道那些元素有屬性;并且那些元素可以分類)
規(guī)劃:設置和實現(xiàn)目標的能力(這個世界有一個特定的未來狀態(tài),這個狀態(tài)是令人滿意的,可以采取一系列動作來影響朝著這個狀態(tài)發(fā)展。)
溝通:理解書面和口頭語言的能力。
感知:通過可視化圖像、聲音等感覺輸入推斷事物的能力。
AI是有價值的,因為在許多上下文環(huán)境下,這些能力的進步是革命性而不是漸進性的能力。以下是AI的一些應用例子,但遠不止這些。
推理:法律評估;金融資產(chǎn)管理;金融應用處理;游戲;無人武器系統(tǒng)。
知識:醫(yī)療診斷;藥物創(chuàng)新;媒體推薦;購買預測;金融市場交易;防欺詐。
規(guī)劃:物流;調(diào)度;導航;物理和數(shù)字網(wǎng)絡優(yōu)化;預測性維護;需求預測;存貨管理。
溝通:語音控制;智能代理;虛擬助手和客戶支持;書寫與口頭語言的實時翻譯;實時抄寫。
感知:無人車;醫(yī)療診斷;監(jiān)控。
在不久的將來,機器學習能力將會被應用到幾乎所有的板塊各種各種的過程上面??梢钥紤]一個企業(yè)智能——比方說,公司內(nèi)的人力資源活動可以舉例說明機器學習可應用于哪些過程:
通過增強定向的、智能的工作匹配以及部分自動化評估來改善招聘效果;
通過對人員要求以及短缺可能性的預測性規(guī)劃可以增強勞動力管理;
隨著推薦給員工的內(nèi)容越來越合適,勞動力學習可以變得更加高效;
通過預測有價值員工有離職的風險,可降低員工流失率。
隨著時間的轉(zhuǎn)移,我們預期機器學習的采用會變得常態(tài)化。機器學習將成為開發(fā)者標準工具包的一部分,這一開始可改進現(xiàn)有流程,然后還會再造這些流程。
機器學習的二階效應還會超過其直接影響。比方說,深度學習已經(jīng)改善了計算機視覺,以至于無人車(汽車和卡車)都已經(jīng)變得可行。但它們的影響又是什么呢?今天,英國90%的人和80%的貨物都是通過道路運輸?shù)?。光是無人車就會影響到:
安全(90%的事故都是由于司機不注意導致)
就業(yè)(服務英國運輸和物流業(yè)的就有220萬人,年工資估計達570億美元)
保險(Autonomous Research預計英國汽車保費將降價63%)
板塊經(jīng)濟(消費者可能會用按需交通服務來替代汽車所有權)
車輛吞吐量;城市規(guī)劃;監(jiān)管等。
AI研究始于1950年代,在經(jīng)歷過幾次AI寒冬之后,為什么會在現(xiàn)在出現(xiàn)拐點呢?最近幾年AI的效率出現(xiàn)轉(zhuǎn)變是因為有了新的算法、可用的數(shù)據(jù)量變得更大、用來訓練它們的硬件變得更好,以及催化開發(fā)者采用它們的云計算服務。
1、算法改進
盡管深度學習不是新東西——第一個有效的多層神經(jīng)網(wǎng)絡規(guī)范早在1965年就已經(jīng)發(fā)布——但過去10年深度學習算法的演進卻改變了結(jié)果。
我們識別圖像內(nèi)對象的能力被卷積神經(jīng)網(wǎng)絡(CNN)的發(fā)展改變了(見下圖9)。其設計受到了動物視皮質(zhì)的啟發(fā),神經(jīng)網(wǎng)絡的每一層都充當了特定模式過濾器的角色。2015年,微軟基于CNN的計算機視覺系統(tǒng)識別圖像的有效性(95.1%)已經(jīng)超過了人類(94.9%)。他們是這么寫的:“據(jù)我們所知,我們的結(jié)果首次超過了人類的表現(xiàn)?!盋NN更廣泛的應用包括視頻和語音識別。
與此同時,由于遞歸神經(jīng)網(wǎng)絡(RNN)的創(chuàng)建,語音和手寫文字識別也得到了迅速發(fā)展(如下圖10)。RNN有反饋連接,使得數(shù)據(jù)可以循環(huán)流動而不是像卷積神經(jīng)網(wǎng)絡那樣只“向前提供”。RNN有一種新型的網(wǎng)絡非常強大,它的名字叫做長短期記憶(LSTM)模型。有了額外連接以及記憶細胞之后,RNN可以 “記住”自己在數(shù)千個步驟前看過的數(shù)據(jù),然后利用這個來提供對后面的解釋——這對于語音識別來說很有價值,因為對后面單詞的解釋需要以之前過的詞為依據(jù)。從2012年開始,Google就開始使用LSTM為Android的語音識別系統(tǒng)提供支持。剛剛在6周之前,微軟的工程師報告說他們系統(tǒng)的詞錯誤率已經(jīng)低到5.9%——這是AI有史以來首次跟人類能力相當。
圖9
圖10
2、專門硬件
圖形處理器(GPU)是專門的電子電路,可以大幅減少訓練用于深度學習的神經(jīng)網(wǎng)絡所需的時間。
現(xiàn)代GPU原來是在1990年代末研發(fā)出來的,其目的是加速3D游戲和3D開發(fā)應用。3D環(huán)境的鏡頭擺動和縮放要重復利用一個叫做矩陣計算的數(shù)學過程。而包括當今計算機所用的CPU在內(nèi)的串行結(jié)構微處理器,卻很不擅長做這個。GPU則采用了大規(guī)模的并行架構(Nvidia M40有3072核),可有效執(zhí)行矩陣運算。
訓練神經(jīng)網(wǎng)絡大規(guī)模利用了矩陣計算。對3D游戲有用的GPU因此就很適合于加速深度學習。其效果相當可觀,一個簡單的GPU可提供神經(jīng)網(wǎng)絡訓練時間5倍的改善,而對更大的問題取得10倍或更多的改善也是有可能的。再結(jié)合上針對廣泛使用的深度學習框架調(diào)優(yōu)的軟件開發(fā)包時,訓練速度的改進甚至還要更大(下圖11)。
圖11
3、大規(guī)模數(shù)據(jù)
用于深度學習的神經(jīng)網(wǎng)絡一般都需要大型數(shù)據(jù)集來進行訓練——這個規(guī)??梢詮膸浊€樣例到好幾百萬。幸運的是,數(shù)據(jù)的創(chuàng)建和可用性已呈指數(shù)增長之勢。今天,隨著我們進入“第三波”數(shù)據(jù)浪潮,人類每天可產(chǎn)生的2.2艾字節(jié)(2300百萬GB)的數(shù)據(jù);而全球90%的數(shù)據(jù)都是在過去24個月內(nèi)產(chǎn)生的。
而“第一波”的數(shù)據(jù)制造潮始于1980年代,這牽涉到了文檔的創(chuàng)建以及交易性數(shù)據(jù),這一波是由于連接互聯(lián)網(wǎng)的桌面PC催生的。隨后,無所不在、永不斷線的智能手機又制造出了“第二波”數(shù)據(jù)浪潮,導致了非結(jié)構化數(shù)據(jù)(電子郵件、照片、音樂和視頻)、web數(shù)據(jù)以及元數(shù)據(jù)的爆發(fā)。今天,我們正在進入數(shù)據(jù)的“第三紀”,工業(yè)和家庭部署的機器傳感器又創(chuàng)造了新的監(jiān)控數(shù)據(jù)、分析數(shù)據(jù)以及元數(shù)據(jù)。
考慮到今天創(chuàng)建的大部分數(shù)據(jù)都是通過互聯(lián)網(wǎng)傳輸來使用的,日益膨脹的互聯(lián)網(wǎng)流量充當了海量增長的人類數(shù)據(jù)制造的代理作用。1992年,我們每天傳輸?shù)臄?shù)據(jù)量為100GB,但到2020年,我們每秒鐘傳輸?shù)臄?shù)據(jù)量就將達到61000GB(見下圖12,注意看縱坐標的刻度尺)。
圖12
除了日益增長的一般數(shù)據(jù)以外,專業(yè)數(shù)據(jù)資源也催化機器學習的進展。比方說,免費開放的人工標記圖像數(shù)據(jù)庫ImageNet的規(guī)模已經(jīng)超過了1000萬張。它的出現(xiàn)為對象分類深度學習算法的快速發(fā)展提供了支持。
4、云服務
開發(fā)者利用機器學習也受到了業(yè)界領先的云提供商基于云的機器學習基礎設施和服務的催化。
Google、Amazon、微軟和IBM都提供了基于云的基礎設施(建模、迭代、可伸縮的“GPU即服務”及相關管理服務的環(huán)境),科研降低開發(fā)機器學習能力的成本和難度。
此外,他們還提供范圍不斷擴大的基于云的機器學習服務(圖像識別、語言翻譯等),開發(fā)者可以直接在自己的應用中使用這些服務。Google Machine Learning提供的方便使用的服務包括:視覺(對象識別、顯式內(nèi)容檢測、臉部識別和圖像情緒分析);語音(語音識別和語音轉(zhuǎn)文本);文本分析(實體識別、情緒分析、語言檢測和翻譯);員工求職搜索(機會顯現(xiàn)、基于資歷的匹配)。微軟的Cognitive Services包括了超過21種服務,涉及視覺、語音、語言、知識和搜索等領域。
5、興趣與創(chuàng)業(yè)
過去5年,公眾對AI的興趣增長了6倍(見下圖13),而VC機構對AI公司的投資數(shù)增長甚至還要大(見下圖14)。我們已經(jīng)進入到了一個良性循環(huán)里面,一方面機器學習的進展在吸引著投資,創(chuàng)業(yè)和意識。而后者反過來又會催化更進一步取得進展。
圖13
圖14
機器學習的好處將是巨大和深遠的。從無人車到人機交互的新方式,許多的好處我們可以看得見。還有很多則沒那么明顯,但卻會促進更多的更高效更有力的日常商業(yè)流程和消費者服務。
就像任何范式轉(zhuǎn)移一樣,有時候膨脹的期望(Gartner技術炒作曲線)會超過其短期的潛能。我們預計AI 會在未來經(jīng)歷一段幻滅期,接下來,隨著機器學習被用于改進然后重塑現(xiàn)有系統(tǒng),AI將迎來更長更持久的一段價值認識期。
在歷史上,產(chǎn)業(yè)革命通過動力和傳送的新來源變革了生產(chǎn)和溝通。1780年代的第一次工業(yè)革命用蒸汽動力實現(xiàn)了制造的機械化。1870年代的第二次工業(yè)革命則是用電力推動了大規(guī)模生產(chǎn)。1970年代的第三次工業(yè)革命利用電子和軟件實現(xiàn)了生產(chǎn)和通信的自動化。今天,隨著軟件蠶食世界,我們的主要價值創(chuàng)造來源是信息的處理。通過促進我們實現(xiàn)那么多事情的智能化,機器學習所帶來的好處既看似微不足道又具有歷史意義。