你真的了解人工智慧嗎?——聊聊AI的碰壁和冬天

文/鮑捷 發佈於2016年3月21日根據2016年3月3日鮑捷在雲知聲的演講整理,感謝劉杏幫助整理。

人工智慧三定律

關於人工智慧AI,我現在想問大家幾個問題。

第一個問題:在座有多少人認為人類會因為機器滅絕?在座各位有這看法的嗎?沒有。

第二個問題:人類永遠不會因為機器滅絕,有多少人有這種看法?好,有一個,還有嗎?兩個,嗯,三個,太好了,還有嗎?好,發現了三個。

這是兩個極端的看法。現在也有所謂的奇點理論說,到了 2045 年的時候,機器就會超過人。有多少人會認同這個看法?一二三四五,那看來這個看法的擁護者最多。現在兩個極端看法的擁護者比較少,第一個看法就完全沒有人擁護,所以我是少數派,我是支持第一個觀點的。

面試的時候我都會問一個很經典的問題,就是你認為人類什麼時候會滅絕?這個問題是沒有答案的,就沒有真正的答案,每一個人都可以自圓其說,你說任何一個答案都是正確的,但只要你能夠自圓其說就可以。人工智慧就是這麼一個奇怪的領域。

雖然我相信,長遠看人工智慧會取代我們人類的碳基文明,但我們今天的人工智慧其實還是非常弱的。工程上人工智慧其實不停在碰壁和過冬,經常悲劇。我前段時間在微博上吐槽,總結了一個人工智慧三定律,我這個版本的,當然其實也是抄別人的。

第一條就是 AI 是什麼呢?不是 Artificial Intelligence, 是 Artificial Idiocy,人工愚蠢。這是第一條。

第二條是當我們說Artificial Intelligence 的時候,實際上我們是在說 Artificial artificial-intelligence, 就是「人工人工智慧」。

第三條大家可能聽說過,人工智慧就是有多少人工就有多少智能。我看到好幾個人吐槽,肯定是在工作中被虐過。

當我們進入人工智慧每一個領域的時候,我們都發現,這不是那麼回事兒嘛,這跟教科書上講得完全不一樣。當我們在實際工作、實際工程中,拿到那些數據的時候,我們各種花樣被虐,數據被虐,計算能力被虐,然後人被虐,然後產品經理也會虐我們,(笑)不要告訴產品經理。

人工智慧不要有門戶之見

我現在主要在做知識圖譜方面的工作。但是在過去近二十年里,在人工智慧的幾個大的流派上,我一直在進行遊學。從最早的時候做神經網路,做機器學習,然後做邏輯、知識工程,再做自然語言處理,每一步都沒有計划過,就進入一個新的領域。所以說學術生涯特別坎坷。

今天有好多東西是有感而發的,是基於這些年各種碰壁和吐槽,形成了一些工程化的想法。在做語義網之前我很多年裡遇到過很多問題,然後反思:為什麼會有這些問題? 我碰壁碰得特別特別多,這有時候也許也有些好處。

人工智慧內部大家有一個鄙視鏈,一個學派看不起另一個學派。比如某個時候曾經做神經網路的看不起做邏輯的,做機器學習的看不起做神經網路的。不過在幾個分支都有所了解的話,就不太容易這樣去歧視特定的方法。風水輪流轉,人工智慧領域裡誰沒有背運的時候?比如說你在九十年代末的時候,你說「我是做神經網路的」,那基本上沒有人搭理你的(笑)。然後到了 2010 年末,你說你是做邏輯的,那完全屬於別人看你就是看一個珍稀保護動物的感覺,「還有這種化石級的存在嗎,竟然現在還有人來做邏輯。」

即使在2011年,你要看到什麼文章說 perceptron(感知器)都會驚訝於這人還在用神經網路。然後 2012 年「砰」的一下深度學習火起來了。當然我們知道2006年Hinton那篇文章就已經寫了,但是真正進入工業界又花了很長時間。到2012年,知識圖譜突然火起來了,國內出現一堆相關公司。我記得 2012年的時候,國內至少有十家公司在炒這個東西,但是實際上十幾年之前,學術界大家已經很早在做這方面的內容。

人工智慧每一個領域,每一個分支從產生出來,到它最後能夠興起,通常其實有個二三十年的周期。這對我們今天有什麼啟示?我們不要太狹隘。人工智慧內部各種學派之間一直在不停地上啊下啊,機器學習今天是如日中天,十年之後說不定就沒人理,這種情況會不停地發生。

第一次人工智慧冬天

人工智慧這事兒呢,當然不止我們被虐,因為過去這五十年,這個領域裡面幾乎所有的人都是每天被虐,然後大概每過十年有一個大的被虐周期。比如說這個連接主義學派(即神經網路),還有行為主義,行為主義就是機器人那些東西,還有統計主義,就是機器學習,對吧?這些學派都被虐過,都被人覺得是垃圾過。

整個人工智慧也是。現在VC天天在喊人工智慧,也有一堆奇奇怪怪的人說各種話,「人工智慧要取代人類」啊,霍金也出來了,馬斯克也出來了,都在說人工智慧。但是,人工智慧現在真的有這麼牛逼嗎?或者說跟某些人說的一樣,就是人工智慧真的不那麼牛逼嗎?其實每過十年或者二十年,大家都在這兩個觀點之間進行震蕩。

1956年人工智慧在Dartmouth會議上出現,這個領域就這麼誕生了。那個時候大家就覺得,「哇以前從來沒有想過機器能夠有智能啊。」然後像明斯基、還有西蒙,在六十年代末、七十年代初的時候,他們的想法就是,十年之內我們所有的人工智慧問題都會被解決掉。當時邏輯出來了,邏輯當時是最火爆的一門學科嘛。四十年代末的時候神經網路也出來了。機器學習很基礎的演算法其實都已經出來了,包括我們大家現在用的 SVM六十年代都已經有了,不是什麼新的東西。甚至包括我們現在講的知識圖譜,其實在六十年代的時候早就有語義網路了,semantic network,實際上跟知識圖譜沒啥區別。所以說在五十年前,基本上現在人工智慧的各個分支的一些基礎的東西都有,所以當時大家就對人工智慧這個事兒很樂觀很樂觀。

然後到了七十年代中期的時候,突然就出現問題了。比如說當時就在想五年之後咱們就能攻克語音識別的問題。事實上現在過了四十年之後才有像雲知聲這樣的公司來攻克這樣的問題。當時以為邏輯能攻克所有的問題,寫了一堆文章,包括麥卡錫啊這些宗師們。然後發現建模的時候出現了各種問題。大家知道從軟體到軟體工程有個巨大的鴻溝,對吧?人月神話。那麼從知識到知識的工程中間也有一個更大的鴻溝,那是五、六十年代沒有想到的。還有神經網路,神經網路一開始覺得,哎呀,我們能夠模仿神經元,我們太牛逼了。然後,明斯基 pia 得一巴掌扇過來說:「異或問題」(一類簡單神經網路不能解決的分類問題)。

到了 1973 年的時候萊特希爾報告,整個領域啪唧一下就蔫了。原來這個萊特希爾太損了,他把整個領域批得體無完膚。結果搞得最後十年時間大家都拿不到資助。所以到了八十年代,偃旗息鼓,屍骨累累。你說那時候你要是讀人工智慧的博士生,太悲慘了——僅次於讀博士後(笑)。所以到了八十年代的時候,這是第一次人工智慧的冬天嗎,為什麼?因為大家對人工智慧的期望實在是太高了,高過了它實際的承載能力。

第二次人工智慧冬天

後來到了八十年代中期的時候,大概 85年左右,就開始慢慢有了轉機。

原來的神經網路不能解決異或問題。然後突然有一幫人說我們可以做並行分布處理,很炫的一個名字,但其實就是提出梯度下降、誤差反向傳播(BP)演算法,這個東西被證明是能夠跟圖靈機等價的。神經網路能跟圖靈機等價,以前從來沒有人想過這種事情,這叫通用逼近定理嘛。所以當時大家一下子對這個東西的期望又升上來了。

我讀研究生時趕上了神經網路熱潮的尾巴,其實美國那邊已經熄掉了,但是在中國還有一點點小尾巴。然後我那些同學,橋墩設計的,模具設計的,車前蓋設計的。大家每一個人都可以找我來寫文章,因為只要是bp網路,你只要套,總能發出文章的,所以說現在大家看到深度學習發出各種各樣的文章來,那我們要回想一下九十年代末發的那些文章。當時神經網路就復興了。

七十年代末專家系統也復興了,然後八十年代出現了常識知識庫。比如說1985年的cyc項目,試圖把整個人類的知識全部用邏輯表達出來,這個項目已經三十多年了,現在還活著,奇蹟。然後當時還有 lisp ,上百個各種各樣的 lisp 的小公司。

然後當然就是日本的五代計算機項目,野心勃勃啊,扔了上千億日元在裡頭,當時他們就想解決語音識別問題、圖像識別問題、各種現在深度學習都解決不了的問題。就是因為人們被憋了十年之後,突然又有人告訴他們說,哇,人工智慧可以解決所有的問題。然後就砸錢砸錢砸錢。

結果這一次的冬天比上一次來的還要再快一點,到了九十年代初期的時候就說,不行啊,你們講的這些東西都是胡扯。你們報告書里講的這些東西根本實現不了,大概94年、95年的時候,整個領域就開始往下走了,就是第二次人工智慧冬天。對於人工智慧一些領域,這是一個很長的冬天。比如說神經網路整整被打趴下了二十年時間,簡直沒臉見人那種。

所以我 2001 年到了美國的時候,我滿懷著信心跟我的導師說——他自己研究了十五年神經網路——我說要做神經網路,我已經做了四年神經網路了嘛。他說你再也不要做神經網路了。其實我在國內研究生最後一年時間,我們在研究一個東西,叫層次神經網路,是說什麼呢,那個bp神經網路一層不是不好用嘛。我們把它疊起來,我們把很多計算任務分散開來,用多個神經網路去完成一個任務,這玩意有點接近現在的深度學習嘛。但是當時這個想法,我跟我的老師們說,他們對這個問題已經喪失信心了,不願意再做了。因為從他們的角度來說,是非常現實的。因為當時如果你用這個題目去寫項目申請書,是不可能拿到錢的。所以我在Iowa State(艾奧瓦州立大學) 做的第一個項目,是用神經網路做電力負載預測。達到了特別好的效果,比我在論文里找到的所有的效果都要好,但這篇文章發都發不出去,因為大家覺得你這個方法不行而且你這個方法沒有創意。

邏輯系統也是一樣。邏輯系統在專家系統破滅之後,在很長時間裡喘不過氣來。從1999年開始,這幫人就換馬甲。人工智慧領域,大家活下來,一定要牢記,學會換馬甲這個技術。尤其是我們學邏輯的。(笑)我們每過五年一定要換一次馬甲,從專家系統換到lisp,然後換成了語義網。從1999 年到2006 年,我們用語義網這個馬甲。2006年發現不行,忽悠不了,換一個馬甲,叫Linked Data——互聯數據。然後到了2010年的時候,這個馬甲又不好使了。然後大家各種馬甲,當時沒有馬甲了嘛,所以有的人說自己是NoSQL,有的人說自己是大數據,還有各種奇奇怪怪的馬甲。然後到了20 12年,忽如一夜春風來,全部變成了知識圖譜。這兩年又開始換馬甲了,去年他們把semantic technology conference換了個名字,叫smart data——智能數據。這是新馬甲,最新的馬甲。

總的來說,為什麼換馬甲呢,因為這個領域實在是招人嫌。 06年的時候,我去Google,當時是去面試實習生。Google 都是一幫做機器學習的嘛,他們就會說:

「你做什麼的?」

「語義網。」

「語義網是什麼?」

Blahblah 解釋了。

「有什麼用?」

Blahblah再解釋。

「不信,回去。」

所以說雅虎、微軟當時都不怎麼相信這個東西。Google到2010年之後才開始相信這個東西,主要是他們找了Guha之後招了一堆懂行的老前輩,終於明白了該怎麼做這個事,才有了Google的知識圖譜。所以這是接受起來挺難的一件事情。

全面復興

但是在這十年當中,哪一個流派最後牛逼起來了呢?經驗主義、機器學習。

機器學習牛逼起來了,為什麼?大家想想看,基本上機器學習那些演算法,二三十年前就有了,為什麼在九十年代中期以後,這個學派興起了?有人能給我一個答案嗎?

聽眾:「數據」

「為什麼有數據?」

聽眾:「因為網路「

「對了對了, 說到點上了,因為網路。」

所以,機器學習因為有了廉價的數據,在九十年代後,進入 21 世紀之後爆炸式增長。

在AI領域裡面有一個所謂的鐘擺理論,是Church提出來的。Church是一個語言學家,他說過在經驗主義和理性主義之間,我們以二十年為周期進行波動。過去前五十年,人工智慧這個鐘擺都是這樣在擺的,每過十年這樣擺一次。有時候邏輯牛逼,有時候經驗主義牛逼。但是最近十年呢,因為深度學習的異軍突起,可能把經驗主義的生存周期延長了。可能不止十年,這一輪十五年甚至二十年都是有可能。但是這十年呢,就是進入了 2015年、2016年了,有一個怎樣的新局面?

從來沒有過的一件事情:人工智慧的每一個學派都牛逼,這是前所未有的。你看機器學習現在是牛逼的對吧?然後我們現在這個神經網路也牛逼起來了。然後我們邏輯、理性主義這邊,以知識圖譜的馬甲也牛逼起來了。人工智慧歷史上從來沒有過這樣一個時代,這三個學派全部在牛逼。如果說現在人工智慧正在發生一個轉變的話,可以說這是一個突破,一個前所未有的轉變。

人工智慧的經濟學

我經常在想,人工智慧這些子領域,它們為什麼會發生這樣起起伏伏的變化?到底是什麼樣背後的因素導致了這種變化?剛才我問了大家一個問題,就是機器學習為什麼會興起,得到了結論:因為數據。那麼我們考察一個演算法吧。它能夠發展起來,我們要考察它哪幾點?成本。當一個科學的理論,它在實驗室里的時候,我們是不需要考慮成本的,只要有論文就行了嘛,只要能拿項目就行了嘛。至於它有沒有用,那是以後的事情,反正博士生畢業就畢業了,找不到工作也不是我的事,這是教授的思維。

我們工程師考慮的是什麼問題?我們考慮的是成本,成本、成本、成本。如何把一個東西從實驗室能夠運作的演算法變成一個在工程實踐中能夠運用的演算法、能夠掙錢的東西,這個中間的差距太大了,gap太多了。人工智慧問題骨子裡是經濟學問題。

我總結至少可以有這三方面我們要注意成本。

人的成本。每一個工程師我們本身是要有成本的。深度學習為什麼牛逼起來了?因為在深度學習之前,特徵就是一切。我們需要各種人去寫特徵,去看特徵,所以說在那個ImageNet上面,2012年之前大家構造各種稀奇古怪的特徵。後來Hinton出來了,用機器去構造特徵。然後錯誤率一下子從26%降到15%,一下子打趴下了其他人。但在這之前,是需要人去做特徵的。統計這邊,像李開復他們當年做語音識別,也是要人去構造特徵嘛。後來我們用統計的方法去構造特徵,把人的成本降下來了。

數據的成本。這塊是很容易被人忽視的。為什麼很多牛逼的事情只能夠在Google做?Google 09年發表The Unreasonable Effectiveness of Data 這篇文章,大家吐槽很多。但是當時我看了眼睛一亮,從來沒有人這樣來說這件事情。它裡面提到了各種預測問題,流感啊什麼的,以前我們沒想過能用數據玩這種東西,玩這種遊戲。我們以前總是想,我們人去做這個模型。但是它什麼模型都不需要,它那裡面用各種翔實的數據來證明說什麼演算法都不重要,只要你有足夠多的數據,最後所有的演算法得到一樣的結果。這是Google的思維。為什麼?

如果我們考慮到現在整個數據生態系統裡面,考慮它的生產力和生產關係的話,我們現在是一個奴隸制的社會。這個社會裡有大量的奴隸主,Google、百度都是奴隸主,有很多很多的數據奴隸給他們提供免費的數據,求著給它提供數據,因為這整個生產關係是一個封閉的、一個人身依賴的,一個不公平的系統。所以Tim Berners-Lee天天在喊要free。數據的自由,數據的公開性。

但是到目前為止,這些奴隸主是沒有革新自己的慾望的,為什麼?「哇,數據是免費的。」他們有大量的數據,所以說他們可以玩各種各樣的玩法。他玩的那些演算法,如果我們小公司來原樣拷貝的話,死的要多慘有多慘,因為我們不可能免費地拿到這些數據。包括我原來在三星的時候,三星都沒有辦法免費拿到這麼多數據。你不管是做語音識別,還是做實體提取、圖像識別,都是靠數據。

計算的成本。我們反覆提到了深度學習,我們提到了深度學習把人的成本降下來了。但另一塊也是說,如果沒有GPU的話,現在深度學習不可能這麼成功。Google的貓臉識別,一千多台機器在跑,如果沒有廉價的硬體成本,怎麼可能做得到?當初我的老闆之所以不願意讓我去做神經網路,也就是因為以當時的硬體能力不可能支持那種泛化的能力的。哪怕回到2001年,我們有了深度學習這些演算法,當時也是不可能成功的,因為沒有這樣硬體的支持。

所以我們要考察整個系統的全周期成本,從數據的成本,到人的成本,到計算的成本。

人機交互的意義

我們發現了一條規律,人工智慧每一步往前走的時候,核心的突破通常不是由演算法本身帶來的,而是由於人機交互帶來的。

這是為什麼?你想,機器它本身有沒有智能?在座多少人相信機器本身是有智能的?真正的智能,到目前為止,到2016年此刻為止還都是只能來自於人,人才有智能,機器只能轉移智能。所以能夠讓一個系統擁有智能的最重要的方式是如何去採集人的智能,如何去轉移人的智能,如何去提煉人的智能。那麼對這種把人的智能轉移到機器里,把它數字化,最重要的技術就是人機交互技術。

所以說,如果沒有滑鼠的話就不會有圖形用戶界面,如果沒有圖形用戶界面就不會有web,如果沒有web就不會有統計機器學習的興起。這是一環一環扣下來的。

我們現在的知識圖譜跟十年前我們當年做邏輯的時候有什麼區別?我們當時要去寫的時候是要用邏輯表達式去寫。那個東西的效率你說得有多低?各種各樣的錯誤完全沒有辦法發現,那麼後來我們有了各種各樣的編輯器。我們想到了,我們不需要直接去寫邏輯,我們可以去寫自然語言的東西。我們有了 Wikipedia,然後從Wikipedia上面我們有了一些半結構的數據,我們有了DBPedia。這是一種方式。另外我們有了各種知識編輯器。Google 當年買的Freebase,他們之所以能夠把Freebase做好,關鍵他們有一套很好的編輯器,有一套很好的 HCI 的工具。包括後來他們開源的 OpenRefine,就是這樣一個工具。

所以說,人工智慧能夠往前走,我們不光要看演算法,我們更多的要考慮,去構造系統的全周期裡面。最重要的是智能的來源是人,我們怎麼能夠把人的知識更好地採集起,這才是人工智慧產生突破的一個核心點。降低人的成本,機器的成本,還有計算的成本。

小結

說了這麼多,我覺得這些事情挺重要的。我們做任何一個人工智慧的分支領域研究時要去想一下,這個事情為什麼我們現在在做,它為什麼在這個點上成本就降下來了,以及它以後會怎麼樣。比如說我們想像一下十年之後深度學習會怎麼樣?當然很少有人能夠看這麼遠了。比如說2000年的時候,語義網這個領域剛剛開始,大家很樂觀地設想到了2010年我們能實現語義網。後來發現可能到2030年才能實現。那麼到了2010年我們實現什麼,比如說基礎數據,到了2020年實現數據互聯等等,就一步一步往上走。每一步都是隨著當前的生產力水平,我們才能夠做一定的適應。

對人工智慧,最好抱一個平常心。人工智慧不是萬能的,現在我們做的還只是一些「人工人工智慧」,離取代人類還早著呢。過高的預期,hype,已經造成了兩次人工智慧的冬天。這兩年又有些過熱,不冷靜,這對這個領域發展並不好,會導致很多急功近利的事,甚至欺騙的行為。過高的預期也必然導致不當的失望,結果不但少數炒作的人,整個領域一些踏踏實實做事的人也會受到傷害。這些碰壁和冬天,我們做人工智慧的人要多想想,也要多向領域外的人解釋和宣傳。保持平常心。

推薦閱讀:

努比亞z11到底有多卡?
Steam 正式步入 VR 戰場:閃開,讓專業的來
非同凡響的B模式——移動砂石骨料加工廠
繼續討論:關於盜車和無鑰匙進入系統

TAG:人工智能 | 科技 | 互联网 |