最近,穀歌電腦下棋軟件戰勝了世界圍棋高手,韓國李世石,這是人工智能的一個重大進展。賽前,人們預計電腦在五局中隻能贏一局,結果電腦贏了4局。這個結果說明了什麽?有人擔心未來世界電腦會控製人類。其實,完全是杞人憂天。
如果我說,豆腐腦不是人腦,你一定會說,廢話,誰會把豆腐腦看作人腦。可是,在象棋,圍棋等領域,電腦沒有戰勝人腦以前,我們已經把這種機器叫電腦了,你怎麽解釋?也許你會說,原來的確是叫著玩的,誰也沒有認真把這種機器當作人腦。現在不同了,它下圍棋已經比人高明了,圍棋可是高智商遊戲。如果機器在某一個功能上,比人強,就要把它當作人,那麽起重機力氣超過人手,為什麽不叫“電手”?汽車速度超過人腿,為什麽不叫“電腿”?電腦下圍棋比人強,就像起重機,汽車比人強一樣。圍棋手輸給電腦,一點也不丟臉。要不我們找世界舉重冠軍與起重機比賽,找世界長跑冠軍與汽車比賽,看看誰贏誰輸?起重機的出現,沒有淘汰舉重比賽,汽車的出現,沒有淘汰長跑比賽。同樣,電腦下棋軟件的出現,也不會淘汰圍棋比賽,隻是人不要再與電腦比賽了。下棋軟件可以幫助人訓練,可以陪人玩。
人們所以被誤導,就是被這個“腦”字搞糊塗了。包括著名學者。在專業領域很高明,在哲學領域就未必高明。
電腦下圍棋,神奇是神奇,但時間久了,習以為常了,就不神奇了。這種神奇的例子,多的是。如果一個古代人複活,看到汽車和起重機,看到電話,電視,電腦,不一樣感覺很神奇嗎?但今天的小孩子都不會驚奇。幾十年前,有報道,一些非洲部落,看到照相機很神奇,認為會攝人靈魂。
早在二十多年前,我已經寫文談論這個問題。我指出這已經是一個哲學問題,所以不能僅僅從技術上考慮。因為從技術角度,討論什麽事情機器做得到,什麽事情機器做不到,恐怕很難說清楚。今天做不到,明天可能做到。問題的關鍵在於,在談論這個問題時,有人偷換了概念。他們隨便使用這些名詞,“電腦的智力”,“電腦的學習”,等等。作為日常談話,作為小說或影視作品,這樣說沒有關係。但作為嚴肅的學術討論,這種說法完全是錯誤的。電腦根本沒有智力,電腦根本沒有學習能力。人們見到的所謂電腦智力,電腦學習能力,其實是人的智力,隻是通過電腦來表現。也就是說,電腦智力是“物化”了的人的智力。它體現的是智能軟件設計者的智力。這種誤解在曆史上早就有過。1959年,設計跳棋軟件的賽繆爾,被自己設計的軟件打敗。於是人們紛紛談論電腦戰勝人的問題。我本人指導過一位學生,編寫五子棋程序。結果也是戰勝了她本人。我表揚了這位學生,而不是那台電腦。這是她的勝利!所以,這種所謂機器勝過人的現象根本不稀奇。賽繆爾本人也不承認機器超過人。因為他知道,他設計這個軟件花費很多力氣,而他與機器對弈,隻是一瞬間。所以,這個比賽結果,隻是說明,是多年的賽繆爾戰勝了瞬間的賽繆爾。是物化的賽繆爾戰勝了生物的賽繆爾。
也許有人說,電腦與起重機,汽車不同,它有智力。在機器與人的關係上,沒有不同。要說智力,在電腦以前機器就有“智力”。自動售飲料機,假定$0.75一罐可口可樂,你投入$0.74,它不理睬,你投入$0.76, 它找你一分。不是也有“智力”嗎?你會認為它會做算術,已經有三歲小孩的智力了嗎?機器根本沒有人的智力,隻是人製造的一個工具,模擬,反映人的思維。就像水銀溫度計,它知道溫度嗎?根本不知道。它隻是有熱脹冷縮的本性,然後人用一些刻度,表現溫度。水銀柱隻是起了模擬作用。
是人輸給電腦嗎?不是,是人輸給人,輸給設計這個軟件的人。就像有評論說的,這根本不是通常的比賽。電腦圍棋軟件,集中了多少人的智慧?參考了多少戰例?(比方,電腦可以分析100萬個戰例,人根本不可能。)
關於電腦的“學習”能力,道理也一樣。所謂電腦學習,其實還是人的設計,並非電腦自己主動要學習。有“學習”能力的電腦,無非是這個軟件不像普通軟件那樣,按照人規定的算法對外界作出處理,而是搜集外界的反應,作為以後處理同樣問題的依據。比方,一個自動賣襯衫的軟件。簡單的係統,可以規定每件襯衫$20。但複雜一點,可以根據銷售情況決定價格。比方,如果平均一天賣出一件,調整價格,每件降價20%。如果平均每小時買出一件,調整價格,每件漲價20%。也就是不是事先規定固定價格,而是根據外界反應來決定價格。這不是電腦很聰明,會學習。這仍然是規則,或者說是規則的規則,複雜的規則,動態的規則。這個例子當然過於簡單,但道理是這樣。這與人的能力不是一回事。人有主動性,電腦很難模仿,或者不值得模仿。人隻要電腦發揮它的長處,而不是替代人。比方,還是以賣襯衫為例。商店規定了價格。但假定有一位顧客喜歡一件襯衫,不過發現這件襯衫有一點小的瑕疵,要求經理打折。瑕疵的情況千差萬別,打折多少完全取決於經理的判斷,甚至心情,或者顧客的談判技巧。或者甚至襯衫沒有毛病,但顧客正好少帶了一元錢,也沒有卡,要求經理通融。這些怎麽告訴電腦?即使可以告訴,也非常繁瑣,根本不值得讓電腦來做。
需要說明的是,雖然機器的智力到處見到,但人工智能軟件與普通軟件的確有重大不同。比方,一個飛機訂票係統,可以很複雜。比方,假定有一千家航空公司,有一萬個航班,每天有十萬旅行者。這個訂票軟件可以輕鬆處理所有要求。因為電腦速度足夠快,搜索成千上萬記錄,非常容易。這個軟件設計是有明確邏輯規則的,電腦隻要窮盡搜索,就可以滿足用戶的各種要求。但是,對下棋程序,就不可能。因為下棋變化太多。以象棋為例。象棋總共32個棋子。每個棋子的走法有明確規則。電腦是否可以窮盡搜索各種可能性,從而人隻要走第一步,電腦就可以看到結局?從邏輯上是可能的,但事實上是不可能的。為什麽?我們隻要簡單估算一下就知道了。一盤象棋平均多少步。就算30個回合吧,也就是雙方總共走60步。假定,每次走法,平均有10種選擇。假定人先走。人走第一步,有10種選擇。電腦走第二步,對人走的每一步,電腦都有10種選擇,這樣,電腦的第二步,總共可能有10 X 10 = 100種選擇。也就是10的二次方種選擇。以此類推,電腦要窮盡分析一盤棋的所有可能走法,總共有10的60次方種可能。假定考慮每種選擇,電腦需要時間1秒。這樣電腦總共需要時間10的60次方秒。這是多長時間呢?一小時3600秒。一天是3600 X 24 秒。一年是 3600 X 24 X 360 秒 = 3 X 10 的 7次方秒。就算 10 的 8次方秒 。也就是就算一年有 10 的 8次方秒。那麽,10的 60次方是多少年?大概是 10的52次方年。這是什麽概念?到那時,地球是否還存在,還不知道。所以,這是不可能的。就是電腦考慮每種選擇隻要百萬分子一秒,情況也沒有根本改變。所以,人工智能軟件一定要有其他算法。也就是學習人的能力。棋手下棋,不是窮盡所有可能走法,而是判斷“勢”。什麽是勢?比方占據交通要道,勢就好。比方,壓製對方棋子通路,勢就好。比方,我方的車,馬包圍了對方的車,勢就好。反之,勢就不好。對各種因素打分,正分或負分。最後選擇綜合分值最高的走法。
總之,我們為人工智能的進展歡呼,但也要對人機關係有正確態度。在某個具體領域,機器“超過”人,是正常的,自然的,必然的。但電腦的智慧與人是不同的。它有它的優勢,但也有它的劣勢。比方,有時它很“聰明”,有時又像白癡,因為軟件設計者沒有考慮到某種情況,電腦就完全不知所措。與李世石對弈的第四局,就出現這種情況。這種情況在電腦翻譯軟件中也經常出現。比方,有一家機構,為了對外交往需要,把有關部門名稱用機器翻譯成英文。結果出現一個部門叫“男性事務處”,誰也不知道什麽意思。原來中文原文是“公務處”。但中文的“公”,可以是指公共事務,也可以是指雄性動物。機器把兩者搞混了。是設計者沒有告訴電腦,如何區分。
有人擔心,人類設計出這樣聰明的,可怕的機器,是否會反過來控製人類?這個問題我不必正麵回答,隻要以核武器為例。人類發明了核武器,是否會失控,反過來毀滅人類?其實,在沒有核武器以前,人類發明了多少殺人利器?人類曆史上的戰爭已經造成多少生靈塗炭?有沒有災難,還是在於人。人類發明核武器很聰明,但用核武器自相殘殺,又很愚蠢,不是嗎?人工智能表現了人類的智慧,如果人工智能會帶來災難,那隻是人類的愚蠢,哪裏能怪機器?對高科技,無意“失控”,不會造成大問題。汽車車禍天天發生,沒有人主張取消汽車。我們擔心的是人為的惡意利用高科技。人類在科技上很聰明,發展非常迅速,但在社會領域,還很落後,與科技進步太不相稱。人類在管理自身,在處理相互關係,等方麵,問題重重。
隻說一點。我開始就講,機器的能力沒有上限。但它的能力是因為人的能力增長而增長。所以它處於從屬地位。你講,電腦走的下一步,設計者自己都不知道。這非常正常,不然我們為什麽要電腦?人發明顯微鏡,就是要看人自己看不到的微生物,人發明天文望遠鏡,就是要看人自己看不到的天體。不是嗎?