- 漫畫圖解人工智能
- (法)尼古拉·薩布雷文 利澤特·德阿西斯繪
- 4695字
- 2021-06-07 15:47:31
圖靈測試
本章我們將了解為什么計算機的智能很難測量。
在設計任何一種形式的人工智能之前,首先應該明確什么是人工智能……而這就是它復雜的地方!因為如果我們足夠清楚如何辨別愚蠢(只需要環顧四周看看其他人做錯了什么),就會發現要解釋清楚什么是人類的智慧要難得多。
什么是智能?
我想到的第一個想法是將智能與無知進行對比。但不幸的是,這并非那么簡單。如果我問您莫斯科市是哪一年成立的,您可能不知道怎么回答。但是即使該信息可以在任何一本百科全書中找到,也沒有人會因為這一件事覺得你不夠聰明。同樣,您也不會僅僅因為一本百科全書可以告訴您莫斯科市成立的日期,就夸獎它很聰明。智能不僅在于知識淵博,還包括能夠運用自己掌握的知識。
第二個想法是將智能與回答難題的能力聯系起來。以格奧爾格·康托爾為例,他是19世紀集合論的創始人。在解決相對尖銳的數學問題方面,他毫無疑問是充滿智慧的!然而數學水平并不足以用來描述智能的特征。如果我問您26534乘以347等于多少,可能夠您忙一小會兒……然而,一臺計算器可以立刻給出答案。而您同樣不會夸獎它聰明,也不會認為它比一本百科全書更聰明……
這兩個例子表明,如果計算機只是擅長存儲和處理計算(它們就是為此目的而設計的),那么它就不會被認為很智能……因為人類智能還包括很多其他的方面!例如,我們能夠依靠過去的經驗進行推理。醫生在做出診斷時會這樣做,我們在駕駛汽車時會這樣做,這也是我們在準備假期或工作的時候會做的事情。和計算機做判斷所需要的條件不同,我們可以在一些無法精確描述全部細節的情況下做出決定。當我們的面包師告訴我們,他沒有面粉的時候,我們明白他的意思是沒有辦法做面包:他不需要向我們解釋這件事。

我們同樣也知道如何在學校或在工作中學習新的技能。我們還可以從過往事例中或者使用我們的推理能力形成新概念、創造新想法、構想新工具。最重要的是,我們能夠通過使用單詞和構造的句子以及組合符號相互交換一些復雜的,有時甚至是抽象的概念,從而進行交流。當您向朋友們講述自己最喜歡的一本小說的時候,他們無須與您閱讀同一本書中完全相同的單詞就可以理解整個故事!得益于人類的智能,我們可以在生活中的每時每刻對世界產生完全相同的解釋,并且可以在我們的周圍進行傳播。
所有這些都很清楚地表明,為了將機器的功能與人類智能進行比較,我們不能簡單依賴“記憶和數學”,而需要嘗試除此之外的其他東西。
一個測試,是的,但是哪一個測試呢?
我們可以依靠某種類型的心理測試來衡量人類的智力。其中最著名的當然是威廉·斯特恩在20世紀初提出的智商(IQ)概念。為了確定您的智商,心理學家會根據您的年齡和學歷,在問題庫中選擇相應的邏輯問題、空間推理問題、記憶問題等進行測試。您回答的速度越快并且正確率越高,那您的智商得分也就越高。
這種類型的測試顯然只能測量人類智能的一小部分。研究人員對其他方面越來越感興趣,例如情緒智力(理解自身和其他人情緒的能力)或藝術創造力。另外,智商分數也不是一個絕對值:它僅僅有助于根據一般人在這種類型測試中的表現來定位自己的水平。如果您的智商得分高于100,就代表您在這項測試中的表現比一般人要好。
但這同樣只是一個指標。因此首先,必須能夠將計算機的問題翻譯成它可以理解的語言,即0和1。有人想知道一臺計算機的智商究竟是高于100還是低于100。不幸的是,將智商測試或任何其他測試搬到計算機上對其進行考察都是項棘手的操作。首先,必須能夠將這些問題翻譯成計算機可以理解的語言,也就是0和1組成的語言。當您通過智商測試之后,心理學家會向您展示一些圖像并口頭向您提問,因此還需要人類將這些問題“編程”后輸入到計算機里。
那么通過這樣一個測試,我們真正可以評估什么呢?機器的智力嗎?人工智能程序的智力是否可以回答這些問題呢?將數據翻譯成計算機語言的方法嗎?我們一定不要忘記,正如我們在上一章中看到的那樣,所有的程序都一定是由計算機科學家利用算法和數據編寫出來的。因此,我們到底在測量什么呢?發明和編寫算法的計算機工程師的智力嗎?計算機輸入數據的質量嗎?我們可以再次明確地感受到這和機器的“智能”完全沒有關系,或者,至少說,我們可以感受到大量來自人類的智能。

圖靈來了!
1950年,艾倫·圖靈提出了另一種形式的測試來研究機器的功能。他的想法不是測量智力,而只是試圖將機器與人類區分開。這個測試被稱為“圖靈測試”,它如今仍然是很多人工智能程序的參考。
它的原理相對比較簡單:采用了一個那時在社交晚宴上比較流行的模仿游戲,現在已經有點過時了。然而我還是告訴您它是怎么玩的,這樣您在慶祝生日或其他的驚喜派對上還可以玩一下這個游戲。在這個游戲中,一位男士和一位女士分別進入不同的房間。其他留在客廳的客人們,可以通過用人傳遞小紙條和那位男士或女士“聊天”。客人們不能和關起來的這兩位直接對話,也不知道誰被關在哪個房間。房間里的兩位都會努力說服這些客人們,讓他們相信自己是那位女士,但他們需要猜出究竟誰是男士、誰是女士。
在進行圖靈測試時,其中一個房間里有一個人,另外一個房間里有一臺配置了人工智能程序的計算機。您可以通過一個鍵盤(輸入您的信息)和一個顯示屏(閱讀他們的回答)與其交流。因此,您有一個鍵盤、一個顯示屏與人類對話,一個鍵盤和另一個顯示屏與人工智能程序對話,但是您不知道哪套設備連接著模擬人類答案的人工智能程序,哪套連接著自己輸入答案的真實人類。為了增加測試的復雜度,所有答案都會在相同的時間間隔內給出。回答問題的速度不被作為考量標準:您只需要根據回答的內容來區分人類和人工智能。
它會聊天……
很多計算機科學家慕名而來挑戰圖靈測試。它催生了著名的聊天機器人,這些人工智能程序能夠說話(大部分情況都是英語),并幾乎能回答所有人們想要問的問題,從“亨利四世的白馬是什么顏色”到“你的眼睛真漂亮,你知道嗎”,甚至還創辦了一個國際競賽來獎勵每年最優秀的聊天機器人,優勝者獲得勒布納獎。1990年,休·勒布納承諾將給第一位編寫出能夠偽裝成人類的聊天機器人程序的程序員提供10萬美元獎金和一塊巨大的金牌。由于沒人獲得這些獎勵,2006年便開始發起了年度競賽:讓聊天機器人與裁判進行交談,裁判需要在最短的時間內讓它們出現漏洞和錯誤。這是很有趣的事情。如果您想嘗試,可以任意挑選一個聊天機器人程序:互聯網上到處都是,智能手機的應用軟件里也有很多(但通常都是英文的)。您很快就會發現聊天機器人開始胡言亂語。但您也可能會對某些答案的質量感到驚訝!但是您知道勒布納獎的官方裁判都是這個領域的專家,他們可以通過不到5個問題就揭穿一個聊天機器人。
一個名為ELIZA的聊天機器人
第一個聊天機器人是1966年由約瑟夫·魏岑鮑姆編寫的名叫ELIZA的程序。它采用的是一些非常基礎的設計原理。首先它配備了一個與經典主題(家庭、計算機、健康)相關的對話目錄,之后它在用戶的對話中抓取主題關鍵詞(家庭、媽媽、爸爸、姐姐等),最后系統化地重新提問它的對話者:
您:你有媽媽嗎?
ELIZA:您想要跟我們談論您的家庭嗎?
而當它不知道怎么回答的時候,它將問題拋回給用戶:
您:亨利四世的白馬是什么顏色的?
ELIZA:為什么您要問我亨利四世的白馬是什么顏色的?

老實說,它只是提出問題,然后由用戶自己來完成整個對話。
如今,聊天機器人已經進化了很多。20世紀90年代理查德·華萊士設計的程序ALICE,多次在勒布納競賽中獲勝,它包括5萬多條運行規則,可以回答所有您想向它提出的問題。然而,仍然沒有人能成功欺騙勒布納獎的裁判贏取大獎……也沒有任何一個人工智能程序成功通過圖靈測試。每隔一段時間,就會有不同的計算機科學家團隊宣布取得成功,但他們從未真正達到過圖靈制定的所有標準和要求。
但這也是值得討論的!
事實上,圖靈測試作為評估人工智能程序的“智力”的方式飽受爭議。但請別忘了它是在1950年被設計出來的,當時的計算機不知道如何處理圖像進行早期癌細胞的檢測,更不用說在高速公路上開車了!當時對人工智能的看法與我們今天對人工智能的看法也截然不同。
1980年,針對圖靈測試的第一次公開的嚴重批評來自約翰·希爾勒,一位為人工智能做出過巨大貢獻的哲學家。為了解釋圖靈測試的局限性,他提出了“中文房間”的實驗。假設有一個完全不懂中文的人被關在一個房間里,不能與任何人接觸。然后給他一些中文拼寫的印章(5萬個漢字)和一本描述得非常詳細的手冊,針對每個可能提出的中文問題,都需要給出回答(同樣是用中文)。我們的操作員不需要理解中文:他在手冊中找到與問題相對應的符號序列,然后使用印章復制手冊給出的答案。他完全不明白問題的內容,也不知道自己回答了些什么,但是房間外面懂中文的人會毫不猶豫地肯定房間里的人會說中文。
中文房間的實驗闡明了智力肯定不僅僅局限于操縱符號。然而圖靈測試的所有指標都只能通過符號測量!這是正常現象,因為計算機本來就是用來處理由符號組成的信息的機器:哪怕只有0和1!
因此,圖靈測試無法衡量一臺機器的智力,僅僅可以用來衡量其像人類一樣處理符號的能力。
我的電腦和我,看起來完全不一樣啊!
圖靈測試的錯誤在于認為我們可以通過將機器的行為與人類的行為進行比較來判斷機器的智力。圖靈只想知道我們是否有能力創造出一臺可以思考的機器。這就是他提出將機器的行為和人類的行為進行比較的原因。但是今天我們知道這并非那么簡單:并非所有聰明的行為都一定來自人類!您還記得那個您甚至都沒有試圖去尋找答案的乘法問題“26534×347”嗎!相反,人類可以完美地采取錯誤的行為。例如,他們答案中的錯別字要比電腦多得多。這倒也是圖靈測試中識別他們的另外一種方式!
事實上,在設計人工智能程序的時候,圖靈測試并沒有實際的用處。圖靈本人也從未打算將他的測試用于衡量計算機的智力。我們不要忘記一個程序是為具體的目的而設計的一系列計算:在一局國際象棋的對弈中選擇下一步的落子位置,在下一個十字路口決定是否向左轉,識別圖片中是否包含小貓或大象,等等。為了測試人工智能程序的智力,我們根據它們執行的任務來評估表現(下國際象棋、找路、挑選照片)。我們不會嘗試與它們討論從哲學角度看待它們需要解決的問題。這樣要有效得多!
我們需要理解的是,通過編寫人工智能程序來創造人造人類這個問題是不是很有趣呢,事實卻恰恰相反!我們不需要制作人造人類來設計人工智能程序。您可以完美地編寫出能夠出色地完成交付的任務,卻完全不像人類的人工智能程序。
為了解釋這個區別,曾出版書籍《人工智能》而在世界各地的大學中廣為人知的計算機科學家斯圖爾特·拉塞爾和彼得·諾維格,提出了一個有趣的飛機比喻。航空工程師們駕駛飛機以確保其性能良好,但他們不會嘗試去建造一個可以像鳥那樣飛行甚至可以欺騙鳥類的機器。

計算機的優勢在于它們可以非常迅速地處理大量的數據。在人類需要依靠推理和過往經驗的領域,機器可以同時測試數十億種解決方案,從最荒謬的到最靠譜的,或者在巨大的數據庫中進行挖掘。
當您玩數獨游戲時,您不會在每個格子中一一嘗試所有可能的數字。但是,計算機就是這樣操作的:如果我把1放在這里……不行,這樣行不通。好吧,那么就放2試試。啊,有可能可以。然后讓我們看看,如果我把1放在旁邊的格子里。啊,還是不行。那好吧,再放2試試吧……以此類推。計算機每進行一次這種操作只需要幾十納秒的時間:它每秒鐘可以操作幾千萬次!而您呢?不可能。
在算法歷史上做出過杰出貢獻的計算機科學家艾茲格·迪科斯徹曾經精確地總結了人類智能和人工智能之間最根本的區別。他認為“操心一臺電腦是否可以思考就像操心一艘潛水艇是否會游泳一樣有趣”。我們制造的機器并不會思考,但是在某些方面會給我們留下聰明的印象,雖然事實上它們并不聰明。