上帝移動棋手,棋手移動棋子。 但是,超越上帝的上帝又開始了哪一輪塵土、時間、睡眠和痛苦?
—豪爾赫·路易斯·博爾赫斯
在我撰寫這篇專欄文章時,一個名為AlphaGo的計算機程式正在首爾一場備受矚目的比賽中擊敗職業圍棋棋手李世乭。 李世乭是世界排名前三的棋手之一,擁有最高段位九段。 在這場古老而傳統的棋類遊戲中,戰勝了人類最傑出的代表之一,以壓倒性的3比1獲勝,還有一場比賽尚未進行。 隨著這場失利,計算機在最後一種經典棋類遊戲中也超越了人類,圍棋以其深度和簡潔性而聞名。 一個時代結束了,一個新的時代開始了。 AlphaGo及其最近的勝利所依據的方法,對機器智慧的未來具有驚人的意義。
關於支援科學新聞
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞事業: 訂閱。 透過購買訂閱,您將幫助確保未來能夠繼續報道有關塑造我們當今世界的發現和想法的具有影響力的故事。
橫空出世
AlphaGo登上圍棋世界之巔令人震驚,並且與機器下國際象棋的軌跡截然不同。 在10年多的時間裡,一個由硬體和軟體工程師組成的專業團隊(最終被IBM聘用)構建並程式設計了一臺專用超級計算機,名為“深藍”,它只做一件事——透過每秒評估2億個棋盤位置來下國際象棋。 在一個廣為預期的發展中,IBM團隊挑戰了當時的國際象棋世界冠軍加里·卡斯帕羅夫。 在1996年進行的六場比賽中,卡斯帕羅夫以三勝兩平一負的戰績戰勝了深藍,但在一年後的歷史性複賽中以2-1/2比3-1/2失利。
國際象棋是一種經典的策略遊戲,類似於井字棋、跳棋、黑白棋(奧賽羅)、西洋雙陸棋和圍棋,玩家輪流放置或移動棋子。 與紙牌遊戲(參與者只能看到自己的牌以及所有人的棄牌)不同,玩家可以完全訪問所有相關資訊,機會不發揮任何作用。
圍棋的規則比國際象棋簡單得多。 黑方和白方各有裝有黑白棋子的碗,並且輪流在19x19的棋盤上放置一枚棋子。 一旦放置,棋子就不會移動。 這種起源於2500多年前中國遊戲的目的是完全包圍對方的棋子。 這種被包圍的棋子被認為是已被俘獲,並從棋盤上移除。 從這種純粹的簡單性中產生了偉大的美——黑白雙方軍隊之間從棋盤的角落到中心展開的複雜戰鬥。
嚴格的邏輯遊戲,例如國際象棋和圍棋,可以用可能出現的位置數量來表徵,這限制了它們的複雜性。 根據遊戲的階段,玩家必須從少量可能的走法中選擇一個,這稱為遊戲的廣度或分支因子b。 如果輪到白方走棋,她需要從b種可能的走法中選擇一種; 黑方可以用他自己的b種應對走法來回應其中的每一種。 也就是說,經過一回合後,白方在制定策略時已經需要考慮b乘以b或b²種走法。 假設一場國際象棋遊戲平均持續d步(稱為遊戲的深度),從任何一個起始位置開始的完整博弈樹(所有走法、應對走法、再應對走法等等,直到一方獲勝)包含大約b乘以b乘以b...,d次連續相乘,或bᵈ個結束位置(所謂的終端節點或搜尋樹的葉子)。 鑑於典型的國際象棋遊戲的分支因子約為35,持續80步,可能的走法數量是巨大的,約為35⁸⁰(或10¹²³),又名“夏農數”,以貝爾實驗室先驅克勞德·夏農的名字命名,他不僅發明了資訊理論,還在1950年撰寫了第一篇關於如何程式設計機器下國際象棋的論文。 夏農數,10¹²³,是巨大的,特別是考慮到在整個可觀測宇宙的星系、恆星、行星、狗、樹木和人類中只有大約10⁸⁰個原子。 但圍棋的複雜性更大,遠大於國際象棋。 圍棋每回合有250種可能的走法(圍棋在19x19的棋盤上下,而國際象棋棋盤小得多,為8x8),典型的遊戲深度為150步,因此大約有250¹⁵⁰或10³⁶⁰種可能的走法。 這是一個超乎想象的數字,使得詳盡評估所有可能的走法的想法變得完全不切實際。
鑑於這種幾乎無限的複雜性,圍棋比國際象棋更側重於識別當成堆的棋子包圍空白空間時出現的模式。 玩家有意識或無意識地感知棋子組之間的關係,並談論諸如棋子的“輕”和“重”形狀以及“aji”(日語,意味著潛在的可能性)等看似模糊的概念。 然而,與遊戲的正式規則相比,這些概念更難透過演算法捕捉。 因此,與國際象棋程式相比,計算機圍棋程式舉步維艱,並且在常規比賽條件下,沒有一個程式能夠擊敗專業的圍棋人類棋手。 這種事件被預測至少還需要十年才能發生。
然後,AlphaGo透過今年1月28日發表在世界上最受尊敬的科學雜誌之一《自然》雜誌上的一篇文章,進入了公眾意識。 它的軟體由一個20人組成的團隊開發,該團隊由前國際象棋神童和神經科學家、後來的AI先驅德米斯·哈薩比斯領導,出自他在倫敦的公司DeepMind Technologies,該公司於2014年被谷歌收購。 最令人感興趣的是,《自然》雜誌的文章透露,AlphaGo在2015年10月與歐洲圍棋錦標賽冠軍樊麾對弈,並以5比0獲勝,而且沒有讓對手人類棋手,這在當時是聞所未聞的。[《大眾科學》是施普林格·自然的組成部分。]
揭秘幕後
值得注意的是,AlphaGo的演算法不包含任何真正新穎的見解或突破。 該軟體結合了良好的傳統神經網路演算法和機器學習技術,以及出色的軟體工程,這些工程執行在功能強大但相當標準的硬體上——48箇中央處理器 (CPU) 加上八個圖形處理器 (GPU),後者是為遊戲社群渲染3D圖形而開發的,並且在執行某些數學運算時非常強大。
計算的核心是神經網路,它是生物大腦中神經元迴路的遠親。 排列在重疊層中的神經元層處理輸入(19x19圍棋棋盤上棋子的位置),並使用稱為卷積網路的技術,得出遊戲中各個方面越來越抽象的表示。 相同的技術使自動影像識別方面的最新突破成為可能——例如,自動標記釋出到Facebook的所有影像。
對於任何特定的棋盤位置,兩個神經網路協同執行以最佳化效能。 “價值網路”透過估計給定棋盤位置將導致勝利的可能性來減少搜尋的有效深度,而無需追溯搜尋樹的每個節點,“策略網路”則減少遊戲的廣度,透過學習為特定位置選擇最佳走法,來限制網路為該特定棋盤位置考慮的走法數量。 策略網路生成可能的走法,然後價值網路根據這些走法擊敗對手的可能性來判斷它們。
具有諷刺意味的是,對於這種完全確定性的遊戲(其中每一步走法完全由之前的走法決定),最強大的技術是機率性的,這是基於這樣的認識:由於樹的大部分分支無法實際探索,因此最好幾乎隨機地選擇一些最有希望的分支,並將它們一直評估到最後——即,評估到一方或另一方獲勝的棋盤位置。 然後,博弈樹中的各個節點可以根據它們最有可能導致勝利的程度進行加權。 像這樣一遍又一遍地進行,這種偽隨機抽樣(稱為蒙特卡洛樹搜尋)即使只探索了完整博弈樹的一小部分,也能導致最佳行為。 蒙特卡洛技術——在20世紀40年代後期於洛斯阿拉莫斯國家實驗室為設計第一批核武器而誕生——在物理學中得到廣泛應用。 蒙特卡洛樹技術已成功應用於Crazy Stone,這是最早以相當不錯的業餘水平下圍棋的程式之一。
然而,僅靠蒙特卡洛樹搜尋本身不足以讓這些程式在世界級水平上競爭。 這需要賦予AlphaGo學習能力,最初是透過讓它接觸以前專業圍棋棋手下過的棋局,隨後透過使程式能夠與自己對弈數百萬局,從而在此過程中不斷提高其效能。
在第一階段,一個13層策略神經網路最初是一張白紙——以前沒有接觸過圍棋。 然後,它在從圍棋資料庫中提取的160,000個真實對局的3000萬個棋盤位置上進行了訓練。 這個數字代表了任何職業棋手一生中遇到的對局數量還要多得多。 每個棋盤位置都與棋手選擇的實際走法配對(這就是為什麼這種技術被稱為監督學習),並且網路之間的連線透過所謂的標準深度機器學習技術進行調整,以使網路下次更有可能選擇更好的走法。 然後,透過給網路一個它以前從未見過的對局中的棋盤位置來測試該網路。 它準確地(雖然遠非完美)預測了職業棋手選擇的走法。
在第二階段,策略網路使用強化學習進行了自我訓練。 這項技術是行為主義的持久遺產——行為主義是上個世紀上半葉在心理學和生物學中占主導地位的一種思想流派。 它宣稱這樣一種觀點,即生物體(從蠕蟲、蒼蠅和海蛞蝓到老鼠和人)透過將特定行為與先前的特定刺激聯絡起來來學習。 當它們一遍又一遍地這樣做時,生物體就會在刺激和反應之間建立聯絡。 這可以完全無意識地完成,使用死記硬背的學習方法。
考慮訓練你的狗在聽到命令後翻身並“裝死”。 你可以透過將這種複雜的行為分解為較小的動作來實現——躺在地上、翻身、將爪子伸向空中。 一旦該動作自發發生,或者因為你向你的狗展示瞭如何做,並且它試圖模仿你,它就會透過讚揚或一小塊食物的組合來獲得獎勵(或在行話中稱為“強化”)。 這樣做足夠多次後,狗最終會在聽到命令後裝死。
強化學習在多年前已在神經網路中實施,以模仿動物行為和訓練機器人。 DeepMind去年以驚人的方式展示了這一點,當時網路被教會如何玩49種不同的Atari 2600影片遊戲,包括影片彈球、星際槍手、坦克機器人、公路賽跑者、Pong、太空侵略者、吃豆小姐、異形和蒙特祖瑪的復仇。 (預示未來的一件事是,“atari”是一個日語圍棋術語,表示即將吃掉一個或多個棋子。)
每次玩遊戲時,DeepMind網路都會“看到”相同的影片遊戲螢幕,包括任何人類玩家都會看到的當前分數。 網路的輸出是操縱桿的命令,用於移動螢幕上的游標。 遵循程式設計師最大化遊戲分數的指令,該演算法這樣做了,並在成千上萬次的試驗中弄清楚了遊戲規則。 它學會了移動、擊中外星飛船並避免被它們摧毀。 對於某些遊戲,它實現了超人的效能。 相同的強大強化學習演算法被AlphaGo用於圍棋,從監督學習步驟後策略網路的配置開始。
在訓練的第三個也是最後一個階段,價值網路(它估計給定棋盤位置可能導致獲勝的可能性)使用策略網路選擇的3000萬個自我生成的位置進行訓練。 正是這種自我對弈的功能(人類無法複製,因為它需要棋手的思維分裂成兩個),使演算法能夠不斷改進。
AlphaGo的一個特點是,它會選擇一種最大化獲勝機率的策略,而不管贏多少。 例如,AlphaGo寧願選擇以90%的機率贏兩子,也不願選擇以85%的機率贏50子。 很少有人會為了獲得微弱但更確定的勝利而放棄稍微冒險的機會來擊潰對手。
最終的結果是一個程式,它的效能優於任何競爭對手,並擊敗了圍棋大師樊麾。 然而,樊麾並未躋身世界排名前300名之列——而在頂尖棋手中,他們的能力差異如此之大,以至於即使是畢生的訓練也無法使樊麾擊敗像李世乭這樣的人。 因此,根據AlphaGo和樊麾之間公開的五場比賽,李世乭自信地預測他將統治AlphaGo,以五比零或在狀態不佳時以四比一獲勝。 他沒有料到的是,他在首爾面對的程式是樊麾六個月前遇到的程式的改進版本,並透過不懈的自我對弈進行了最佳化。
深藍和AlphaGo之間一個有趣的差異是,前者的評估引擎(為任何一個棋盤位置分配正(好)值或負(壞)值)是明確程式設計的。 這種區別使深藍的程式設計師能夠在其戰術庫中新增明確的規則,例如“如果出現這種情況,就執行該操作”。 這對於深藍的神經網路後代AlphaGo來說是不可能的,在AlphaGo中,所有知識都隱式地編碼在網路的“權重”中。
下一步是什麼?
深藍代表了機器的強大力量戰勝了人類大腦的勝利。 它的成功幾乎完全取決於為此目的而構建的非常快速的處理器。 儘管它戰勝卡斯帕羅夫是一件歷史性事件,但這場勝利並未帶來任何實際應用或衍生產品。 事實上,IBM很快就退役了這臺機器。
同樣的情況不太可能發生在AlphaGo身上。 該程式執行在現成的處理器上。 為其提供更多的計算能力(透過將其分佈在1,200個CPU和GPU的網路上)只會略微提高其效能。 使其與眾不同的特點是AlphaGo能夠將自身分裂成兩個,與自己對弈並不斷提高其整體效能。 目前尚不清楚AlphaGo的改進能力是否受到任何限制。 (但願我們的老式大腦也能如此。) 這可能構成了任何智慧系統的核心,研究人員正在追求的聖盃——通用人工智慧,在力量和靈活性方面與人類智慧相媲美。
哈薩比斯的DeepMind團隊很可能正在考慮設計更強大的程式,例如可以從頭開始自學圍棋的版本,而無需依賴人類對局語料庫作為示例,學習國際象棋的版本,可以同時在世界級水平下跳棋、國際象棋和圍棋的程式,或者可以應對無限注德州撲克或類似的運氣遊戲的程式。
哈薩比斯和他的同事們在一個非常值得稱讚的舉動中,在隨附的《自然》雜誌出版物中詳盡地描述了DeepMind團隊用於生成AlphaGo的演算法和引數設定。 這進一步加快了全球學術界和工業實驗室人工智慧研究的瘋狂步伐。 為了加強,基於試錯學習的演算法可以應用於無數具有足夠標記資料的問題,無論是金融市場、醫療診斷、機器人技術、戰爭等等。 一個新時代已經開始,它對就業模式、大規模監控以及日益嚴重的政治和經濟不平等產生了未知但潛在的巨大中長期影響。
AlphaGo對圍棋本身有什麼影響? 儘管末日預言家持相反意見,但無處不在的國際象棋程式的興起重振了國際象棋,幫助培養了一代又一代更強大的棋手。 同樣的情況很可能發生在圍棋界。 畢竟,任何汽車或摩托車都比任何跑步者跑得快的事實並沒有消除跑步的樂趣。 參加馬拉松比賽的人比以往任何時候都多。 事實上,可以認為,透過消除不斷證明自己是最好的需要,人類現在可以為了圍棋本身的緣故,更享受這種極其美觀和智力的遊戲的本質。 事實上,在中國古代,任何有修養的學者和紳士都應該掌握的四藝之一就是圍棋。
正如有意義的生活必須為了其內在的原因而被活和被證明一樣,圍棋也應該為了其內在的價值而下——為了它帶來的樂趣。 正如哲學家馬克·羅蘭茲所說,這種快樂可以呈現多種形式
“有一種專注的快樂,一種完全沉浸在自己所做的事情中的體驗。 有一種奉獻的快樂,一種專注於行為而不是結果,專注於活動而不是目標的體驗。 有一種忍耐的快樂,一種儘可能努力地玩遊戲,將你所擁有的一切都投入到遊戲中,不留餘力的體驗,無論這會帶來怎樣的體驗代價。 這是一種反抗的快樂,狂野而激烈:不,你不會擊垮我,不會在這裡,不會在今天。”
在與新的、更強大的圍棋力量的戰鬥中,代表我們所有人的李世乭展現了這種快樂。 本文獻給李世乭。

