人工智慧贏了棋,人類贏了未來
AlphaGo (black) v. Fan Hui, Game 4 (8 October 2015)。圖片來源:Wiki
文 | 沈龐(特約撰稿人)
● ● ●
你在網上找朋友下棋,卻發現他早已今非昔比,棋力大漲。後來,你得知原來他在用下棋軟體陪你玩,於是,你大叫:這不公平。
可沒有一種比賽是絕對公平的,棋盤兩邊的實力強弱本身就是相對的不公,而比賽的美學就在於挑戰。所以工程師和科學家們集合智慧,造出了走棋的機器向棋界的強者們挑戰。
1終於輪到了圍棋故事可以追溯到1949年的紐約,那時計算機問世還不到4年。計算機技術的先驅者Arthur Samuel(IEEE1987年先驅獎)在IBM第一批商用計算機IBM701上編寫出世界上第一款走國際跳棋(Checkers)的程序。這款聞所未聞的智能程序雖然下棋水平不那麼高明,但它一經向記者們展示,就讓IBM的股票一夜暴漲了15個點。這個程序也被認為能夠「學習」,並讓人們首次接觸了「人工智慧」的概念。
國際跳棋(Checkers)
之後,Samuel招募了許多有志於機器學習的程序員們來改進程序,不斷的提升終於讓它在1962年擊敗了人類玩家。新聞記者們立即刊出頭條大標題「機器在下跳棋上已經超越了人類」。但要真正實現這句話,卻得等到1994年8月,加拿大Jonathan Schaeffer教授率團隊編寫的跳棋程序「Chinook」。
相比Samuel僅提出的衝擊性概念,「Chinook」挑戰職業棋手的道路卻實實在在的給人們帶來刺激。1990年8月,Chinook的第一個版本一路過關斬將,贏得了美國全國錦標賽的資格。不久,它又獲得了世界第二的好成績。可在1992年,Chinook的第一次挑戰冠軍以失敗告終。因為它面對的是40年職業生涯中只有9負,人稱「恐怖選手」的數學家Marion Tinsley。觀眾們歡呼著「人類贏了」,雖然他們不明白棋盤上到底發生了什麼。事後業內的評論認為:相比Chinook犯失誤,Tinsley倒是表現的像是保守的程序。這暗合了Tinsley賽前自豪的宣言,「Chinook是由人的手編寫,我卻由上帝之手編寫」。
Marion Tinsley。圖片來源:Wiki
然而,第二年美國跳棋聯合會和英國國際跳棋協會迫於一些倫理壓力決定不批准Chinook的比賽。但Tinsley卻對機器表示了明確的支持,他把頭銜禪讓了出去,以個人身份再次接受Chinook的挑戰,由計算機協會組織,頗有獨孤求敗的味道。Schaeffer教授團隊也鉚足了勁,升級Chinook的硬體並進行更多的輸入訓練,以備1994年。之後的比賽以平局告終,這似乎沒有造成什麼波瀾,Tinsley教授安度晚年。但緊接著就是Chinook保持了類似Tinsley的不敗戰績。
從1962到1994,30年的時間好比讓程序從一個剛學會下棋規則的孩子成長為職業跳棋高手。這30年里究竟發生了什麼?答案是摩爾定律。
摩爾定律是由英特爾(Intel)創始人之一戈登·摩爾(Gordon Moore)提出來的。其內容為:當價格不變時,集成電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,性能也將提升一倍。換言之,每一美元所能買到的電腦性能,將每隔18-24個月翻一倍以上。這一定律揭示了信息技術進步的速度。圖片來源:Wiki
Samuel那個年代連微型計算機都尚未發明,但在1994年,第四代計算機已經相對普及。更快更多的運算硬體,允許更先進的編程演算法。於是,繼Chinook稱霸跳棋後,其他棋類程序也不甘落後。比如,Michael Buro編寫的黑白棋程序Logistello,在1997年以6:0擊敗了人類世界冠軍北野武村上。但最具有標誌性的莫過於1997年「深藍」4:2戰勝卡斯帕羅夫。許峰雄博士從卡內基梅隆大學開啟該項目,組建Deep Thought團隊,1989年畢業後受雇於IBM繼續研究。事實上,深藍與Chinook的情況相似,在它戰勝世界冠軍之前,都先輸了好幾次約戰,最終的改進版終於略勝了一籌。
深藍VS卡斯帕羅夫。圖片來源:Wiki
儘管有人認為那場人機對戰並不公平,比賽中有疲勞和人為干預的因素,但計算機選手的強大已經成了不爭的事實。今天,終於輪到圍棋了。
2機器和人的挑戰Chinook誕生的時候,有評論對此不以為然。在不少人眼裡,國際跳棋的變化不多,規則也不複雜,以至於較為流行,人類高手在對戰時會經常打成平局。但即便如此,這個競技項目也需要你擁有準確的判斷和直覺,10*10的棋盤大小需用超過40步以上的準確落子來獲取勝利。而對計算機來說,它的計算量也得到達棋盤上千億個可能的位置,所以1992年的Chinook只能夠運算出每一步之後的17個動作變化。國際象棋的複雜度顯然要高出跳棋不少,棋子各自的特點和規則增加了其需要運算的局面。所以97年的「深藍」擁有30個並行處理器,共同處理數據,同時還存有70萬份大師對戰的棋局數據。 但無論是哪一種棋類,至今都無法超越圍棋的運算量。
也許你要問,運算量和下棋有什麼關係?簡單來說,程序員給計算機編程下棋並非因為已經理解了人類大腦如何下棋。他們可以純粹依靠計算機的運算速度演算所有的局面情況。這個方法被稱為"博弈樹"(Game Tree)。想像你在棋盤上落子,每落下一子,它就代表了下一個決策的分叉點,就像一棵正在生長的樹木那樣,會派生出許多可能的局面。於是,計算機會去對任何一點的未來變化做出運算。理論上,只要計算機的運算能力足夠強,就可以按照規則窮盡所有的局面,排除不合法的局面(被稱為「剪枝」程序)。再用同時運行的按規則計分程序評價每個局面分數的高低,並選擇最高分的決策。
然而,19*19的圍棋棋盤和最簡的落子規則卻衍生出無窮無盡的變化。理論上,排除不合法的落子位置,如沒有「氣」的位置,每一步的行動可能局面是3361種,是個171位的數。即便人類有記載的棋譜總數至今不過幾千萬盤(8位數)。這樣的複雜度能夠通過機器全部運算得到嗎?即使程序可以通過資料庫把棋譜全部收錄,但它能夠應對所有的棋局變化嗎?所以,人們普遍認為機器不可能在圍棋上勝過人類。
人類競技的精神就在於挑戰,哪怕挑戰的是不可能。
實際早在人機大戰剛剛興起的90年代,中山大學的陳志行教授就已開發出「手談」軟體進行人機對弈,在計算機圍棋界也屢獲佳獎。早期的圍棋軟體延續了其他棋類程序的思路, 通過棋盤的運算和資料庫里的棋譜數據輸入積累來提高機器程序的運算能力。直到蒙特卡洛演算法(Monte Carlo Method)的普及,大大優化了整個樹方法的運算效率。這個統計學方法廣泛應用於各個領域,通過隨機重複的模擬動作,來獲得該動作產生的效果概率分布。應用在遊戲上就可以訓練機器對樹上的各節點進行篩選和調整。
尤其在2005年,通用棋類遊戲(General Game Playing,GGP)項目由斯坦福大學發起,其目的是建立一個人工智慧平台,讓遊戲AI具有通用性,而不只針對單一項目。之後這個項目的成果被美國人工智慧協會(AAAI)納入,成為一年一度的計算機大賽。比賽會使用一個統一的伺服器,其上用遊戲描述語言來制定規則(GDL),參賽AI之間相互比拼。自舉辦以來,蒙特卡洛演算法和其他各類演算法的配合幾乎是獲得冠軍的秘訣。
到近幾年,一度沉寂的神經網路演算法開始復興。這個演算法在一定程度上模擬了生物神經分層的構架,不僅能夠不斷調整優化各項行動的邏輯權重,還能夠進行結果的反饋,把結果重新作為輸入進行訓練。谷歌的DeepMind團隊把這項演算法附加在博弈樹上,就有點像棋手進行復盤一樣,反覆加強之後可以對落子的位置形成一定的優先順序篩選。應用性質上是和蒙特卡洛一樣的搜索和剪枝策略。經過了3千萬局的訓練,最終達到了極高的職業水準。
也許有人會問:這不還是硬算嗎?問題並非如此,看似依然需要大量運算,卻和先前有著極大的區別。當機器進行反覆的訓練後,它們對某些情況下的落子位置概率會變得很低。換句話說,它們可以跳過這些位置的運算,而非全部再計算一通。這些演算法的進步實際更加符合人類的思考和學習方式。我們人類並不是掌握了全部的信息和預測之後才能做出決策的,我們只能儘力追求在自己的能力範圍內「滿意」的答案,而不是非要找到那個最優的答案。這便是Herbent Simon提出的有限理性理論(Bounded Rationality)。對於一位棋手而言也是如此,無論他的棋力多麼高超也不夠算計到所有的局面,所以一定是做出他最滿意的那個決策。既然如此,如果機器真的能模擬人類智能,那麼它也不需要做到所有的運算,只需要模仿人類儘可能的優化自身。而相比人類,計算機的學習卻可以「不知疲倦」的反覆訓練。
所以,即便藉助計算機,我們也可能無法窮盡圍棋的答案,但藉助人工智慧,我們永遠可以挑戰自己。
3Game over?或許天才棋手也敵不過人工智慧的棋局。我們應該想到,他並非輸給機器,而是依然輸給了人,輸給了那些機器背後的智慧結晶。這個說法可能略顯悲壯,那麼,更好的建議是「不用擔心」。
當1997年深藍多次擊敗頂級象棋棋手之後,人們都以為這個遊戲終結了。但他們錯了。在那場比賽之後,卡斯帕羅夫率先提出了「人加機器」(Man-plus-Machine)的概念,即在比賽中使用人工智慧增強國際象棋手的水平,而不是讓雙方相互對抗。這種比賽在之後被稱為自由式國際象棋賽,它們和混合武術比賽相似,選手們可以使用任何技巧對弈。你可以獨自參賽;或者帶一台人工智慧照著它的路子下棋;亦或偶爾否決人工智慧的選擇,就像我們開車時用GPS的感覺。在2014年的自由式國際象棋對抗錦標賽上,純粹使用人工智慧的選手贏得了42場比賽,而人機一起參加的選手贏得了53場。當今世界上最優秀的國際象棋選手隊伍Intagrand就是由人類和象棋程序一起組成的。
更讓人意外的是,國際象棋的人工智慧並未削弱這項遊戲的魅力,與卡斯帕羅夫時期相比,擁有國際象棋大師排名的人數至少翻了一倍,而曾經通過機器訓練,目前位列第一的Magnus Carlsen還是有史以來評分最高的象棋大師。我們不妨更進一步思考,既然人工智慧可以幫助人類成為更優秀的選手,那麼它也能幫助我們成為更優秀的其他職業人士。
比賽自會有輸贏,有勝敗。最重要的是,人類通過比賽挑戰強者,而挑戰永無止境。
參考來源:
Chinook,James Propp:
http://faculty.uml.edu/jpropp/chinook.html
凱文·凱利 《必然》(The Inevitable)
(責任編輯 李曉明)
推薦閱讀:
※Optimal Transport for Multi-source Domain Adaptation under Target Shift
※語音交互電影《Her》與Siri的困境
※中金智匯,聚焦智能化客戶運營
※微軟是如何刷新生態思維方式的?
※【漫畫】你可是個博士啊