|
圍棋一直被視為人工智能最難破解的游戲。就在今天,《Nature》雜志以封面論文的形式,介紹了 Google DeepMind 開發(fā)的人工智能程序 AlphaGo,它擊敗了歐洲圍棋冠軍樊麾,并將在 3 月和世界冠軍李世乭對戰(zhàn)!Google 特地為此準備了 100 萬美元獎金。 從國際象棋的經(jīng)驗看,1997 年人工智能第一次打敗人類后,2006 年成為了人類在國際象棋的絕唱,自此之后人類沒有戰(zhàn)勝過最頂尖的人工智能國際象棋選手。在 AlphaGo 打敗了歐洲圍棋冠軍后,世界冠軍李世乭和 AlphaGo 的對弈,是否會成為人類在圍棋領(lǐng)域的絕唱? Nature 封面論文:Mastering the game of Go with deep neural networks and tree search(通過深度神經(jīng)網(wǎng)絡(luò)和搜索樹,學(xué)會圍棋游戲) AlphaGo 給圍棋帶來了新方法,它背后主要的方法是 Value Networks(價值網(wǎng)絡(luò))和 Policy Networks(策略網(wǎng)絡(luò)),其中 Value Networks 評估棋盤位置,Policy Networks 選擇下棋步法。這些神經(jīng)網(wǎng)絡(luò)模型通過一種新的方法訓(xùn)練,結(jié)合人類專家比賽中學(xué)到的監(jiān)督學(xué)習(xí),以及在自己和自己下棋(Self-Play)中學(xué)到強化學(xué)習(xí)。這不需要任何前瞻式的 Lookahead Search,神經(jīng)網(wǎng)絡(luò)玩圍棋游戲的能力,就達到了最先進的蒙特卡洛樹搜索算法的級別(這種算法模擬了上千種隨機自己和自己下棋的結(jié)果)。我們也引入了一種新搜索算法,這種算法將蒙特卡洛模擬和價值、策略網(wǎng)絡(luò)結(jié)合起來。 通過這種搜索算法,AlphaGo 在和其他圍棋程序比賽的勝率達到了 99.8%,并以 5:0 的比分擊敗了人類歐洲圍棋冠軍樊麾。這是電腦程序第一次在全尺寸(19X19)的棋盤上擊敗了人類專業(yè)選手,這一成果過去認為至少需要 10 年才能實現(xiàn)。 歐洲圍棋冠軍樊麾:2005 年樊麾被正式聘任為法國圍棋隊和少年圍棋隊的總教練,那一年的他才 24 歲。他是 2013、2014 和 2015 歐洲圍棋賽冠軍。 通過將 Value Networks、Policy Networks 與樹搜索結(jié)合起來,AlphaGo 達到了專業(yè)圍棋水準,讓我們看到了希望:在其他看起來無法完成的領(lǐng)域中,AI 也可以達到人類級別的表現(xiàn)! DeepMind 團隊對圍棋項目的介紹(新智元翻譯) 所有完全信息(perfect information)博弈都有一個最優(yōu)值函數(shù)(optimal value function), 譯者注:圍棋為何如此復(fù)雜? 圍棋有3^361 種局面,而可觀測到的宇宙,原子數(shù)量才10^80。 圍棋難的地方在于它的估值函數(shù)非常不平滑,差一個子盤面就可能天翻地覆,同時狀態(tài)空間大,也沒有全局的結(jié)構(gòu)。這兩點加起來,迫使目前計算機只能用窮舉法并且因此進展緩慢。但人能下得好,能在幾百個選擇中知道哪幾個位置值得考慮,說明它的估值函數(shù)是有規(guī)律的。這些規(guī)律遠遠不是幾條簡單公式所能概括,但所需的信息量還是要比狀態(tài)空間本身的數(shù)目要少得多(得多)。一句話,窮舉狀態(tài)并不是最終目標,就算以后超超級計算機能做到這一點,也不能說解決了人工智能。只有找到能學(xué)出規(guī)律的學(xué)習(xí)算法,才是解決問題的根本手段。By 田淵棟 蒙特卡洛樹搜索(MCTS)使用蒙特卡洛算法的模擬結(jié)果來估算一個搜索樹中每一個狀態(tài)(state)的值。隨著進行了越來越多的模擬,搜索樹會變得越來越龐大,而相關(guān)的值也會變得越來越精確。通過選取值更高的子樹,用于選擇行動的策略概率在搜索的過程中會一直隨著時間而有所改進。目前最強大的圍棋程序都是基于蒙特卡洛樹搜索的,通過配置經(jīng)訓(xùn)練后用于預(yù)測人類棋手行動的策略概率進行增強。這些策略概率用于將搜索范圍縮小到一組概率很高的行動、以及在模擬中抽樣行動。這種方法已經(jīng)取得了高級業(yè)余愛好者水平的表現(xiàn)。然而,先前的工作僅局限于基于輸入特征(input features)的線性組合的粗淺策略概率和值函數(shù)。 近期,深度卷積神經(jīng)網(wǎng)絡(luò)在視覺領(lǐng)域有很多前所未有的表現(xiàn):例如,圖像分類、臉部識別、玩雅特麗游戲等。他們使用很多層神經(jīng)元,每個被安排在交疊的區(qū)塊(Tiles)中來構(gòu)建越來越抽象和本地化的圖片表示。我們在圍棋游戲中采用了一個相似的構(gòu)架。我們用19X19的圖像來傳遞棋盤位置,使用卷積層來構(gòu)建位置的表示。我們使用這些神經(jīng)網(wǎng)絡(luò)來減少搜索樹的有效深度和寬度(breadth):使用一個Value Networks(價值網(wǎng)絡(luò))來估算位置,使用Policy Network(策略網(wǎng)絡(luò))來對動作進行抽樣。 我們使用由若干機器學(xué)習(xí)階段(Stages)構(gòu)成的流水線來訓(xùn)練神經(jīng)網(wǎng)絡(luò)(例1)。我們直接使用人類專家的步法來訓(xùn)練監(jiān)督學(xué)習(xí)策略網(wǎng)絡(luò)pσ。這為快速而有效的學(xué)習(xí)更新(Learning Updates)提供了高質(zhì)量的梯度和即時反饋。與之前的工作相似,我們也訓(xùn)練了一個快速策略網(wǎng)絡(luò)pπ,它可以快速地在模擬中對動作進行抽樣。接下來,我們訓(xùn)練了強化學(xué)習(xí)(RL)策略網(wǎng)絡(luò)pρ,這個網(wǎng)絡(luò)通過優(yōu)化“自己對抗自己”的最終結(jié)果來改善監(jiān)督學(xué)習(xí)策略網(wǎng)絡(luò)。這將策略調(diào)整到贏棋這一正確目標上,而非讓預(yù)測精確率最大。最后,我們訓(xùn)練了價值網(wǎng)絡(luò)vθ,它可以預(yù)測出RL策略網(wǎng)絡(luò)通過模擬“自己對抗自己”而得出的策略中哪種是最佳策略。我們的程序AlphaGo高效地結(jié)合將策略和價值網(wǎng)絡(luò)與蒙特卡洛樹搜索結(jié)合起來。 為了評估AlphaGo,我們在諸多AlphaGo變體和一些其他圍棋程序中進行了內(nèi)部比賽,這其中包括了最強大的商業(yè)程序Crazy Stone和Zen,還有最大的開源程序Pachi和Fuego。所有這些程序都是基于高性能MCTS算法。此外,比賽也包含了開源程序GnuGo,這個程序使用了在MCTS之前出現(xiàn)的最先進的方法。規(guī)定所有程序每次落子有5秒的計算時間。 比賽的結(jié)果表明單機AlphaGo領(lǐng)先任何之前的圍棋程序很多段位,取得了495局比賽中494次勝利的成績(99.8%)。為了給AlphaGo提出更大的挑戰(zhàn),我們也讓AlphaGo讓四子(讓子,即對手自由落子)來比賽;AlphaGo讓子競賽中對陣Crazy Stone、Zen和Pachi時分別取得了77%、86%和99%的成績。分布式AlphaGo明顯更強大,對陣單機AlphaGo取得77%的成績,完勝其他程序。 詳解:AlphaGo 如何在對弈中選擇步法 黑色棋子代表AlphaGo正處于下棋狀態(tài),對于下面的每一個統(tǒng)計,橙色圓圈代表的是最大值所處的位置。 a.用價值網(wǎng)絡(luò)(value network) b.計算樹中從根節(jié)點s處伸出來的邊(其中每條邊用(s,a)來表示)的動作值Q(s,a),僅當(dāng)(λ=0)時,取價值網(wǎng)絡(luò)估值的平均值。 c.計算了根位置處伸出的邊的動作值Q(s,a),僅當(dāng)(λ=1)時,取模擬估計值的平均值。 d.直接從SL策略網(wǎng)絡(luò) e.計算了在模擬過程中,從根節(jié)點選出的某個動作的頻率百分比。 f.表示來自于AlphaGo搜索樹的主要變異性(principal variation)(最大訪問數(shù)路徑),移動路徑以序號形式呈現(xiàn)出來。 紅色圓圈表示AlphaGo選擇的步法;白方格表示樊麾作出的回應(yīng);樊麾賽后評論說:他特別欣賞AlphaGo預(yù)測的(標記為1)的步法。 AlphaGo與樊麾的比賽結(jié)果 以編號形式展示了AlphaGo和樊麾進行圍棋比賽時各自的落子順序。棋盤下方成對放置的棋子表示了相同交叉點處的重復(fù)落子。每對中的第一個棋子上的數(shù)字表示了何時發(fā)生重復(fù)落子,而落子位置由第二個棋子上的數(shù)字決定。(見補充信息 Supplementary Information)
第二盤:AlphaGo 中盤勝 第三盤:AlphaGo 中盤勝
第五盤:AlphaGo 中盤勝 最終,我們評估了分布式AlphaGo與樊麾的比賽,他是專業(yè)2段位選手,2013、14和15年歐洲圍棋賽冠軍。在2015年10月5日到9日,AlphaGo和樊麾正式比賽了5局。AlphaGo全部獲勝。這是第一次一個電腦圍棋程序,在沒有讓子、全尺寸(19X19)的情況下?lián)魯∪祟悓I(yè)選手,這一成果過去認為至少需要 10 年才能實現(xiàn)。 在我們的工作中,我們開發(fā)了圍棋程序,它將深度神經(jīng)網(wǎng)絡(luò)和樹搜索結(jié)合起來。這個程序可以達到最強的人類選手的表現(xiàn),因此完成了一個人工智能“偉大挑戰(zhàn)”。我們也為圍棋首創(chuàng)了高效步法選擇和位置評估函數(shù),這是通過具有創(chuàng)新性地將監(jiān)督和強化學(xué)習(xí)兩種方法結(jié)合起來從而訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。我們也引入了一個新搜索算法,這一算法成功的整合了神經(jīng)網(wǎng)絡(luò)評估和蒙特卡洛樹模擬算法。我們的程序AlphaGo在高性能樹搜索引擎中從一定規(guī)模上將這些成分整合在一起。
在和樊麾的比賽中,AlphaGo在評估位置方面要比深藍與Kasparov4比賽時所評估的位置少幾千倍,這是由于我們使用了策略網(wǎng)絡(luò)更智能地選擇那些位置,還使用了價值網(wǎng)絡(luò)更精確地評估它們,而價值網(wǎng)絡(luò)更接近人類的下棋方式。另外,深藍依靠手工設(shè)計評估方程,而AlphaGo的神經(jīng)網(wǎng)絡(luò)是直接通過純比賽數(shù)據(jù)訓(xùn)練,也使用了通用監(jiān)督和強化學(xué)習(xí)方法。
圍棋代表了很多人工智能所面臨的困難:具有挑戰(zhàn)性的決策制定任務(wù)、難以破解的查找空間問題和優(yōu)化解決方案如此復(fù)雜以至于用一個策略或價值函數(shù)幾乎無法直接得出。之前在電腦圍棋方面的主要突破是引入MCTS,這導(dǎo)致了很多其他領(lǐng)域的相應(yīng)進步:例如,通用博弈,經(jīng)典的計劃問題,計劃只有部分可觀測問題、日程安排問題和約束滿足問題。通過將策略和價值網(wǎng)絡(luò)與樹搜索結(jié)合起來,AlphaGo終于達到了專業(yè)圍棋水準,讓我們看到了希望:在其他看起來無法完成的領(lǐng)域中,AI也可以達到人類級別的表現(xiàn)。 新智元特約專家評論 微軟亞洲工程院院長劉震在新智元機器學(xué)習(xí)群里的評論:我認為AI技術(shù)征服人類不需要太長時間,可能就發(fā)生在今年,AI技術(shù)征服人類。Google的AlphaGo在圍棋比賽中以5:0打敗了歐洲圍棋冠軍。下一次比賽:是在3月與李世石九段的圍棋比賽,為此谷歌拿出100萬美元作為這次比賽的獎勵。 I thought AI won't beat human in Go for a long time... It may be this year! Google's AlphaGo beats European professional champion 5:0; next on deck: 李世石九段 in March for $1M Google prize. ![]() 對于人而言,圍棋競技是智力、心理和靈性三個維度的綜合比拼。根據(jù)Deep Mind現(xiàn)有的計算機圍棋解決方案描述,可以判斷程序在智力維度取得了很大的進展。在智力方面,計算機圍棋研究領(lǐng)域中要解決的核心問題是如何對盤面做形勢判斷,即專家評估系統(tǒng)的解決方案,專家評估系統(tǒng)能力的顯著提高會導(dǎo)致圍棋AI水準的本質(zhì)提升。Deep Mind的計算機圍棋解決方案其實可歸結(jié)為精確的專家評估系統(tǒng)(value network)、基于海量數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)(policy network),及傳統(tǒng)的人工智能方法蒙特卡洛樹搜索的組合。有理由相信這個程序已經(jīng)達到與標準業(yè)余6段棋手或中國職業(yè)棋手等級分200位之后的棋手實力相當(dāng)?shù)牡夭?。從?jīng)驗上看,由于缺少心理和靈性維度的突破,AlphaGo戰(zhàn)勝人類最頂尖的圍棋高手尚需時日。
|
|
|