丨未來 · 頭條丨邢波:為人工智慧裝上引擎
AlphaGo與李世乭人機大戰餘波未平,卡耐基梅隆大學計算機科學學院教授邢波便為理解未來系列講座帶來了《為人工智慧裝上引擎》。
邢波的演講從另一場人機對決開始。1930年8月28日,在美國巴爾的摩,火車和馬車站在了同一起跑線上。隨著蒸汽機的勝利,民眾陷入對這個鋼鐵怪物的恐慌——雖然現在我們已經把坐火車當成很平常的事了。
在前不久的圍棋世紀之戰中,機器同樣以大比分戰勝了人類。針對輿論界形成的「驚恐甚至是瘋狂」,邢波針對人工智慧與人類的關係及人工智慧的未來闡述了自己的觀點。在演講過程中,邢波多次以登山和音樂來比喻自己的研究過程和人工智慧的發展歷程。而這次演講本身也正如同他摯愛的梅紐因演奏的帕格尼尼小提琴協奏曲,曲終而餘韻繞樑,為我們留下了深深的思考。
1人工智慧之始
Violin Concerto No. 1 in D Major: I. Allegro maestoso Yehudi Menuhin;BBC Symphony Orchestra - Yehudi Menuhin plays Paganini"s Violin Concerto No. 1
人工智慧起源於人們對於智能機器的夢想。人工智慧成為一門顯性的、嚴格的、系統的、可實現的科學和工程領域,得益於上個世紀邏輯科學、計算機科學、資訊理論、控制論及很多學科的發展的交匯。它基於一個很基本的假設,即認為人的思維活動可以用機械的方式替代和完成。上世紀初,英國哲學家羅素寫了一本很有名的著作——《數學原理》,對數學的基本原則做了形式化的描述。後期哥德爾、圖靈等人的工作都是向人們展示,可以用一種簡單的、只會做二元運算的機器來模擬所有的數學邏輯。圖靈當時提出一個大膽的見解,即「圖靈機」的概念。「他認為有可能製造這麼一台機器,通過某一種電子媒介或其他的媒介跟人進行交流。如果人在跟這台機器交流過程中並不能判斷它到底是不是人,我們也許就可以下結論說這個機器獲得了跟人一樣的智能。這個概念極大影響了人工智慧對於功能的定義。」
60年前,在美國達特茅斯大學召開了一次會議,希望通過交流來確定人工智慧作為一門科學的任務和整個路徑。同時他們也宣稱,學習以及人類智能的任何一個其他特徵都可以被精準地描述。一旦精準描述成立以後,我們就可以用機器來模擬和實現它。此次會議被普遍認為標誌著人工智慧正式誕生。
2第一個冬天在人工智慧誕生後的幾年裡,整個學界瀰漫著樂觀的氣氛,認為也許人工智慧在不久的將來真的可以代替人類。然而,前途並非如此順利。人們發現邏輯證明器、感知器、增強學習、證應用題的各種各樣的東西只不過是玩具而已,它們只能做很簡單的、非常專門的任務,稍微超出它們所預期的範圍就沒有辦法對付。
這體現了兩個方面的局限——一方面是當時人工智慧所運用的數學模型和數學手段被發現是有理論缺陷的,另一個局限出現在演算法上。這些缺陷,使得人工智慧在很早期發展過程中遇到難以克服的瓶頸,不可能去實現一開始所保證的目標,比如接近人類甚至超過人類。「人工智慧的第一個冬天」來臨了。
3夏天的來臨天才的科學家們沒有泄氣,仍繼續向前行進。一個標誌性事件是80年代卡耐基梅隆大學為DEC公司製造了一個叫「專家系統」的東西。這個「專家系統」可幫助這個公司每年節約4000萬美元左右的費用,還可以在決策方面提供更有價值的內容。受到這種成功的鼓勵,很多國家包括日本、美國都再次投入了很多資金,開發被稱作「人工智慧計算機」的第五代計算機。多層神經網路、霍普菲爾德網路都是在那個時候產生的。
同時也有一批人員從事演算法研究,比如現在常聽到的反向傳播演算法也是那個時候發明的。通過艱苦嘗試,湧現出了不少令人印象深刻的成果。比如自動識別信封上的郵政編碼就是通過很精妙的人工神經網路來實現的,精度達到99%以上,已經超過普通人可以達到的水平。樂觀形勢又一次產生。
4嚴冬又至不幸的是,寒冬又一次來了。這次是由於公眾和政府興趣的轉移,甚至包括一些競爭對手的出現。大眾的熱情開始冷卻,政府經費開始下降。這些嚴重的困境使人們開始思考人工智慧到底往何處走。此時,研究者面臨著嚴肅的問題:我們要實現什麼樣的人工智慧?什麼叫智能?對此,邢波的回答是:「有兩種可能性:一種是向人學習、向生物學習、向自然學習,用一種仿生的反向工程的手段製造跟人腦結構原理儘可能相像的機器。這個途徑是非常困難的。另一種方法是從人和動物界獲得一些啟發,做足夠的簡化,使得我們能夠部署簡單明確的數學模型和強大的計算引擎,使得優化的途徑變得比較容易。另一方面,也可以直接利用人類工程領域的很多成果,比如電子計算機,使用一種類似暴力堆砌、資源堆砌的手段,實現彎道超車式的效果,使機器在一種不同路徑上超過人。」
大約在同一年代,人工智慧整個研究也開始重新確定自己的方向。邢波評價道:
「 我們做了一個選擇,決定要做一個實用型、功能型的人工智慧,因為這樣至少我們知道我們在做什麼,而且我們對結果會有一個比較嚴格的判斷。這就導致了一個新的人工智慧的路徑。5新的繁榮期
Violin Concerto No. 1 in D Major: II. Adagio espressivo Yehudi Menuhin;BBC Symphony Orchestra - Yehudi Menuhin plays Paganini"s Violin Concerto No. 1
對人工智慧任務的明確和簡化帶來了一次新的繁榮。數學工具上找到很多新的方法,包括原來已經存在於數學或者其他學科文獻中的方法被重新發掘出來,用到計算機或者人工智慧研究中。另一方面,由於這些數學模型對自然世界的簡化,使理論分析和證明變得可能。研究者開始分析到底需要多少數據、計算量才能夠獲得預期的結果,這樣的理論洞見對開發系統大有裨益。第三方面,邢波認為更重要的,是人們終於把人工智慧跟人類其他工程技術方面上的成就做了緊密連接。摩爾定律的實現使得計算能力越來越強大。人工智慧被定義為數學上的解題過程,這樣就可以把很多計算能力轉移過來提高人工智慧的效果。
這麼一系列突破將人工智慧引入一個新的繁榮期,產生了很多驚人的突破。早期的結果包括1997年的時候IBM深藍和卡斯帕羅夫的象棋大賽,最終結果是機器人獲勝。在更加通用的功能比如回答智力競賽或是識別圖片的比賽中,機器也可以達到或者超過人類的標準。機器人也因此有了很大的進步。
「 我們不是具體寫出控制指令。實際上我們寫的程序是一套學習演算法,讓這些演算法在模擬器上不斷地走路、開車,讓它們自己學到一種策略來完成不同環境,狀態下的行動,這是人工智慧和以前控制論最核心不同地方。邢波解釋道。
在這樣的背景下,我們似乎有理由對今後的前景重拾樂觀情緒。人工智慧真的有希望接近人類了嗎?事實上人工智慧領域又遇到了困難。
6Facebook及新挑戰2011年,邢波迎來了做教授以來的第一次學術休假。當時他選擇去了一個很年輕的公司,就是Facebook。「當時我是Facebook第一個訪問教授,就像今天的講座一樣,感覺壓力還是特別大的。其中一個任務就是通過社交網路里用戶跟別人連接的方式,把他們投射到一個社交空間中,這樣可以做一個社群的檢測。把他們來分組、特徵化。這個任務實際上在統計學和人工智慧里並不是很陌生的任務。但這個工作有一個問題:它的計算複雜度是平方型的,也就是當你的人從10個人增加到100個人的時候,你的計算量就會增加到1萬;再平方一次,那這樣的話就會產生瓶頸。當你網路特別大的時候,我們就沒有辦法去克服計算的障礙。這是當時讓我們頭大的問題。」
但是同時,這讓作為人工智慧學者的邢波很興奮。「我們不怕這個東西,我們很擅長研究演算法、模型、特徵,看看能不能做加速。實際上我們也的確做了很好的工作,比如我們把社交網路抽取比『邊』更強大的特徵叫做『三角特徵』,我們把模型也做了升級,從混合區塊模型到混合三角模型。在演算法上也做了一兩次非常顯著的革新。從蒙特卡羅演算法和隨機變分演算法,每一次突破都產生良好的效果,以致於我們可以在比較大的網路裡面,產生了實際上的結果,而且比原來結果在速度上提升兩到三個數量級。」
儘管有了一定的突破,實際上的任務卻遠不止如此。「我們的任務不是100萬個用戶,而是1億個用戶或者是大於1億個用戶,這裡還是差了兩個數量級。當然我們也有理由說我們的確還有潛力,因為我們只用一台筆記本電腦。但是在Facebook機房裡躺著1000台Hadoop機器,可以運轉分散式程序;所以我們做了一個簡單的計算,任務大了100倍,但是資源大了1000倍。也許我可以在原來6分鐘基礎上繼續減,可以在0.6分鐘把這個問題搞定。這是當時的願景,我們寫了Hadoop程序,把我們的演算法做了並行化。可惜最後的結果非常不理想,我們等了一個多星期還是沒有得到結果,而不是0.6分鐘。」
這裡就產生了本質性的問題,並行運算並不是人們理想中這樣簡單倍增的結果,而是有其內在的複雜性。「當你把大任務分割在不同機器上讓它們分開跑,又同時在共同執行同一個全局任務的時候,它們是需要做這樣一件事情的:首先,它們各自得做自己局部的運算,但因為是在完成一個共同的任務,它們需要做一個握手,能夠達成一致性,所以需要來一次通訊,那麼這個通訊是必須發生在每台機器把它們的子任務完成以後才能通訊。所以每次我們都可以想像需要有一個等待的時間,讓所有機器都完成它們的任務。在一個大的集群裡面,總有拖後腿的。因為在實際的計算機環境里,總還有其他用戶,別人也在跑程序,或者是機房裡的溫度不均勻。反正機器搞得不一樣,而且每次還是隨機性的不一樣。所以,最後每一次迭代循環的時間都是由最慢機器決定的,這就產生了Hadoop這種模式下並行計算機的瓶頸,你很難實現把它加速。這個困難相當嚴重,以致於我當時做訪問教授結束的時候還是沒有解決,所以我當時覺得非常的尷尬,卡耐基梅隆大學人工智慧教授搞不定1000台機器,也沒有產生什麼功能,當時走的時候還是比較沮喪的。」
正如爬山時遇到暴風雪甚至雪崩,各種各樣的挫折使得研究者們離他們的目標似乎越來越遠了。
邢波在這個時候重新陷入了思考:我們的目標究竟是什麼?我們到底需要什麼來達成這樣一個目標?「從人工智慧角度來講,我們需要完成大型的任務,而且我們需要用一個嚴格的數學上圓滿的或者嚴格的方法來實現這麼一個目標。很顯然,光是有一個好的模型或者好的演算法顯然是不夠的,我們還需要對於人工智慧計算部分的強力的引擎支持,而且這個引擎支持有可能跟原來不一樣。因為人工智慧計算有它的獨特性,它是用迭代的、反覆讀取數據和刷新模型的方法來實現解決方案的。好的模型設計其實是不夠的,必須要有助推器把它驅動起來,我想這就是當時人工智慧發展中遇到的一個瓶頸。」
7重新思考
Violin Concerto No. 1 in D Major: III. Rondo, Allegro spirituoso Yehudi Menuhin;BBC Symphony Orchestra - Yehudi Menuhin plays Paganini"s Violin Concerto No. 1
那麼,到底要如何從失敗的經驗中找到一個更加快速、但同時又數學上正確的方法來運行一個並行人工智慧程序?帶著這樣的問題,邢波離開Facebook,回到卡耐基梅隆大學,進行了一系列新的思考。
「 我們發現人工智慧運算和傳統計算非常不一樣。人工智慧也是一個程序,但是這裡執行指令集只是一個過程而不是目的,它的目的是解一個優化方程。就像爬座山一樣,你固然可以沿著設置好的路徑一步一步爬,但是如果哪一步走歪了,只要大致靠譜,知道目標且能判斷好壞,還是可以爬到山頂,只不過是稍微慢了一點,但是總比每次走錯了以後再走回原點重新爬要快很多。這就體現了人工智慧作為一個迭代漸進演算法跟傳統的一次性的掃描演算法所不一樣的地方。因為這樣一種認知,我們終於迎來了新的理論突破。2012年,邢波和幾位同事設計了一種叫做參數伺服器的新型系統模型。他們為它設計了新的理論基礎,給出了嚴格的數學證明,同時也搭出了框架原型。在這個框架下,核心概念就是把一個並行人工智慧程序當成是一個在執行救火任務的機群,即小的錯誤是可以容納的,但總體的目標是不可改變的。基於這樣的目標,邢波和同事們設計了一個新的橋接模型,稱為有限非同步模型。「我們用有限非同步並行的橋接原理去構架了參數伺服器的編程界面,它擁有一個共享內存大規模編程界面,使並行程序的編寫容易度,運行速度和精度都有巨大的提高。這個系統並不是為某一個特定人工智慧計算來設計的,它更像是平台通用模型。它的設計考慮了整個人工智慧程序家族的普遍共享的一些特徵,給他們提供比較優質的通訊上的服務。所以在我們軟體包里包括不同其他的演算法。這個系統也有非常靈活的容錯或者通訊管理的機制,所以使得隨機的資源空檔或者小錯誤也會獲得關注,最後的結果是整個系統的工效獲得巨大的提升。」
同時,邢波和同事們還實現了另外一個突破。當訓練巨大模型時,需要有一個協調裝置。為此,他們設計了名為動態調度器的系統,可以實時監控子模型或者子任務之間的一致性,保證數學上是正確而不是衰減的。這樣就帶來了數學上和功效上的質量保障。
「由於這一系列的成果,我們感覺是在一個正確的路上在走,我們的確跟這個目標開始接近了。爬山也會經歷這樣一個類似的過程,我們開始向峰頂接近。」談到為何會以登山作為類比,邢波認為,人工智慧演算法本身這個計算任務像登山,是有明確的目標的,本身有彈性、容錯性、隨機性。如果能夠很好使用這些特徵和機會的話,就可以獲得事半功倍的結果。人工智慧領域的發展也像登山,它有各種各樣的起伏,有各種各樣的思路的跳躍和重新的定位,一個好的解決方法,通常對於任務目標、數學模型、計算引擎有比較全面精確掌控和實現才能達到目的。而如果對它設置一個類似科幻的、不切實際的目標,或者是一個模糊的路徑、錯誤的定位,都會導致挫折,就會像人工智慧的前幾次冬天一樣。
「 大家固然會說冬天和夏天是一個不可逆轉的潮流,那我還是希望至少在我有生之年,不要再看到一個冬天,能夠把人工智的輝煌繼續下去。這就是我今天講演的全部,但不是最後一章。8最後一章這裡有一個小小的後記。邢波是這樣描述的:「我發覺人生很有意思,你做的每一件是好像最後的結果都有一個兩面的反映,有些人會喜歡,有些人會不喜歡。比如說像人工智慧,我們有很多人對它的結果很興奮,有些人又相當恐懼。」
就此,邢波分享了他的觀點。他認為人工智慧和人類對決不是什麼大得了不起的事,人類和機器對決自古就有,且還在發生。馬車被火車戰勝以後,固然有人驚呼,但是世界運轉如故。大概在同一個時代有人發明了照相機,當時有人驚恐,以為照相機來了以後畫家就失業了,但是現在畫家還是活得好好的,甚至新的藝術形式也被創造出來了。人機大賽只不過是人類在技術上的里程碑,展示了人類智慧的力量和功能,我們可以以歡迎的心態接受它。
至於它到底會不會強到把我們幹掉的地步?邢波認為這也是不必擔心的。人工智慧和自然智能或者是人類智能走的路其實是非常不一樣的。人類智能定義實際上不是單一的,它是一個泛化的、比較模糊、非常難以衡量的功能。而人工智慧所集中的東西是單一的、明確的、可評測的功能。人工智慧使用顯性、簡化的數學模型,可以獲得理論、實際的邊界,而人類的潛能還沒有看到邊界。邢波的觀點是:只要是在有限、透明規則、特定任務下,機器超過人的水平只是時間問題。這是好事,因為它可以幫人類實現很多有價值的功能,成為人類的好助手,降低我們生活的成本,提高我們的效率。
但人工智慧可以代替人嗎?邢波笑言這是天方夜譚。人類現有的工程能力連造一個細菌都沒法造出來,更不要說去實現人的思維和頭腦。而且人的頭腦有很多獨特的功能,比如創造性思維、感情、常識、美感,這都是人工智慧無法企及的。
「 我們歷史上的偉人孔子、拿破崙、貝多芬、梅紐因、托爾斯泰、巴蘭欽、普列賽斯卡婭和愛因斯坦,你覺得他們會被機器代替嗎?我想我們已經知道答案了。
推薦閱讀:
※人工智慧、機器學習及數學基礎經典著作24本PDF下載地址(個別無鏈接請購買)
※AI智能語音機器人應用方案
※超人類革命:人類能走多遠?(1)
※機器人可以偽裝成真人和你聊天嗎?
※大數據時代的新變數