圖靈機、人工智能以及我們的世界_風聞
返朴-返朴官方账号-关注返朴(ID:fanpu2019),阅读更多!2022-05-03 10:47
撰文 | 顧森
最近讀完了The Annotated Turing一書,第一次完整地閲讀了圖靈最經典的那篇論文,理解了圖靈機提出的動機和由此帶來的一系列結論。不過,這本書的最大價值,則是讓我開始重新認識和思考這個世界。在這裏,我想把我以前積累的哲學觀點和最近一些新的思考記下來,與大家一同分享。
1928年,大衞·希爾伯特(David Hilbert)提出了一個著名的問題:是否存在一系列有限的步驟,它能判定任意一個給定的數學命題的真假? 這個問題就叫做Entscheidungsproblem,德語“判定性問題”的意思。大家普遍認為,這樣的一套步驟是不存在的,也就是説我們沒有一種判斷一個數學命題是否為真的通用方法。為了證明這一點,真正的難題是將問題形式化:什麼叫做“一系列有限的步驟”?當然,現在大家知道,這裏所説的“有限的步驟”指的就是由條件語句、循環語句等元素搭建而成的一個機械過程,也就是我們常説的“算法”。不過,在沒有計算機的時代,人們只能模模糊糊地體會“一個機械過程”的意思。1936年,阿蘭·圖靈在其著名的論文On computable numbers, with an application to the Entscheidungsproblem提出了一種假想的機器,第一次給了“機械過程”一個確鑿的含義。
圖靈提出的機器非常簡單。假設有一張無窮向右延伸的紙條,從左至右分成一個一個的小格子。每一個小格子裏都可以填寫一個字符(通常是單個數字或者字母)。紙條下方有一個用來標識“當前格子”的箭頭,在機器運行過程中,箭頭的位置會不斷移動,顏色也會不斷變化。不妨假設初始時所有格子都是空白,箭頭的顏色是紅色,並且指向左起第一個格子。為了讓機器實現不同的功能,我們需要給它制定一大堆指令。每條指令都是由五個參數構成,格式非常單一,只能形如“如果當前箭頭是紅色,箭頭所在格子寫的是字符A,則把這個格子裏的字符改為B,箭頭變為綠色並且向右移動一格”,其中最後箭頭的移動只能是“左移一格”、“右移一格”、“不動”中的一個。
精心設計不同的指令集合,我們就能得到功能不同的圖靈機。你可以設計一個生成自然數序列的圖靈機,或者是計算根號2的圖靈機,甚至是打印圓周率的圖靈機。圖靈本人甚至在論文中實現了這麼一種特殊的圖靈機叫做通用圖靈機,它可以模擬別的圖靈機的運行。具體地説,如果把任意一個圖靈機的指令集用圖靈自己提出的一種規範方式編碼並預存在紙條上,那麼通用圖靈機就能夠根據紙條上已有的信息,在紙條的空白處模擬那台圖靈機的運作,輸出那台圖靈機應該輸出的東西。
但是,圖靈機並不是無所不能的。圖靈證明了一個看似有些驚人的事實:不存在這樣的一個圖靈機,它能讀取任意一個圖靈機的指令集,並判斷該圖靈機是否將會在紙條上打印出至少一個0。注意,簡單地用通用圖靈機做模擬並不是一個可行的方案,因為模擬到現在還沒有打出0,不意味着今後永遠不會打出0。這個定理有一個更深刻的含義,即沒有一種通用的方法可以預測一台圖靈機無窮遠後的將來(後人把這個結論簡化為了著名的停機問題)。正如The Annotated Turing封底上的一段文字所説:在沒有計算機的時代,圖靈不但探索了計算機能做的事,還指出了計算機永遠不能做到的事。
在論文的最後一章,圖靈給出了一種圖靈機指令集和一階邏輯表達式的轉換規則,使得這個圖靈機將會打出0來,當且僅當對應的一階邏輯表達式為真。然而,我們沒有一種判斷圖靈機是否會輸出0的算法,因此我們也就沒有一種判斷數學命題是否為真的通用辦法。於是,Entscheidungsproblem有了一個完美的解答。
有趣的是,圖靈機本身的提出比Entscheidungsproblem的解決意義更大。計算機誕生以後,出現了五花八門的高級編程語言,一個比一個帥氣,但它們的表達能力實際上都沒有超過圖靈機。事實上,再龐大的流程圖,再複雜的數學關係,再怪異的語法規則,最終都可以用圖靈機來描述。圖靈機似乎是一個終極工具,它似乎能夠表達一切形式的計算方法,可以描述一切事物背後的規律。在同一時代,美國數學家阿隆佐·邱奇(Alonzo Church)創立了λ算子(λ-calculus),用數學的方法去闡釋“機械過程”的含義。後來人們發現,圖靈機和λ算子是等價的,它們具有相同的表達能力,是描述“可計算性”的兩種不同的模型。圖靈機和λ算子真的能夠描述所有直觀意義上的“可計算數”、“可計算數列”、“可計算函數”嗎?有沒有什麼東西超出了它們的表達能力?這個深刻的哲學問題就叫做邱奇-圖靈論題(Church-Turing thesis)。當然,我們沒法用形式化的方法對其進行論證,不過大家普遍認為,圖靈機和λ算子確實已經具有描述世間一切複雜關係的能力了。人們曾經提出過一些hypercomputer,即超出圖靈機範圍的假想機器,比如能在有限時間裏運行無窮多步的機器,能真正處理實數的機器。不過這在理論上都是不可能實現的。
事實上,圖靈在他的論文中就已經指出,人的思維也沒有跳出圖靈機的範圍。對此,圖靈有一段非常漂亮的論證:人在思考過程中,總能在任意時刻停下來,把當前進度記錄在一張紙上,然後徹底走開並把它完全拋之腦後,過一會兒再回來,並完全憑藉紙上的內容拾起記憶,讀取進度,繼續演算。也就是説,人的每一幀思維,都可以完全由上一幀思維推過來,不依賴於歷史的思維過程。而圖靈機所做的,也就是把人的思維步驟拆分到最細罷了。
沒錯,這意味着,或許一個人的語言、計算甚至學習能力,完全等價於一個圖靈機,只不過這個圖靈機的指令集可能異常龐大。1950年,圖靈的另一篇經典論文Computing Machinery and Intelligence中正式把人和機器放到了相同的高度:讓一個真人C先後與一台計算機A和另一個真人B進行聊天,但事先不告訴他A和B哪個是機器哪個是人;如果C無法通過聊天內容分辨出誰是機器誰是人,我們就認為計算機A具有了所謂的人工智能。 這就是圖靈測試。
計算機擁有智能?這豈不意味着計算機也能學習,也能思考,也擁有喜怒哀樂?人類似乎瞬間失去了不少優越感,於是不少科學家都旗幟鮮明地提出了反對意見。其中最為經典的恐怕要數美國哲學家約翰·塞爾(John Searle)在1980年提出的“中文屋子”思想實驗了。把一個不懂漢語的老外關在一個屋子裏,屋子裏放有足夠多的草稿紙和鉛筆,以及一本漢語機器聊天程序的源代碼。屋子外面則坐着一個地地道道的中國人。屋裏屋外只能通過紙條傳遞信息。老外可以用人工模擬程序運行的方式,與屋外的人進行文字聊天,但這能説明老外就懂中文了嗎?顯然不能。每次講到中文屋子時,我往往會換一種更具戲劇效果的説法。一羣微軟研究員在小屋子裏研究代碼研究了半天,最後某人指着草稿紙一角的某個數字一拍大腿説,哦,原來屋外的人傳進來的是一段笑話!於是,研究員們派一個代表到屋子外面捧腹大笑——但是,顯然這個研究員是在裝笑,他完全不懂笑點在哪兒。這個例子非常有力地説明了,機器雖然能通過圖靈測試,但它並不具有真正的智能。
當然,有反方必有正方。另一派觀點則認為,計算機擁有智能是一件理所當然的事。這涉及到一個更為根本的問題:究竟什麼是智能?
記得我曾經看過一本科幻小説,書名不記得了,情節內容也完全不記得了,只記得當我看完小説第一頁時的那種震撼。在小説的開頭,作者發問,什麼是自我意識?作者繼續寫到,草履蟲、蚯蚓之類的小動物,通常是談不上自我意識的。貓貓狗狗之類的動物,或許會有一些自我意識吧。至於人呢,其實我只敢保證我自己有自我意識,其他人有沒有自我意識我就不知道了。看到這裏我被嚇得毛骨悚然:完全有可能整個世界就只有我一個人有自我意識,其他所有人都是裝出一副有意識的樣子的無生命物!
有一次做漢語語義識別的演講時,講到利用語義角色模型結合內置的知識庫,計算機就能區別出“我吃完了”和“蘋果吃完了”的不同,可以推出“孩子吃完了”多半指的是什麼。一位聽眾舉手説,難道計算機真的“理解”句子的意思了?我的回答是,沒有冒犯的意思,你認為你能理解一個漢語句子的意思對吧,那你怎樣證明這一點呢?聽眾朋友立即明白了。你怎樣證明,你真的懂了某一句話?你或許會説,我能對其進行擴句縮句啊,我能換一種句型表達同樣的意思啊,我能順着這句話講下去,講出與這句話有關的故事、笑話或者典故,我甚至還能在紙上畫出句子裏的場景來呢!那好,現在某台電腦也能做到這樣的事情了,怎麼辦?
這就是所謂的“功能主義”:只要它的輸入輸出表現得和人一樣,不管它是什麼,不管它是怎麼工作的,哪怕它只是一塊石頭,我們也認為它是有智能的。永遠不要覺得規則化、機械化的東西就沒有智能。你覺得你能一拍腦袋想一個隨機數,並且嘲笑計算機永遠無法生成真正的隨機數。但是,你憑什麼認為你想的數真的就是隨機的呢?事實上,你想的數究竟是什麼,這也是由你的大腦機器一步一步產生的。你的大腦逃不出圖靈機。
事實上,整個世界也逃不出圖靈機的範圍。牛頓系統地總結了物體運動規律後,人類豁然開朗,原來世界萬事萬物都是由“力”來支配的。扔出一個東西后,這個東西將以怎樣的路線做怎樣的運動,會撞擊到哪些其他的物體,它們分別又會受到怎樣的影響,這都是可以算出來的。這便是所謂的機械唯物主義:我們的世界是一個簡單的、確定的、線性的、無生的世界。1814年,法國數學家拉普拉斯(Laplace)給出一個更加漂亮的詮釋:如果有一個妖精,它知道宇宙某個時刻所有基本粒子的位置和動量,那麼它就能夠根據物理規律,計算出今後每一時刻整個宇宙的狀態,從而預測未來。劉慈欣在科幻小説《鏡子》中更加極端地把初始狀態取到宇宙大爆炸的時刻,因為宇宙誕生之初的狀態極其簡單,調整到正確的參數就可以生成我們所處的這個宇宙。這就是所謂的決定論。
我特別相信這些説法。我的拖延症有一個非常怪異的緣由,那就是我會告訴自己,截止的那一天總會到來的,這堆破事兒總會被我做完的。遇上糾結的問題,我不會做過多的思考,而會讓一切順其自然。其實,結果已經是確定的了,我真正需要做的不過是親自把這個過程經歷一遍。就彷彿我沒有自由意志了一樣。
不過,有了現代物理學的觀念,尤其是量子理論的誕生,人們開始質疑上帝究竟會不會擲骰子了。然而,上帝會不會擲骰子,對於我們來説其實並不重要。圖靈的結論告訴我們,即使未來是註定的,我們也不一定有一種算法去預測它,除非模擬它運行一遍。但是,要想模擬這個宇宙的運行,需要的計算量必然超出了這個宇宙自身的所有資源。運行這個宇宙的唯一方式,就是運行這個宇宙本身。塞思·勞埃德(Seth Lloyd)在Programming the Universe裏説到:“我們體會到的自由意志很像圖靈的停機問題:一旦把某個想法付諸實踐,我們完全不知道它會通向一個怎樣的結局,除非我們親身經歷這一切,目睹結局的到來。”
未來很可能是既定的,但是誰也不知道未來究竟是什麼樣。每個人的將來依舊充滿了未知數,依舊充滿了不確定性。所以,努力吧,未來仍然是屬於你的。
本文經授權轉載自微信公眾號“數學文化”。
特 別 提 示
1. 進入『返樸』微信公眾號底部菜單“精品專欄“,可查閲不同主題系列科普文章。
2. 『返樸』提供按月檢索文章功能。關注公眾號,回覆四位數組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。