天天看點

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

導讀:美國電視劇《西部世界》第二季的第一集一經播出就引起熱議。一時間,人和人工智能這個話題又重新被辯論。由于程式功能越來越強大,人們開始擔心:“人工智能程式會不會全面取代人類?”

人工智能是否會取代人類這個問題,實際上涉及對于認知的無窮邊界的考量:圖靈機能表達的帶有人工智能模型的可計算數(程式)無窮大,人的思考過程也無窮大,哪個無窮大更大?

01 圖靈機和可計算數

圖靈的論文《可計算數及其在可判定性問題上的應用》(《On Computable Numbers,with an Application to the Entscheidungsproblem》)發表于1936年,在這篇論文中,他構造了一個圖靈機來計算可計算數,證明希爾伯特提出的通用可判定性方法不存在。

圖靈機的具體構造可以參考圖靈的論文,這篇論文閱讀起來非常晦澀。但如果要了解他的構思或者靈感,那麼閱讀他的論文是最直接的方式。圖靈不是我們同時代的人,要推測圖靈的構造靈感非常困難,但是讀者可以像作者這樣通過閱讀到的文字和聽到的故事去隔空對話這位偉人,推敲他的靈感來源。

電影《模仿遊戲》詳細地介紹了他的生平,據曆史學家估計,圖靈因為破解德國的恩尼格瑪密碼機(Enigma Machine)而拯救了1400萬英國人。在破解恩尼格瑪密碼機的時候,圖靈沉浸在密碼學之中。

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

▲《模仿遊戲》中破解密碼機的圖靈

密碼學就是将一組數字按照某種規則讓機器變成另外一組數字。接收方可以根據一個反向規則讓機器将其變成原文。舉個簡單的例子,10多年前為了讓我的信件不被家長偷看,我曾構造過一個簡單的加密方法:把所有的英文字元換成英文字元表的下一個字元,接收者把每個英文字元換成字元表的前一個字元即可以重構原文。

舉一個更加複雜的例子,計算機科學一般用兩位數字01,02,…26來表示英文字母A,B,…Z,用00表示空格。這樣,一個關于聚會的時間和地點的文字消息就可以轉化為一串數字。接收者收到這串數字後,把每兩位數字轉換成對應的字母,就可以還原出文字消息了。

把一個句子通過一個機器邏輯映射成一個數字非常有意思,例如ICU可以映射成090321。圖靈在破解恩尼格瑪密碼機的時候可能深谙其中的樂趣。

《Cloud Foundry:從數字化戰略到實作》一書的第1章曾回顧香農資訊論為代表的數字世界的崛起。我們談到了馮·諾伊曼為何建議香農在他的資訊論中采用實體學中熵的概念,但是我們并沒有仔細讨論後面的哲學,這裡可以再繼續深入讨論一下。

實體學家和數學家都隐隐約約感覺到物質和能量背後存在的資訊(數字)世界,那麼我們能否用數字世界來描述實體世界?香農和奈奎斯特獨創了資訊論。在他們兩位開天辟地的工作成果下,我們可以通過一個機器把圖像、音頻編碼成一組數字。

于是,我們今天可以用二進制編輯器打開任何一台計算機上的圖檔或者音頻,其實它們隻是一串0和1編碼。這些0和1的字元串對應了一個數的二進制表示,是以它還是一個數。

圖靈在從事密碼破譯工作的時候,有機會去美國的貝爾實驗室協調英美兩國的合作。他在貝爾實驗室遇到了兩位大師(可見人生結交高品質的朋友多麼重要)。

作者猜測圖靈從兩位大師制作的編解碼機器中大受啟發,将他對世界萬物都是數的信念往前推進了一步:如果說人的五官能夠感受到的世間萬物都可以用機器轉換成數字來表示,那麼人的思考過程是否也能用機器轉換成數字來表示?

為幫助讀者了解圖靈的這個構思,可以用iPhone手機上的Siri語音助手來類比。Siri是一個能思考和分析的程式,如果你用一個二進制編輯器打開它,它也是一個用二進制0和1表示的數。但是Siri對應成iPhone這個機器(本質上就是一個圖靈機)上的一個數字後,在機器上的運作就能起到人工智能的效果。

通過這個例子,讀者也可以看到數字化是人類前進的一個新方向,相比人類在工程和實體領域的幾千年的研究,數字世界的探讨從圖靈等人在20世紀40年代開辟這個話題算起,到今天才經曆了幾十年。

圖靈的論文詳細介紹了圖靈機的構造和定義在圖靈機上的可計算數。如果讀者覺得論文太難懂,可以參考《圖靈的秘密》一書,該書做了非常詳細的注解。

圖靈用極其簡單的抽象機器來模拟一個數學工作者。一個數學工作者腦子裡面有個思考狀态(上下文),他在紙上掃描到下一個字元的時候腦子裡會産生一個狀态,然後可能在紙上移動位置寫下一個符号,不斷重複這個過程。圖靈機的構造就是這麼簡單,圖1-12就是圖靈機的一個大緻描述。

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

▲圖1-12 圖靈機的大緻表示,來源:維基百科

圖靈機在無限長的紙帶上移動,每次移動讀取一個符号(數字用二進制表示),然後圖靈機的内部狀态進行改變,并決定圖靈機下一個移動的位置。圖靈在論文中給出的一個例子是列印一個分數1/3。

這個圖靈機很簡單:列印1個0往右移動一格,然後再往後移動一格,留出一個空格做可能的符号标記,然後再列印一個1并往右移動一格,之後,圖靈機再往右移動一格進而留出一個空格作為可能的符号标記。之後以此類推。以上過程可以用表1-1所示的狀态切換表來表示。

表1-1 可計數1/3的圖靈機表示:

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

寫過程式的讀者會發現,這有非常經典的彙程式設計式的味道。機器列印出來的紙帶如圖1-13所示(早期的軟體工程師應該有使用穿孔紙帶的經曆)。

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

▲圖1-13 可計算數1/3的圖靈機紙帶

把這個紙帶标記為小數點後的二進制數字(0.010101…),讀者可以用級數求和,其結果等價于1/3。

讀者可能有兩個疑問:

二進制表示對數字計算機的産生有極大幫助,那麼圖靈是如何突發奇想地想到用二進制來表示圖靈機?

圖靈為何隻讨論0到1之間的實數?這兩個問題的确非常重要,因為這涉及我們對人和機器之間的互補和競争關系的讨論:機器到底是否會取代人?我們在下一節中再展開讨論,這裡暫時聚焦在圖靈機上。

這個圖靈機隻做一件事情,就是表示一個可計算數1/3。為了達到舉一反三的目的,我們可以把表1-1中的b和k的順序更換一下,進而創造另外一個計算2/3的圖靈機。表格如表1-2所示。

表1-2 可計數2/3的圖靈機表示:

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

它的紙帶如圖1-14所示,其中1和0的順序與數1/3紙帶中1和0的順序正好相反。

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

▲圖1-14 可計算數2/3的圖靈機紙帶

我們現在了解了圖靈機的定義和運作機制,能夠用圖靈機計算的數叫作可計算數。目前,得到了兩個表格表示的不同圖靈機,分别用來計算可計算數1/3和2/3。寫過程式的人可以把這兩個表當作兩個程式,以友善了解後面的内容。

如果圖靈隻是用假想的機器來編碼可計算數,那與香農和奈奎斯特的成果沒有任何可比性,因為兩位大師已經用機器把圖像、聲音等信号用機器編碼成數字。但是圖靈往前走了一步,他不僅把數字編碼成特定的圖靈機,還把特定的圖靈機編碼成通用的圖靈機。

讀者可簡單地了解為圖靈創造了一個通用的機器,在這個機器裡面,上面的兩個圖靈機(可以簡單了解成上面的表1-1和表1-2)也可以編碼成兩個可計算數(程式),這意味着(理論上)通用計算機的誕生。對于數學領域的人而言,世界上已經存在計算機了。

把表1-1表示的計算1/3的程式和表1-2表示的計算2/3的程式輸入到這個通用計算機,就會輸出對應的紙帶:圖1-13和圖1-14。香農和奈奎斯特的編解碼機器也可以在這台通用圖靈機上運作。

用今天的事物來類比,就是把微信程式、地圖程式、Siri程式輸入到iPhone這個通用計算機上執行。普遍被認為具有人工智能的Siri,從這個意義上說隻是圖靈機上的一個可計算數而已。對圖靈的這個通用計算機的構造有興趣的讀者可以閱讀他的論文或者有注解的《圖靈的秘密》一書。

提出通用計算機以後,圖靈就開始為他假想出來的計算機編寫程式。圖靈當然也關心如何在實體世界創造出一台實體計算機,但是這需要獲得大量實體世界的資源、聚集團隊和持續執行才能實作。最終,馮·諾依曼實作了這個目标,但作者不認為第一台可存儲程式計算機是馮·諾依曼一個人創造的,而應該是他和他的團隊一起創造出來的。

數字是數,信号是數,程式也是數,世界萬物都是數。自從第一台假想計算機和第一台實體計算機誕生以後,再加上香農和奈奎斯特把實體世界的信号編碼成數字,數字技術開始蓬勃發展,進入了大型機、PC機和雲計算機時代。

一批數學、實體工作者後來轉變成為能編寫程式的軟體開發人員。從計算機發明到現在短短六七十年,開發人員編寫出各種各樣的程式,不少程式帶有人工智能或機器學習的數學模型,涉及虛拟現實、無人駕駛、人臉識别、語音助理等領域。

由于程式功能越來越強大,人們開始擔心:“人工智能程式會不會全面取代人類?”

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

02 認知邊界上的考量

人工智能是否會取代人類這個問題,實際上涉及對于認知的無窮邊界的考量:圖靈機能表達的帶有人工智能模型的可計算數(程式)無窮大,人的思考過程也無窮大,哪個無窮大更大?面對這個問題,大部分人會困惑“兩個無窮大的數還能區分大小?”是以,這裡有必要重新了解一下數。

數有兩個讓人最頭疼的問題:無窮問題和無理問題。據說知名的數學家、集合論的創始人康托爾(Cantor)就因為沉溺于數的無窮問題而得了躁狂型抑郁症。作者無意将這種痛苦帶給讀者,但是對于思考AI是否要取代人的讀者,這個是繞不過去的坎。

自然數集、有理數集合和無理數集合在有限情況下非常容易了解,但是在無限的情況下很多屬性會發生變化。我們看下面兩個集合(N為自然數):

  • 自然數集合A{1,2,3,4,...,N}
  • 偶數集合B{2,4,,...,2N}

在N是個有限的數的情況下,集合A的元素的元素數(叫作基)是集合B的基的兩倍。但是,當N無窮大的時候,兩個集合的勢(無限集合的基)就相等了。為什麼呢?從偶數集中拿出一個2,從自然數集合中拿出1,再從偶數集中拿出4,從自然數集中拿出2,如此進行下去,可以用無窮自然數集1對1數的無窮集合叫作“可數”。

一個無窮集合如果是可數的,那麼就說它們的基和自然數集A相等。讀者可以嘗試證明一下無窮有理數集合也是可數的,隻要把集合元素順序的寫法寫得可數。具體做法就是把分子分母之和等于1,2,3,4的自然數一一列舉如下:

  • 有理數集合C{1/1,1/2,2/1,1/3,2/2,3/1…}

讀者可能興緻勃勃地把這個可數的數的證明推廣到實數集,但是康托爾用對角論證法證明了實數集合是不可數的。康托爾的證明激發了圖靈隻讨論[0,1]區間的二進制形式的數,而使用二進制對實際計算機的發明産生極大的幫助。

這裡簡單介紹一下這個證明方法,具體證明方法可以參考維基百科。假設我們數完了所有的[0,1]之間的實數r1,r2,舉個象征性的排列例子如下(來自維基百科):

r1 = 0 . 5 1 0 5 1 1 0 …

r2 = 0 . 4 1 3 2 0 4 3 …

r3 = 0 . 8 2 4 5 0 2 6 …

r4 = 0 . 2 3 3 0 1 2 6 …

r5 = 0 . 4 1 0 7 2 4 6 …

r6 = 0 . 9 9 3 7 8 3 8 …

r7 = 0 . 0 1 0 5 1 3 5 …

我們現在把所有無理數數完了。我們創造一個新的超越數,它的第k位取自上面數字rk的小數點後的第k個位并加1,如果遇到9變成0,是以這個新數就是0.6251346...它和上述的數都不一樣,是以它不在這個可數數清單中,可得出實數集是不可數的結論。

這個證明帶來另外一個非常有意思的結論:同樣是無窮,實數集合的無窮要比自然數集合的無窮更大。如果把自然數集合的勢記為aleph-0(康托爾把它叫作超限數),因為康托爾想計算實數集的勢,于是他引入了[0,1]區間的二進制形式的數和集合論。他嘗試用小數點後無限位二進制數的0和1的交替的記法去對應實數裡面的元素。為幫助讀者了解,列舉幾個數如下:

0.0000000…

0.1000000…

0.0100000…

0.1100000…

0.0010000…

0.1010000…

0.0110000…

0.1110000…

如果我們把1當作√一樣的标記,學過子集的讀者肯定覺得這個标記和列舉含3個元素{0,1,2}集合的所有子集的記法很相似:

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

将這個二進制小數清單無窮列舉下去,那麼對應的子集表也可以無窮列舉下去。這些二進制形式的小數對應所有[0, 1]區間的實數,而表格第五列中子集的清單也等同于無窮自然集的子集。因為一個含有N個元素(基為N)的集合的子集數目為2N,無窮自然數子集的數目就是2aleph0,這個數也就是實數集合的勢。

康托爾猜測2aleph0就是下一個超限數aleph1,中間不存在其他超限數,也叫連續統假設(這是希爾伯特提出的23個問題中的第一個問題)。

因為康托爾的工作,我們知道了實數集與可數數集同樣是無窮大,但是實數集更大。圖靈發明了圖靈機和定義在其上的可計算數,是以圖靈自然要考慮:“可計算數對應了可數數還是整個實數集?”

遺憾的是,圖靈證明了可計算數雖然包含無理數中的代數數(例如根号2這樣的代數方程的解)和部分超越數(例如π和e),但它是可數的。可數數的勢aleph0遠小于實數集合的勢aleph1 = 2aleph0。而世間萬物都是數,且大部分數都是實數,實數中的大部分超越數都無法用圖靈機表示。

這意味着什麼?第一個選擇是我們拒絕承認不可計算的實數的存在,這就等同于我們構造了不存在的數;第二個選擇是我們承認它們的存在,圖靈機無法表達一個随機生成的無理數。那麼人腦是否有個思考過程能對應一個無限、無理的數?圖靈和邱奇恰恰認為人腦不能完成這個工作,這就是他們提出的邱奇-圖靈論題。

這個論題可以簡單地表述為:“凡是人類能夠執行的算法,圖靈機也可以。”用其等價的逆反命題來說是:“如果算法過程是圖靈機不能解的,人類也不能解。”到這裡,讀者可以清晰地知道,這個是論題,它并不能被證明。

人工智能是否能夠取代人,本質上也依賴于這個論題是否正确。在作者眼裡,這個論題就像幾何的五個公理或者實體學裡面的能量守恒定律一樣,是我們公理化的認知邊界。

到這裡,讀者已經看到圖靈機上能表達的可計算數是無窮的,但是有個更大的實數無窮是圖靈機無法表達的。這兩個極限的差别表現出圖靈機的解決問題的範疇是有局限的。

舉個例子來說,我們不能發明一個程式檢查另外一個程式的錯誤。一個錯誤的程式會使圖靈機進入失控狀态,計算過程會進入到一個表格裡面不存在的狀态(m-config)。

回到希爾伯特可判定性的讨論,圖靈試圖構造一個圖靈機,從希爾伯特的《數學原理》中的幾個公理和規則出發,讓圖靈機列舉出所有可證明的公式。但是,圖靈證明了這樣的圖靈機不存在。根據邱奇-圖靈論題,人類數學工作者也找不到一個思考過程判斷一個公式的可證明性。

圖靈接下來讨論了一系列人和機器智能的問題。在1950年的Mind雜志上,圖靈就人工智能這個話題發表了另外一篇論文“Computing Machinery and Intelligence”。在這篇論文中,他提出了“機器能夠思考嗎?”這個問題。他認為思考和機器(讀者可以認為AI)的定義過于模糊,為此給出了知名的圖靈測試來回答這個問題。

在圖靈測試中,被測試者(人)在一個黑暗的屋子裡面與一台機器或一個人進行對話(那個年代采用文本方式,現在則可以更新到語音方式),若被測試者無法區分對話的是人還是機器,則可以稱機器通過了圖靈測試。這也是電影《機械姬》的故事情節的基礎。

從圖靈機、圖靈測試到人工智能:什麼決定了AI能否取代人類?

▲《機械姬》劇照

我們如何看待邱奇-圖靈論題決定了我們怎麼看待人和AI之間的關系。為幫助讀者了解邱奇-圖靈論題,作者嘗試用通俗易懂的語言來表述。圖靈機在某個狀态下觀察一個符号,然後切換到下一個狀态,這個行為和我們人類數學工作者幾乎一樣。差别在于,邱奇和圖靈認為機器的狀态是有限的,類似于我們建構的表1-1的行狀态是有限的。

圖靈認為,如果人腦有無限的狀态,必然因為有些狀态無限接近而造成混亂。但是作者認為“人的思想可以支援一個無窮狀态”,因為我們對人的意識了解得并不清楚,證明數學不完備性的數學家哥德爾也表示了類似的觀點。

但是,機器智能或者人工智能的産生,極大地解放了人類在可計算數範圍内求解問題的速度。機器智能的誕生似乎加速了人類對于數字世界中未知領域的探索。隻是,我們對于新生事物的直覺反應總是恐懼,對機器智能的興起也有類似的反應。

圖靈認為人類在上個世紀末不再會抵觸和反對機器思考。但是到了今天,我們還是因為不了解或無法掌控機器智能而感到恐懼或不安,過度的恐懼和不安又有可能限制我們充分利用機器智能的長處,進而錯過對于機器智能以外的世界的探索。

我們今天感受到的數字世界,存在一定的公理和論題上的邊界。在這個邊界裡面也有黑洞,原因是不完備性;我們沒有一條快速路徑來鑒别黑洞,是因為不可判定性。

但是,如果你和作者一樣認為人的意識格局相比圖靈機具有無限性,那麼應該持續地去拓展這個邊界。在拓展或者重構這個邊界的時候,有些黑洞或許會消失,或許可以找到一條路徑鑒别黑洞。就像希爾伯特說的:“我們必須知道;我們必将知道。”

本文摘編自《Greenplum:從大資料戰略到實作》,經出版方授權釋出。

文章來源:微信公衆号 華章計算機

繼續閱讀