轉自:http://blog.csdn.net/lpjishu/article/details/78291152
題目(Nature論文)
Mastering the game of Go without human knowledge 作者
David Silver1*, Julian Schrittwieser1*, Karen Simonyan1*, Ioannis Antonoglou1, Aja Huang1, Arthur Guez1,
Thomas Hubert1, Lucas Baker1, Matthew Lai1, Adrian Bolton1, Yutian Chen1, Timothy Lillicrap1, Fan Hui1, Laurent Sifre1, George van den Driessche1, Thore Graepel1 & Demis Hassabis1 摘要
長久以來,人工智慧的目標是在富有挑戰性的領域中學習出一種從無知幼兒到超級專家的演算法。最近,AlphaGo成為了在圍棋遊戲中打敗人類世界冠軍的第一個程式。其中,AlphaGo對下棋位置的預估和選定下棋位置所使用的樹搜尋演算法使用了神經網路。這些網路利用高段位棋手的走棋通過有監督學習的方式來訓練,然後通過自我對弈來完成進行增強學習。本篇論文中我們提出了一種完全獨立的增強學習演算法,演算法不需要人工資料,或是基於遊戲規則的引導或領域知識。AlphaGo變成了自己的老師:訓練一個神經網路用來完成AlphaGo的落子預測和對弈的贏家。這個網路同時還提高了樹搜尋的能力,帶來的結果就是能夠在下一手中有更高品質的落子選擇和更強的自我對弈能力。從無知幼兒開始,我們新的程式—AlphaGo Zero達到了超級專家的水平,在與之前開發的AlphaGo(指代和李世石對弈的AlphaGo)的對弈中,取得了100-0的完勝。 引言
利用有監督學習來複製人類專家的決策結果使得人工智慧取得了長足發展。然而,專家資料通常需要大量財力,而且也存在不可靠和難以擷取的缺點。甚至有的時候擷取了可靠的資料之後,也會對通過這種方式訓練的系統的效能加以強制限制[5]。於此相反的是,強化學習系統是通過自身的經驗來完成訓練的,所以在原則上他們是可以超越人類的能力,並在人類經驗缺失的領域也能工作。近年來,利用強化學習訓練的深部神經網路已經取得了較快的進展。這些系統在電子遊戲中已經超越了人類玩家的水平,比如說Atari[6,7]和3D虛擬遊戲[8,9,10]。然而,就人類智力而言最富有挑戰性的遊戲領域—比如說圍棋就被廣泛的認為是AI領域的重大挑戰。這些遊戲需要在龐大的搜尋空間中完成精確複雜的預判(也就是我們說的看幾步棋)。在這個領域中的所有的一般方法都不能達到人類棋手的水平。
AlphaGo是在圍棋領域能達到人類超級專家水平的第一個程式,我們開發的第一個版本—AlphaGo Fan在2015年10月打敗了歐洲圍棋冠軍Fan Hui(樊麾:法國國家圍棋隊總教練)。AlphaGo使用了兩個深度神經網路:一個是策略網路輸出下一步落子位置的機率,一個是價值網路輸出對位置的評估(也就是落子勝率)。策略網路通過有監督的學習來精確的預測高段位棋手的落子,之後再通過價值梯度增強學習來完成系統的增強。價值網路通過策略網路的自我博弈來預測遊戲的勝方從而完成訓練。訓練結束之後,這兩個網路通過蒙特卡洛樹搜尋的演算法相結合來提供對未來局勢的前望。使用原則網路來縮小高機率落子的搜尋過程,使用價值網路(結合蒙特卡洛快速走子策略)在樹上完成對落子位置的評估。在之後的開發版本中,我們稱為AlphaGo Lee,使用和之前相同的方法,在2016年打敗了Lee Sedol(18項國際冠軍)。
我們現在的程式,AlphaGo Zero,和 Alpha Go、Alpha Lee這些之前的版本相比較,在很多方面都有不同。最重要的是,AlphaGo Zero完全獨立的通過自我博弈增強學習來完成訓練,從剛開始的隨機博弈開始就沒有任何的監督或使用人工資料。其次,它只使用棋盤上的黑白子作為輸入特徵(之前的AlphaGo有人工構建的許多特徵)。第三,只使用一個神經網路,而不是分開的策略網路和價值網路。第四,只使用依賴於單一神經網路的簡化版樹搜尋來評估落子機率和落子對局勢的影響,不再使用蒙特卡洛的方法。為了實現這些方面,我們開發了一種能在訓練過程中完成前向搜尋的增強學習演算法,目的是為了快速的提高和精確穩定的學習過程。對這些網路結構差異、搜尋演算法的不同已經訓練過程的不同我們將會在Methods部分做進一步的詳述。 AlphaGo Zero加強學習理論
我們的新方法使用具有參數θ的深層神經網路fθ。 該神經網路將位置及其曆史的原始圖表代表作為輸入,輸出移動機率和值(p,v)=fθ(s)。 移動機率的向量p表示選擇每個移動a(包括pass),pa = Pr(a | s)的機率。 值v是標量評估,估計當前玩家從位置s獲勝的機率。 該神經網路將策略網路和價值網路12的角色結合到單一架構中。 神經網路包括許多殘差塊的卷積層,批量歸一化和整流器非線性(參見方法)。
AlphaGo Zero中的神經網路是通過一種新的強化學習演算法從自我遊戲中進行訓練。在每個位置,執行MCTS搜尋,由神經網路fθ指導。 MCTS搜尋輸出每次移動的機率π。這些搜尋機率通常選擇比神經網路fθ(s)的原始移動機率p更強的移動;因此,MCTS可能被視為強大的策略改提供者。使用改進的基於MCTS的策略來選擇每個動作,然後使用遊戲贏家z作為價值的樣本,可以自我搜尋 - 可以被視為強大的策略評估運算子。我們的強化學習演算法的主要思想是使用這些搜尋運算元。
圖1a |在AlphaGo Zero中自我強化學習。
該程式針對自己的遊戲s1,…,sT。在每個位置st中,使用最新的神經網路fθ執行MCTSαθ(參見圖2)。根據MCTS計算的搜尋機率選擇移動,
在〜πt。終端位置sT根據遊戲規則得分,以計算遊戲贏家z。 圖b,AlphaGo Zero的神經網路訓練。
神經網路將原始位置st作為其輸入,將其傳遞給具有參數θ的許多卷積層,
並且輸出表示移動的機率分布的向量pt和表示當前選手在位置st中獲勝的機率的標量值vt。更新神經網路參數θ以最大化策略向量pt與搜尋機率πt的相似性,並且使預測的勝者vt和遊戲勝者z之間的誤差最小化(參見等式(1))。新參數用於下一次自播的迭代。
在策略迭代過程中反覆22,23:更新神經網路的參數以使移動機率和值(p,v)=fθ(s)更接近匹配改進的搜尋機率和自播贏勝者(π,z);這些新參數用於下一次自我播放,使搜尋更加強大。圖1說明了自我播放訓練流水線。
MCTS使用神經網路fθ來引導其類比 (參見圖2)
搜尋樹中的每個邊(s,a)儲存先驗機率P(s,a),訪問次數N(s,a)和動作值Q(s,a)。每個類比從根狀態開始,并迭代地選擇最大化上限信賴度Q(s,a)+ U(s,a)的移動,其中U(s,a)αP(s,a)/
(1 + N(s,a))(參考12,24),直到遇到分葉節點s’。 (P(s’,·),V(s’))=fθ(s’),通過網路對該葉位置進行擴充和評估,僅基於兩個先驗機率和評估。在類比中遍曆的每個邊(s,a)被更新以增加其訪問次數N(s,a),並且將其動作值更新為對這些類比的均值估計,Q(s,a)= 1 / N( s,a)Σs’| s,a→s’V(s’)其中s,a→s’表示在從位置s移動a之後,類比最終達到s’。
MCTS可以被看作是一種自播演算法,給定神經網路參數θ和根位置s,計算推薦移動遊戲的搜尋機率向量,π=αθ(s),與每次移動的指數訪問次數成比例,πaαN(s,a)1 /τ,其中τ是溫度參數。
神經網路通過自我強化學習進行訓練,使用MCTS計算每個動作的演算法。
一,神經網路被初始化為隨機權重θ0。在每次後續迭代i≥1時,產生自己計算的遊戲(圖1a)。在每個時間步長t,MCTS searchπt=αθi-1(st)使用上述語句執行網路fθi-1,並通過對搜尋機率π進行採樣來進行移動。當兩個玩家通過時,當搜尋值下降到閾值以下或當遊戲超過最大長度時,遊戲終止於步驟T;然後遊戲得分,以給予決賽獎勵rT∈{-1,+ 1}(詳見方法)。每個資料時間步t儲存為(st,πt,zt),其中zt =±rT是遊戲贏家。
從步驟t的當前玩家的角度來看。並行地(圖1b),新的網路參數θ是從上一次自播的所有時間步長中均勻採樣的資料(s,π,z)進行訓練的。神經網路(p,v)=fθi(s)被調整為假設預測值v和自播贏者z之間的差異,並且最大化神經網路移動機率p與搜尋機率π的相似性。具體來說,通過對均方誤差和交叉熵損耗求和的損失函數l,通過梯度下降來調整參數θ(p,v)=fθ(s)和l =(z-v)2 -πTlogp + cθ2(1)其中c是控制L2權重正則化水平的參數
(防止過度配合)。 AlphaGo Zero的最終表現
我們隨後使用更大的神經網路和更長的期間將我們的強化學習流程應用於AlphaGo Zero的第二個執行個體。訓練再次從完全隨機的行為開始,持續約40天。
在訓練過程中,產生了二千九百萬次自娛自樂的遊戲。參數從310萬個小批次更新,每個2048個職位。神經網路包含40個殘差塊。學習曲線如圖6a所示。在擴充資料圖5和補充資訊中顯示了在訓練中定期進行的遊戲。
我們通過內部比賽對AlphaGo Fan,AlphaGo Lee和幾個以前的Go程式評估了全面訓練的AlphaGo Zero。我們還針對最強大的現有程式,AlphaGo Master - 基於本文中提出的演算法和架構的程式,(但使用人力資源和功能) - 線上上擊敗了最強大的人力專業人員60-0(在我們的評估中),所有的過程都被允許每次移動5次思維時間; AlphaGo Zero和AlphaGo Master都在4台TPU的單機上播放; AlphaGo Fan和AlphaGo Lee分別分布在176個GPU和48個TPU上。我們還包括一個完全基於AlphaGo Zero的原始神經網路的玩家;這個玩家只是以最大的機率選擇了移動。
圖6b顯示了每個程式在Elo量表上的效能。原始神經網路,沒有使用任何前瞻,實現了Eo評級為3,055。相比之下,AlphaGo Zero的評級為5,185
李(擊敗Lee Sedol),阿爾法·范(擊敗範慧)以及以前的Go程式瘋狂石,Pachi和GnuGo。每個程式每次都有5秒的考慮時間。 AlphaGo Zero和AlphaGo Master在Google Cloud上的一台機器上播放; AlphaGo Fan和AlphaGo Lee分布在許多機器上。還包括AlphaGo Zero的原始神經網路,其直接選擇最大機率pa的移動a,而不使用MCTS。計劃以Elo量表評估25:200分差距對應於75%的獲勝機率。
AlphaGo Master為4,858,AlphaGo Lee為3,739,AlphaGo Fan為3,144。
最後,我們評估了AlphaGo Zero的頭腦,與AlphaGo Master進行了一場100小時的比賽,並以2小時的時間控制。 AlphaGo Zero贏得89場比賽至11場(見擴充資料圖6和補充資料)。 結論
我們的研究結果全面表明,即使在最具挑戰性的領域,純粹的強化學習方法也是完全可行的:沒有人類的例子或指導,無法超越基本規則領域的知識,有可能訓練到超人的層面。 此外,與人類專家培訓的資料相比,純強化學習方法需要訓練幾個小時,並實現更好的漸近效能。 使用這種方法,AlphaGo Zero擊敗了AlphaGo的最強大的版本,它們使用手工製作的資源進行了大量的培訓。
人類已經從數百萬年來玩過的數百萬場遊戲中積累了Go的知識,共同融入了模式,資源和書籍。 在幾天的時間裡,Alphaura Zero能夠重新發現這些Go知識,以及為最古老的遊戲提供新的見解的新穎策略。