標籤:

科普一下:到底啥是人工智慧?

早上發了這麼一條:

Google Photos 自動幫我們家小盆友做了一段 1 分 10 秒的配樂視頻,還自作主張給起了個中文名字叫「寶貝長得真快」,然後在我完全沒準備的情況下推送給我。說實在的,以前 Google Photos 自作主張做的那些東東我大多看一眼就刪掉了,唯有這次,很有感染力,很有保存價值,感動中。講真,人工智慧技術越來越人性化,越來越有趣了。

然後就有人評論說:這是基於規則做的吧?好多人的娃都被 Google Photos 送了同樣名字的視頻耶。這能算人工智慧嗎?

嗯,確實是呀,這個年頭,人臉識別那麼成熟,從一大堆照片里識別出同一個人,然後再根據時間順序,找一組照片、視頻,按固定模式做個剪輯——全是套路,全是套路,這裡面看上去一點兒都不智能呀。

反過來想,這才幾年的光景呀。幾年前,大家不還是管人臉識別叫人工智慧的嗎?怎麼今天就不待見人臉識別了?因為這技術不再驚艷了?唉,喜新厭舊的人類呀。

可再反過來想,我把這麼多年拍的幾千上萬張照片一股腦都傳到 Google Photos 上,人家沒抱怨不說,還知道你根本沒時間整理娃的照片,或者根本想不到要給娃做成長相冊,人家主動幫你做了,還感動得你一塌糊塗,人情味兒、科技味兒俱在,這個還不算既有智商也有情商?還不算人工智慧?

扯來扯去,問題來了:到底啥是人工智慧呀?

先看看國內童鞋們要學人工智慧的話,不翻牆會看到啥樣子的定義。百度百科上,「人工智慧」詞條是一個叫「中國通信學會科普中國百科科學詞條評審專家委員會」的幾位專家貢獻的。這麼權威的專家寫的詞條,最最重要的前幾段定義部分只註明了一個原始出處,是一篇名叫《人工智慧,科大訊飛志在何方?》的宣傳公關軟文,真不知道這幾位專家是想普及知識還是想推廣產品。推究起來,百度百科那段定義其實也是抄的一本老套教科書啦,不信搜搜看,不但可以搜到教科書名,還可以搜到成千上萬用這個定義作為公務員、成人教育等千奇百怪考試題的網頁鏈接。一個技術詞條中,核心定義的質量尚且如此,後面有關人工智慧的展開論述部分,真不知要害到多少求知慾強的中小學生(高能預警:專家們後來又「不小心」混進了長虹智能電視的宣傳文字)。

順便說一句,知乎里,「人工智慧」話題頁面的定義大概是直接從百度百科拿下來的,也沒註明原始出處,牆內網路環境里的知識傳播現狀可見一斑。(題外話:有空了是不是可以寫個小程序,自動分析分析牆內網路里各種低水平知識的傳播渠道和傳播方向,看看受害者是公務員多些,白領多些,還是中小學生多些。)

書歸正傳,我以前讀的教科書里,可沒有那種佶屈聱牙、書卷氣十足的定義。根據我的理解,歷史上,人工智慧的定義歷經多次轉變。一些膚淺的,未能揭示內在規律的定義很早就被研究者拋棄。但直到今天,被廣泛接受的定義仍有很多種。具體使用哪一種定義,通常取決於我們討論問題的語境和關注的焦點。

這裡,貼一篇最近寫的科普長文,簡要列舉、分析幾種歷史上有影響的,或目前仍流行的人工智慧定義(關於這些定義在理論層面的相互關係,Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Third edition 總結得比較清楚,可以參考)。對這些定義的分析、討論是一件相當有趣的事,這有些類似於古代哲學家們圍坐在一起探討「人何以為人」,或者,類似於科幻迷們對阿西莫夫的「機器人三定律」展開辯論。其實,很多實用主義者反對形而上的討論,他們會大聲說,「嗨,管他什麼是人工智慧呢?只要機器能幫助人解決問題不就行了?」

【註:以下文字意在科普,盡量講得明白淺近些,科班出身的就沒必要耽誤時間來讀了】

定義一:AI 就是讓人覺得不可思議的計算機程序

人工智慧就是機器可以完成人們不認為機器能勝任的事——這個定義非常主觀,但也非常有趣。一個計算機程序是不是人工智慧,完全由這個程序的所作所為是不是能讓人目瞪口呆來界定。這種唯經驗論的定義顯然缺乏一致性,會因時代不同、背景不同、評判者的經驗不同而套用不同的標準。但這一定義往往反映的是一個時代里最大多數的普通人對人工智慧的認知方式:每當一個新的人工智慧熱點出現,新聞媒體和大眾總是用自己的經驗來判定人工智慧技術的價值高低,而不管這種技術在本質上究竟有沒有「智能」。

計算機下棋的歷史就非常清楚地揭示了這一定義的反諷之處。

早期,礙於運行速度和存儲空間的限制,計算機只能用來解決相對簡單的棋類博弈問題,例如西洋跳棋,但這毫不妨礙當時的人們將一台會下棋的計算機稱作智能機器,因為那時,普通計算機在大多數人心目中不過是一台能用飛快的速度做算術題的機器罷了。1951 年,英國曼徹斯特大學的 Christopher Strachey 編寫了第一個會下西洋跳棋的計算機程序。1950 年代中期,IBM 的 Arthur Samuel 開發的西洋跳棋程序就可以和業餘選手對抗了。1962 年,Arthur Samuel 的程序戰勝了一位盲人跳棋高手,一時間成了不小的新聞事件(Jill Cirasella, Danny Kopec, The History of Computer Games, 2006),絕大多數媒體和公眾都認為類似的西洋跳棋程序是不折不扣的人工智慧。

可沒過多久,不少粗通編程的人發現,計算機基本上是在用搜索或優化搜索的方式來解決博弈問題。雖然其中有各種避免窮舉的演算法技巧,但在公眾眼中,程序只不過是按事先編寫的搜索策略一步步找到最佳走棋步驟而已。隨著PC機普及,每台個人電腦都可以運行一個水平相當高的西洋跳棋程序,會下棋的計算機逐漸褪去了神秘的光環。人們開始懷疑西洋跳棋程序的智能程度,不少人會用國際象棋作為例子,挑釁式地說,「下西洋跳棋有什麼了不起?哪天在國際象棋棋盤上贏了世界冠軍,那才叫人工智慧。」

後面的事情大家都很熟悉了。1996 年,IBM 研究團隊傾力打造的計算機深藍挑戰世界棋王卡斯帕羅夫,當年雖遺憾敗北,但人們已經看到了計算機戰勝人類的希望。1997 年,深藍捲土重來,在六局棋的對抗賽中戰勝卡斯帕羅夫後聲譽大振。當時,幾乎全世界的人都在討論深藍的強大和可怕,沒人懷疑深藍就是人工智慧的代表,至少,公眾願意相信,在深藍巨大的黑色機箱內,擁有一顆在棋類博弈領域不輸人類的特殊「大腦」。

好景不長,與西洋跳棋相似的歷史很快就再次上演。當國際象棋、中國象棋已經被計算機玩得滾瓜爛熟,連一部手機、一台平板電腦上的象棋程序都能與人類高手分庭抗禮,公眾立即開始懷疑這樣的博弈程序是不是還算得上人工智慧。道理很簡單,公眾總是樂於證明人類在智慧層面的獨一無二。不管是不是真的懂得演算法細節,人們總會說,計算機只不過是在程序控制下機械地完成搜索或窮舉罷了。事實上,與下棋類似的事情也發生在 OCR 等失去了新鮮感的計算機演算法身上(Roger C. Schank, Where"s the AI? AI Magazine Volumen 12 Number 4, 1991),本文開頭提到的人臉識別也不例外。

拒絕承認象棋程序是人工智慧後,公眾找到了維護人類智慧尊嚴的最後陣地——圍棋。直到 2016 年年初,除了一個叫樊麾的職業圍棋選手和 Google DeepMind 的一隻規模不大的研發團隊外,幾乎所有地球人,包括圍棋高手和不少計算機專家都經常會說,「下象棋有什麼了不起?真有智能的話,來跟世界冠軍下盤圍棋試試?圍棋可是一項無法窮盡搜索,需要依靠人類大局觀的智力運動,是唯一一種計算機無法戰勝人類的棋類比賽。」

很不幸,人類的自以為是又一次被快速發展的人工智慧演算法無情嘲笑了。2016 年 3 月 9 日,圍棋世界冠軍李世石坐在 AlphaGo 面前,宿命再一次降臨。隨著 AlphaGo 在五番棋中以四比一大勝,有關人工智慧的熱情和恐慌情緒同時在全世界蔓延開來,也因此引發了一波人工智慧宣傳、研發和投資的熱潮。

今天,沒有人懷疑 AlphaGo 的核心演算法是人工智慧。但想一想曾經的西洋跳棋和國際象棋,當時的人們不是一樣對戰勝了人類世界冠軍的程序敬若神明嗎?再過幾年,當手機上的圍棋程序可以輕鬆戰勝職業棋手,當所有圍棋比賽都要嚴查手機作弊時,人們還會認為計算機下圍棋是一件不可思議的事嗎?人們還會將圍棋程序視為人工智慧的代表嗎?

定義二:AI 就是與人類思考方式相似的計算機程序

這是人工智慧發展早期非常流行的一種定義方式。另一種類似的,同樣從思考方式本源出發的定義是:AI 就是能遵照思維里的邏輯規律進行思考的計算機程序。

從根本上講,這是一種類似仿生學的直觀思路。既然叫人工智慧,那用程序來模擬人的智慧就是最直截了當的做法。但歷史經驗證明,仿生學的思路在科技發展中不一定可行。一個最好也最著名的例子就是飛機。人類在幾千年的時間裡一直夢想著按照鳥類扑打翅膀的方式飛上天空,但反諷的是,真正帶著人類在長空翱翔,並打破了鳥類飛行速度、飛行高度紀錄的,是飛行原理與鳥類差別極大的固定翼飛機。

人類思考方式?人究竟是怎樣思考的?這本身就是一個複雜的技術和哲學問題。要了解人類自身的思考方式,哲學家們試圖通過反省與思辨,找到人類思維的邏輯法則,而科學家們則通過心理學和生物學實驗,了解人類在思考時的身心變化規律。這兩條道路都在人工智慧的發展歷史上起到過極為重要的作用。

思維法則,或者說,邏輯學,是一個人的思考過程是不是理性的最高判定標準。從古希臘的先賢們開始,形式邏輯,數理邏輯,語言邏輯,認知邏輯等分支在數千年的積累和發展過程中,總結出大量規律性的法則,並成功地為幾乎所有科學研究提供了方法論層面的指導。讓計算機中的人工智慧程序遵循邏輯學的基本規律進行運算、歸納或推演,這是許多早期人工智慧研究者的最大追求。

世界上第一個專家系統程序 Dendral 是一個成功地用人類專家知識和邏輯推理規則解決一個特定領域問題的例子。這是一個由斯坦福大學的研究者用 Lisp 語言寫成的,幫助有機化學家根據物質光譜推斷未知有機分子結構的程序。Dendral 項目在 1960 年代中期取得了令人矚目的成功,衍生出一大批根據物質光譜推斷物質結構的智能程序(Dendral)。

Dendral 之所以能在限定的領域解決問題,一是依賴於化學家們積累的有關何種分子機構可能產生何種光譜的經驗知識,一是依賴符合人類邏輯推理規律的大量判定規則。Dendral 的成功事實上帶動了專家系統在人工智慧各相關領域的廣泛應用,從機器翻譯到語音識別,從軍事決策到資源勘探。一時間,專家系統似乎就是人工智慧的代名詞,其熱度不亞於今天的深度學習。

但人們很快就發現了基於人類知識庫和邏輯學規則構建人工智慧系統的局限。一個解決特定的、狹小領域問題的專家系統很難被擴展到稍微寬廣一些的知識領域中,更別提擴展到基於世界知識的日常生活里了。一個著名的例子是早期人們用語法規則與辭彙對照表來實現機器翻譯時的窘境。1957 年蘇聯發射世界上第一顆人造衛星後,美國政府和軍方急於使用機器翻譯系統了解蘇聯科技動態。但用語法規則和辭彙對照表實現的俄語到英語的機器翻譯系統笑話百出,曾把「心有餘而力不足(the spirit is willing but the flesh is weak)」翻譯為「伏特加不錯而肉都爛掉了(the vodka is good but the meat is rotten)」,完全無法處理自然語言中的歧義和豐富多樣的表達方式(Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Third edition)。在後起的統計模型、機器學習等技術面前,專家系統毫無優勢可言,從 1990 年代開始就備受冷落。科研機構甚至不得不解僱過時的語言學家,以跟上技術進展的腳步。

另一方面,從心理學和生物學出發,科學家們試圖弄清楚人的大腦到底是怎麼工作的,並希望按照大腦的工作原理構建計算機程序,實現「真正」的人工智慧。這條道路上同樣布滿荊棘。最跌宕起伏的例子,非神經網路莫屬。

生物學家和心理學家很早就開始研究人類大腦的工作方式,其中最重要的一環,就是大腦神經元對信息(刺激)的處理和傳播過程。早在通用電子計算機出現之前,科學家們就已經提出了有關神經元處理信息的假想模型,即,人類大腦中的數量龐大的神經元共同組成一個相互協作的網路結構,信息(刺激)通過若干層神經元的增強、衰減或屏蔽處理後,作為系統的輸出信號,控制人體對環境刺激的反應(動作)。1950 年代,早期人工智慧研究者將神經網路用於模式識別,用計算機演算法模擬神經元對輸入信號的處理過程,並根據信號經過多層神經元後得到的輸出結果對演算法參數進行修正。

早期神經網路技術沒有發展太久就陷入低谷。這主要有兩個原因,一是當時的人工神經網路演算法在處理某些特定問題時有先天局限,亟待理論突破,二是當時的計算機運算能力無法滿足人工神經網路的需要。1970 到 1980 年代,人工神經網路的理論難題得到解決。1990 年代開始,隨著計算機運算能力的飛速發展,神經網路在人工智慧領域重新變成研究熱點。但直到 2010 年前後,支持深度神經網路的計算機集群才開始得到廣泛應用,供深度學習系統訓練使用的大規模數據集也越來越多。神經網路這一仿生學概念在人工智慧的新一輪復興中,真正扮演了至關重要的核心角色。

客觀地說,神經網路到底在多大程度上精確反映了人類大腦的工作方式,這仍然存在爭議。在仿生學的道路上,最本質的問題是,人類至今對大腦如何實現學習、記憶、歸納、推理等思維過程的機理還缺乏認識,況且,我們並不知道,到底要在哪一個層面(大腦各功能區相互作用的層面?細胞之間交換化學物質和電信號的層面?還是分子和原子運動的層面?)真實模擬人腦的運作,才能製造出可以匹敵人類智慧的智能機器。

定義三:AI 就是與人類行為相似的計算機程序

和仿生學派強調對人腦的研究與模仿不同,實用主義者從不覺得人工智慧的實現必須遵循什麼規則或理論框架。「黑貓白貓,逮住耗子就是好貓。」在人工智慧的語境下,這句話可以被改造成,「簡單程序,複雜程序,聰明管用就是好程序。」

也就是說,無論計算機以何種方式實現某一功能,只要該功能表現得與人在類似環境下的行為相似,就可以說,這個計算機程序擁有了在該領域內的人工智慧。這一定義從近似於人類行為的最終結果出發,忽視達到這一結果的手段。另一種對人工智慧的近似定義則更強調人工智慧的實用色彩:AI 就是可以解決問題並獲得最大收益的計算機程序。

略懂些編程的人都知道,幾乎所有程序設計語言都提供了類似 if ... else ... 的分支結構,那麼,與 if ... else ... 相關的一個哲學問題是,程序根據某個條件進行判斷並完成相應操作的時候,這個「判斷」以及隨後的「決定」是由計算機自己做出的,還是由編程序的人做出的?如果是由計算機自己做出的,那能不能說所有執行了 if ... else ... 語句的計算機程序都是人工智慧?如果相反,那計算機根據運行時的情況做決策時,人又在哪裡呢?

哲學思辨容易陷入這樣的兩難境地,但實用主義者根本不把這當回事——執行 if ... else ... 的程序是否有智能,完全要看那個程序是不是做了和人相似的有智能的事。像 Dendral 這樣的專家系統就是靠大量 if ... else ... 來模仿人類專家的判定規則,這當然屬於人工智慧的範疇,而普通的數值計算程序即便用了 if ... else ...,也不能被稱作智能。

實用主義者推崇備至的一個例子是麻省理工學院於 1964 到 1966 年間開發的「智能」聊天程序 ELIZA。那個程序看上去就像一個有無窮耐心的心理醫生,可以和無聊的人或需要談話治療的精神病人你一句我一句永不停歇地聊下去。當年, ELIZA 的聊天記錄讓許多人不敢相信自己的眼睛。可事實上,ELIZA 所做的,不過是在用戶輸入的句子里,找到一些預先定義好的關鍵詞,然後根據關鍵詞從預定的回答中選擇一句,或者簡單將用戶的輸入做了人稱替換後,再次輸出,就像心理醫生重複病人的話那樣。ELIZA 心裡只有詞表和映射規則,它才不懂用戶說的話是什麼意思呢。

這種實用主義的思想在今天仍有很強的現實意義。比如今天的深度學習模型在處理機器翻譯、語音識別、主題抽取等自然語言相關的問題時,基本上都是將輸入的文句看成由音素、音節、字或片語成的信號序列,然後將這些信號一股腦塞進深度神經網路里進行訓練。深度神經網路內部,每層神經元的輸入輸出信號可能相當複雜,複雜到編程者並不一定清楚這些中間信號在自然語言中的真實含義,但沒有關係,只要整個模型的最終輸出滿足要求,這樣的深度學習演算法就可以工作得很好。在研究者看來,深度學習模型是不是真的跟人類大腦神經元理解自然語言的過程類似,這一點兒都不重要,重要的是,整個模型可以聰明地工作,最終結果看起來就像人做的一樣。

定義四:AI 就是會學習的計算機程序

沒有哪個完美主義者會喜歡這個定義。這一定義幾乎將人工智慧與機器學習等同了起來。但這的確是最近這波人工智慧熱潮里,人工智慧在許多人眼中的真實模樣。誰讓深度學習一枝獨秀,幾乎壟斷了人工智慧領域裡所有流行的技術方向呢?

1980 到 1990 年代,人們還在專家系統和統計模型之間搖擺不定,機器學習固守著自己在數據挖掘領域的牢固陣地遠遠觀望。短短十幾年過去,從 2000 到 2010 年,機器學習開始逐漸爆發出驚人的威力,並最早在計算機視覺領域實現了驚人的突破。2010 年至今,使用深度學習模型的圖像演算法在 ImageNet 競賽中顯著降低了對象識別、定位的錯誤率,領先的演算法已經達到了比人眼更高的識別準確率(ImageNet)。2015 年,語音識別依靠深度學習獲得了大約 49% 的性能提升(googleresearch.blogspot.ch)。機器翻譯、機器寫作等領域也在同一時期逐漸被深度學習滲透,並由此獲得了大幅改進。

「無學習,不AI」,這幾乎成了人工智慧研究在今天的核心指導思想。許多研究者更願意將自己稱為機器學習專家,而非泛泛的人工智慧專家。Google 的 AlphaGo 因為學習了大量專業棋手棋譜,然後又從自我對弈中持續學習和提高,因此才有了戰勝人類世界冠軍的本錢。微軟的小冰因為學習了大量互聯網上的流行語料,才能用既時尚、又活潑的聊天方式與用戶交流。媒體上,被宣傳為人工智慧的典型應用大多都擁有深度學習的技術基礎,是計算機從大量數據資料中通過自我學習掌握經驗模型的結果。

這一定義似乎也符合人類認知的特點——沒有哪個人是不需要學習,從小就懂得所有事情的。人的智慧離不開長大成人過程里的不間斷學習。因此,今天最典型的人工智慧系統通過學習大量數據訓練經驗模型的方法,其實可以被看成是模擬了人類學習和成長的全過程。如果說人工智慧未來可以突破到強人工智慧甚至超人工智慧的層次,那從邏輯上說,在所有人工智慧技術中,機器學習最有可能扮演核心推動者的角色。

當然,機器目前的主流學習方法和人類的學習還存在很大的差別。舉個最簡單的例子:目前的計算機視覺系統在看過數百萬張或更多自行車的照片後,很容易辨別出什麼是自行車,什麼不是自行車,這種需要大量訓練照片的學習方式看上去還比較笨拙。反觀人類,給一個三四歲的小孩子看一輛自行車之後,再見到哪怕外觀完全不同的自行車,小孩子也十有八九能做出那是一輛自行車的判斷。也就是說,人類的學習過程往往不需要大規模的訓練數據。這一差別給人類帶來的優勢是全方位的。面對繁紛複雜的世界知識,人類可以用自己卓越的抽象能力,僅憑少數個例,就歸納出可以舉一反三的規則、原理甚至更高層次上的思維模式、哲學內涵等等。最近,儘管研究者提出了遷移學習等新的解決方案,但從總體上說,計算機的學習水平還遠遠達不到人類的境界。

如果人工智慧是一種會學習的機器,那未來需要著重提高的,就是讓機器在學習時的抽象或歸納能力向人類看齊。

定義五:AI 就是根據對環境的感知,做出合理的行動,並獲得最大收益的計算機程序

針對人工智慧,不同的定義將人們導向不同的研究或認知方向,不同的理解分別適用於不同的人群和語境。如果非要調和所有看上去合理的定義,我們得到的也許就只是一個全面但過於籠統、模糊的概念。

維基百科的人工智慧詞條採用的是 Stuart Russell 與 Peter Norvig 的定義(Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Third edition),他們認為,人工智慧是有關「智能主體(Intelligent agent)的研究與設計」的學問,而「智能主體是指一個可以觀察周遭環境並作出行動以達致目標的系統」(https://zh.wikipedia.org/wiki/人工智慧)。

坦率地說,這個定義將上面幾個實用主義的定義都涵蓋了進去,既強調人工智慧可以根據環境感知做出主動反應,又強調人工智慧所做出的反應必須達致目標,同時,不再強調人工智慧對人類思維方式,或人類總結的思維法則(邏輯學規律)的模仿。

基本上,偏重實證是近來人工智慧研究者的主流傾向。如前所述,在今天這個結果至上的時代里,沒有多少人願意花心思推敲人工智慧到底該如何定義。有那個時間,還不如去跑幾個深度學習的新模型,發幾篇深度學習新演算法的論文來得合算。


推薦閱讀:

XVC胡博予: 從進化論的角度思考人工智慧
今天,全國首個AI加持的無人警局,已經在武漢成為了現實。
AI 何時會全面超越人類
吳恩達 DeepLearning.ai 課程提煉筆記(1-4)神經網路和深度學習 --- 深層神經網路

TAG:人工智能 |