熱點 | 機器的勝利還是人的勝利?
來自科學有故事
00:00 29:095月23日,圍棋界和人工智慧界都翹首以盼的柯潔對阿法狗(AlphaGo)的比賽在浙江的烏鎮正式開戰。與去年 3 月份開戰的韓國棋手李世石對阿法狗相比,這次比賽的熱度有所下降。這個好理解,畢竟失去了首次的意義。柯潔對阿法狗的首場比賽我全程看了,畢竟我也算是個圍棋迷,雖然我的圍棋水平最多只有業餘初段的水平。像我這種水平,想獨立看懂職業棋手的比賽是不可能的,但是藉助高手的講解,完全可以感受到比賽的那種緊張氣氛,也會在比賽進行到最關鍵的時刻懸著心等待棋手的出招,忍不住發一些感慨和評論。今天讓我以一個科普人和圍棋迷的雙重身份帶大家深度了解一下人機大戰。
圖片來源網路
一年多前,也就是2016年3月9日,舉世矚目的人機大戰開打,由史上圍棋冠軍頭銜最多的韓國棋手李世石對陣谷歌研發的人工智慧阿法狗。說舉世矚目,一點都不誇張,據說全球有 2.6 億人次觀看了首場比賽,有至少幾十個國家直播。在韓國,那更是萬人空巷。其實,全世界會下圍棋的人,把只要是能看懂最基本的圍棋死活的人都算上,樂觀估計也不會超過 4000 萬人,大多數人是看不懂屏幕上那些黑白棋子到底在幹什麼的。但即便如此,依然有兩三億人看了比賽。
為什麼這場人機大戰會受到這麼大的關注?人機大戰不是早已有之嗎?我們都知道,1997年,IBM的「深藍」就戰勝了人類的國際象棋冠軍卡斯帕羅夫,計算機下棋並不是什麼新鮮事。原因就在於,圍棋號稱人類第一智力遊戲。象棋是越下棋子越少,而圍棋剛好反過來,越下棋子越多,可能的變化也越多,只有過了中盤以後,複雜度才會又降下來。如果按照深藍下象棋的演算法來下圍棋的話,那麼深藍可能幾百年也算不完一步棋,因為圍棋不可能窮舉所有可能的走法,計算量是天文數字。所以,在深藍戰勝人類的國際象棋冠軍之後的十多年,計算機在圍棋上的水平始終只能算是業餘級的,根本不入流,甚至有人豪言計算機想在圍棋上戰勝人類,恐怕還需要 100 年。這個人就是 10 多年前的我,自以為懂一點編程和圍棋。不過,棋聖聶衛平說過,在大局觀上,計算機不可能勝過人類,因為思考的模式不一樣。因此,在深藍戰勝卡斯帕羅夫之後,圍棋成了人類捍衛自己智力尊嚴的最後一塊領地。現在,谷歌的阿法狗居然要攻陷人類的這最後一塊領地,你說這能不讓我們人類捉急嗎?
圖片來源網路
在阿法狗跟李世石比賽之前,阿法狗已經戰勝了歐洲圍棋冠軍樊麾。其實樊麾是個中國人,只不過在歐洲下棋,他的棋力也就是職業二段的水平,在職業棋手中只能算是個三流棋手。但這畢竟是計算機第一次戰勝了人類的職業棋手,這在 10 年前幾乎是不可以想像的。於是圍棋界開始關注這個橫空出世的阿法狗。在看了阿法狗與樊麾的棋譜後,職業棋手普遍的評價是,阿法狗確實很厲害,都已經看不出是電腦了,但也就是比樊麾的腦子好了這麼一點點,與一流的人腦相比還差得遠。你看,那時候的人類是多麼自戀,對電腦的最高評價是「你不像是電腦」,就好像余秋雨說過去對上海人的最高評價是你不像是上海人一樣。但是,僅僅過了一年多後的今天,對人類棋手的最高評價恐怕已經要改為「你怎麼像電腦一樣」了。阿法狗為什麼會變得這麼厲害,關鍵原因在於,它與深藍的下棋演算法有本質的不同,深藍從本質上說就是窮舉所有的可能,從而選出一個最優下法,但阿法狗採用的是另外一種完全不同的演算法。這個我們一會兒詳細說,先賣個關子。我們先來回顧一下首場人機大戰的比賽情況。
第一場比賽是最受矚目的,我當然也看了直播。開局沒什麼好多說的,中規中矩,進行到80多手棋的時候,也就是進入中盤階段的時候,李世石圍住了一大片地,這個「地」指的就是棋盤上的交叉點。圍棋之所以取名叫圍棋,就是看誰能圍住更多的地,它不像象棋,是以吃掉對方的棋子為最終目標,圍棋的目標是爭奪地盤,所以,高手對局很少吃別人的子。這就是為什麼往往下圍棋的人會看不起下象棋的人,因為他們覺得自己的境界不一樣,已經脫離了打打殺殺,比的是大局觀。這就跟小偷看不起強盜,詐騙犯看不起小偷差不多一個道理,用葛大爺的話來說就是「搶劫一點技術含量都沒有」。到了中盤的時候,李世石圍住了一片哪怕是在我們這種業餘棋手比賽的時候也很罕見的大空地,所以,當時幾乎所有人,不論是職業棋手還是業餘棋手,都認為李世石贏定了,連我這樣的業餘水平也認為這棋下到這樣已經沒必要再看下去,於是我就關了窗口忙工作去了。這就好像看奧運會的乒乓球比賽,中國隊已經 10 比 0 領先美國隊,看不看都無所謂了,沒有懸念了。誰知過了一個多小時,我突然收到一個棋友發來的微信:李世石要輸了!我當時的第一反應是「玩我的吧?」但我還是忍不住又打開直播,一看之下,大吃一驚,李世石果然已經被連追 10 個球,打平了!
圖片來源網路
李世石在這場比賽中執的是黑棋。圍棋的規則是黑棋先下,先下有優勢,因此也要在最後數地盤的時候倒貼一些空地給白棋,這在圍棋術語中被稱之為「貼目」。如果考慮貼目的話,李世石實際上已經落後了。在最後的收官階段,計算機強大的算力發揮得淋漓盡致,每一手棋都是最優解,滴水不漏。下到差不多第180 手的時候,觀戰解說的柯潔和古力已經給李世石判死刑了。果然,下到第 186 手,李世石投子認負。人機大戰的第一局,阿法狗就上演了令人驚嘆的驚天大逆轉。這裡面最令人震驚的是,李世石在中盤獲得巨大優勢後,並不是因為心理波動,下出了什麼昏招被一舉翻盤的,而是真的就像打乒乓一樣,每一個球都爭奪的非常激烈,但每一個球都丟了,就這樣被阿法狗一點一點追回來。
這次人機大戰一共要下五局,後面四局每一局也都有些看點,尤其是李世石唯一戰勝阿法狗的第四局,李世石下出了被古力評價為神之一手的第78手。但最終的比分鎖定在了1:4,人類完敗。
李世石失敗後,第一個跳出來高調錶示人類不服的就是柯潔,他在比賽結束後立即在微博上寫道:就算阿法狗戰勝了李世石,但是他贏不了我。這個狂人柯潔又是誰呢?他確實有狂妄的資本。就在他寫下這篇微博的過去一年,接連獲得了三個世界冠軍,成為了世界上最年輕的圍棋三冠王,年僅19歲。而就在李世石對戰阿法狗的四天前,在農心杯上,柯潔剛剛戰勝了李世石,正是如日中天的時候,圍棋等級分排名世界第一。跟所有的少年人一樣,柯潔是好勝的。我想,他對谷歌選擇了李世石而沒有選擇他作為人類棋手最高水平的代表與阿法狗一戰,心裡一定是有些怨念的。所以,這篇微博也可以看作是柯潔向阿法狗的挑戰書。但是,谷歌沒有對柯潔的挑戰做出回應,而是默默地關機,收拾電源線,回到研發中心,銷聲匿跡。
時間走到了2016年12月29日晚上 7 點多,此時人機大戰的硝煙早已消散,人們天天談論的都是剛剛當選的美國總統特朗普,早已將阿法狗忘記了。國內最著名的圍棋對戰平台弈城上突然出現了一個新註冊的神秘人,這位神秘人的昵稱叫 master,中文就是大師的意思。在網上下圍棋的規則是新人進來都必須從較低的級別開始,高段位的棋手往往不會搭理低級棋手。master 在遭到幾個高手的拒絕後,只得向一些中級棋手挑戰,結果全都輕鬆取勝,這才引起了高手們的注意。前來應戰的高手一個接一個,名氣越來越響,可是,所有的高手在 master 面前都顯得不堪一擊,一個晚上,master 取得了十連勝的戰績。當第二天 master 再度現身弈城的時候,號稱韓國圍棋第一人的朴廷桓已經在等著他了,結果仍是慘敗。突然網友們驚呼,「吻別」來了!「吻別」正是柯潔的昵稱。30 日下午 4 點 15 分,master 與吻別的第一場較量落子,這是一場快棋賽,僅僅半小時,柯潔落敗。圍棋少年不服,立即要求再次對弈,半個多小時後,再次落敗。到了 31 日,master 已經連勝 30 場,他的手下敗將還包括弧稱日本圍棋第一人的井山裕太。此時,人們突然醒悟過來了,這絕不可能是人類棋手能達到的高度。而那位幾個月前還發出「他贏不了我」的豪言的圍棋冠軍也猜到了什麼,他在 12 月 31 日晚上 11 點 28 分發布了一條微博,上面寫道:
我從 3 月份開始到現在研究了大半年圍棋軟體,無數次的理論、實踐,就是想知道計算機究竟強在哪裡。昨晚輾轉反側,不想竟一夜無眠。人類千年的實戰演練進化,計算機卻告訴我們,人類全都是錯的。我覺得,甚至沒有一個人沾到圍棋真理的邊。但我想說,從現在開始,我們棋手將會結合計算機,邁進全新的領域達到全新的境界。新的風暴即將來襲,我將盡我所有的智慧終極一戰。
在此後的幾天中,master 繼續所向披靡,取得了不可思議的 60 連勝。相信你已經猜出來了,這個神秘人 master 正是升級後的阿法狗2.0。
世界圍棋排名第一的柯潔與阿法狗的正式比賽終於敲定,將在 2017 年 5 月 23、25、27 日進行三番棋決戰。尚未滿 20 歲的圍棋少年,將再次代表人類,與人工智慧進行較量。有意思的是,我們如果按照時間線把柯潔的言論羅列一下,可以看到他心態的悄悄變化。
去年 3 月,柯潔說:「就算阿法狗戰勝了李世石,但它贏不了我。來吧!管你是阿法狗還是阿法貓!我柯潔在棋上什麼大風大浪沒見過?讓風暴再來的猛烈點吧!」
今年初,柯潔說:「它顛覆了我們對圍棋的認知,所以說它的出現是我們的幸運。」
而賽前最後一次接受採訪,柯潔說:「我將盡全力爭勝,一決勝負,抱有必勝的信念和必死的決心,不輕易言敗。」
圖片來源網路
再看這一次柯潔與阿法狗的人機大戰,世人的觀點已經和一年多前發生了180度的大轉彎,李開復的話最有代表性,他說:這次比賽已無科學意義,人類的勝率是零。
5月23日上午10點半,柯潔執黑,在圍棋盤上右下角點「三三」。在圍棋中,開局點三三是一種非常強烈的信號,表明自己這盤棋要採用的是相對保守的步步為營的下法,這已經不是人不輕狂枉少年的柯潔了,他採用了最為穩妥的下法。柯潔這招是以其人之道還治其人之身,他顯然是經過了經心的備戰,選擇這種策略是經過深思熟慮的,因為這個下法正式過去阿法狗最常用的下法。不過,阿法狗毫不示弱。在人類對局中,一般來說,一方如果是保守撈實地派,那麼另一方就會自然地選擇取外勢,構建大模樣的走法。但是,阿法狗卻跟柯潔對著干:你不是想撈實地嘛,那我也撈實地,看誰撈得過誰。結果,還是阿法狗技高一籌,連柯潔第一個三三所佔據的角都不得不拱手相讓給阿法狗。柯潔的戰略意圖被打亂。當走到54手的時候,阿法狗下出了一手讓柯潔冷汗直冒的棋,柯潔賽後說,當他看到這手棋的時候,非常震驚,因為那手棋在人類的對局中幾乎是不可能下出來的,看上去是步臭棋,實際卻越下越覺得精妙無比。
圖片來源網路
隨著棋招的增加,整個局面越來越進入阿法狗的節奏,柯潔已經被牽著鼻子走,雖然每次交戰,黑棋似乎都不落下風,但白棋總能稍稍多那麼一點點優勢,這種優勢在慢慢地累積,黑棋從來就沒有找到機會。在這種局面下,如果是人類之間的對弈,落後的一方想要獲得勝利,只有兩種情況,一是對手出昏招,二是強行跟對方絞殺搏命。顯然,阿法狗是不可能出昏招的,柯潔唯一剩下的出路就是絞殺搏命了。我之前曾經說過,高手下圍棋,都不是以吃掉對方的子為目的的,一旦要拚命去吃子,這時候其實已經是強弩之末了。柯潔瞄準了白棋上邊幾顆字,想要徹底殲滅,這在圍棋術語中叫做「屠龍」,屠殺大龍的意思。很遺憾,柯潔沒有屠龍刀,阿法狗是狗不是龍。屠龍不成,黑棋盤面更加落後。
到了最後的收官階段,阿法狗突然全部採用了最為保守穩妥的下法,看似黑棋在一點一點的與白棋縮小差距,其實,柯潔的心中滿是苦水,因為,他很清楚,在阿法狗的晶元中,這局棋已經結束,此後的每一步都在它的算計中,因為,阿法狗不需要最大的勝果,只需要最大的勝率。最終,阿法狗以四分之一子的優勢取勝,這是在中國圍棋規則下,優勢最小的勝利。
圖片來源網路
看完這局棋,我發了一條微博:阿發狗勝四分之一子,這是圍棋中的最小勝利。我在猜想,會不會這次三盤棋全都是同樣勝四分之一子的結果,以此顯示阿法狗的真正強大,就好像《2001太空漫遊》中土星黑石板一樣的存在,精確到不差分毫。我想,或許在阿法狗的後台設置中可以調節勝多少子。
當然,這是我的一個玩笑,但如果真如我所說,我也不會再感到驚訝,因為,人工智慧新的一頁已經被翻開。
阿法狗到底是怎麼下期的呢?這不是秘密,阿法狗的演算法原理都是公開的。圍棋棋盤上一共有 361 個交叉點。圍棋子一落,佔掉一個點,還剩下 360 個點。對手就有 360 種可能性可以下。當然啦,很多地方對手根本不可能落子,那是臭棋,所以,落在每個點的概率是不一樣的。平均下來,每一步棋大約有 200 種可能性。一盤棋下來,棋盤上可能出現的局面總數到了遠大於宇宙中原子總數的地步。所以深藍對付卡斯帕羅夫的辦法就不好使了。卡斯帕羅夫倒是這麼被計算器暴力窮舉給逼死的。
阿法狗必須另闢蹊徑,它擇了別的下棋方式。「秘訣」有三個:深度神經網路、監督/強化學習、蒙特卡羅樹搜索。
深度神經網路是包含超過一個認知層的計算機神經網路。人們將人工智慧設計出不同的「層」,來解決不同層級的認知任務。這種具備許多「層」的神經網路,被稱為深度神經網路。這話說的太學術了,大家難免犯暈。簡而言之,阿法狗還是跟人學了兩招,第一是大局觀。利用一種價值網路演算法來明晰局勢的判斷,從全局「戰略」著眼,拋棄不合適的路線;第二招是微操作,利用策略網路演算法優化每一步落子,優化具體的「戰術」,減少失誤。兩者結合在一起,使得阿法狗不需要過於龐大的計算也能夠走出精妙的棋局。單憑一招是難以應付複雜局面的。
圖片來源網路
卡斯帕羅夫敗給深藍,那是因為深藍輸入了能找到的所有國際象棋的棋譜。但是對於圍棋,這遠遠不夠。因為圍棋的可能性太多了,全部棋譜也不夠冰山一角,恐怕還有好多種下法,人類還沒碰到過。阿法狗使用了監督學習和強化學習。這是機器學習方式的不同種類。監督學習是指機器通過人類輸入的信息進行學習,而加強學習是指機器自身收集環境中的相關信息作出判斷,並綜合成自己的「經驗」。在初始階段,阿法狗收集研究者輸入的大量棋局數據,學習人類棋手的下法,形成自己獨特的判斷方式。之後,阿法狗就如雙手互搏一樣自己跟自己下棋,每一次都能總結經驗獲得提高。它一天可以自己跟自己下 100 萬局棋,而人類棋手終其一生也下不過 3 萬局。當然啦,也不乏人類給他陪練,阿法狗在網路上和眾多頂尖高手下快棋,這並不是閑得無聊之舉。可以這麼說,阿法狗見到過的走法很可能大部分圍棋高手都沒見過。誰知道這傢伙半夜不關機,通著電自己跟自己對練走過哪些稀奇古怪的棋啊。
說到底,一步棋到底該怎麼走,其實還是有很多種走法。哪種辦法是最合算的,贏面最大呢?那就必須從龐大的可能性裡面去搜索出來。蒙特卡洛搜索樹就是一種高效率的搜索演算法。蒙特卡洛方法在金融工程學,宏觀經濟學,生物醫學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算、核工程)等領域應用非常得廣泛。當年計算機之父馮·諾依曼參與核彈研究的時候和烏拉姆一起搞出了這個辦法。因為涉及到隨機概率,就用了蒙特卡洛這個名字,源於摩納哥的蒙特卡洛賭博業極其出名。概率最開始就是賭徒發明的數學嘛。不過上溯上去最早想到類似辦法的不是馮·諾依曼,而是法國的博物學家布豐。
布豐投針是個很有意思的東西,一張白紙,上面畫上幾條平行線,間隔寬度為 a。然後找一根小棍,棍子的長度是平行線的間隔的一半,即 a/2。然後你就扔吧,最後統計一下總共投擲了 n 次,有 m 次小棍和平行線相交。那麼相交概率就是 m/n 。布豐計算了,這個概率就是 π 的倒數,也就是你把它倒過來,n/m 應該就趨近於 π。有興趣的朋友不防自己去試試。1901年,有個義大利人扔小棍扔了三千多次,最後計算出來的 π 精確到了小數點後面的 6 位 3.1415929,你看還是蠻準的。投擲的次數越多,計算精度就越高。雖然扔了 3000 次得到的圓周率 π 值,還不如祖沖之的計算精度高,這可能是傳統蒙特卡洛方法長期得不到推廣的主要原因,但是這種演算法省掉了繁複的數學推導和演算過程。這個特點碰到了計算機這種傻快的傢伙,缺點就立刻轉變成了巨大的優勢。
蒙特卡洛演算法有個好處,那就是精確度和時間正相關。你要精確,那麼多花點時間慢慢算;你要急著要結果,那就能快速算個大概。下圍棋很大程度上不需要那麼精確,只要知道贏面比較大就行了,但是算得快是必須的。
具體到阿法狗怎麼應用蒙特卡洛演算法呢?我們還是打個比方,一個不透明的罐子裡面有大大小小各種各樣的蘋果。現在要你把最大的挑出來。當然你不準全倒出來,那不行。你也不知道裡面的狀況,你甚至也不知道裡面多大的算大。那麼只能先摸摸看,一隻一隻摸出來,假如比上一個大,那就留下,反正你摸的時間越長就越有可能找到那個最大的。假如你時間來不及了,看看大小也還滿意,那就不摸了。阿法狗也是這個辦法。當它挑選出來的這步棋足夠用了,贏面足夠大了,它就不必再費力氣搜索了。所以你看,柯潔反而被他逼的長考。阿法狗很實際,能贏你一點點就不用再花那個電費去算了。
柯潔還剩下兩場比賽,現在已經幾乎沒有人認為柯潔能獲勝了。第一場比賽我在弈城看直播的時候,看到還有 20% 的人押柯潔贏,我估計下一場會低於 10%。但是,柯潔的失敗是人類的失敗嗎?
不,恰恰相反,我認為,柯潔的失敗是人類智力的又一次輝煌展示,這是數學的勝利,這是演算法的勝利,這是人類對自然規律又一次深刻洞見後的勝利。阿法狗所採用的一切方法,歸根到底是我們人想出來的數學方法,阿法狗的研發工程師大多數甚至都不會下圍棋,他們只需要知道圍棋的基本規則,然後,賦予阿法狗通用的演算法。這個演算法不僅僅可以用來下圍棋,還可以用來做人臉識別、醫療診斷,甚至可以用來生產法律文書、新聞稿件等等。阿法狗代表的是人工智慧的新高度,而人工智慧其實代表的是人類智慧的新高度。
圖片來源網路
我們完全沒有必要為柯潔的失敗感到沮喪,相反,我們應該為演算法的勝利而歡呼。
汪潔著《時間的形狀——相對論史話》正在熱銷中
推薦閱讀:
※【編織教程】輕鬆編織機器領小妙招
※蘇州機器局
※自我意識、心身關係、人與機器
※我織的機器領,很平整。(可用於門襟)
※工業4.0(自動化產業鏈)行業介紹——機器人、匯川技術、埃斯頓