1. 程式人生 > >AlphaGo論文的譯文,用深度神經網路和樹搜尋征服圍棋:Mastering the game of Go with deep neural networks and tree search

AlphaGo論文的譯文,用深度神經網路和樹搜尋征服圍棋:Mastering the game of Go with deep neural networks and tree search

前言:

圍棋的英文是 the game of Go,標題翻譯為:《用深度神經網路和樹搜尋征服圍棋》。譯者簡介:大三,211,電腦科學與技術專業,平均分92分,專業第一。為了更好地翻譯此文,譯者查看了很多資料。譯者翻譯此論文已盡全力,不足之處希望讀者指出。

AlphaGo的影響之下,全社會對人工智慧的關注進一步提升。3月12日,AlphaGo 第三次擊敗李世石。在3月15日總比分定格為4:1,隨後AlphaGo的圍棋排名世界來到第二。

編者按:2014年5月,人們認為至少需要十年電腦才能擊敗職業選手。筆者在翻譯的時候忠實於原文,很少加入自己的理解(本人不敢說有啥深入理解可言)。最終翻譯結果可能不好。但是對於本人而言,翻譯這篇文論的過程大於結果:一篇一萬字的中文翻譯,背後是十萬中英文資料的閱讀。

譯文

標題:用深度神經網路和樹搜尋征服圍棋

作者:David Silver 1 , Aja Huang 1 , Chris J. Maddison 1 , Arthur Guez 1 , Laurent Sifre 1 , George van den Driessche 1 , Julian Schrittwieser 1 , Ioannis Antonoglou 1 , Veda Panneershelvam 1 , Marc Lanctot 1 , Sander Dieleman 1 , Dominik Grewe 1 , John Nham 2 , Nal Kalchbrenner 1 , Ilya Sutskever 2 , Timothy Lillicrap 1 , Madeleine Leach 1 , Koray Kavukcuoglu 1 , Thore Graepel 1 , Demis Hassabis 1
他們來自 Google DeepMind 英國團隊(用1表示), Google 總部(用2表示)
David Silver , Aja Huang是並列第一作者

摘要:人們長久以來認為:圍棋對於人工智慧來說是最具有挑戰性的經典博弈遊戲,因為它的巨大的搜尋空間,評估棋局和評估落子地點的難度。我們給電腦圍棋程式引入一種新的方法,這個方法使用估值網路來評估棋局,以及使用策略網路來選擇如何落子。這些深度神經網路被一種新的組合來訓練:使用了人類專業比賽資料的監督學習,以及自我對弈的強化學習。沒有使用任何預測搜尋的方法,神經網路下圍棋達到了最先進的蒙特卡洛樹搜尋程式的水準,這程式模擬了數以千計的自我對弈的隨機博弈。我們同時也引入了一種新的搜尋演算法,這演算法把蒙特卡洛模擬和估值、策略網路結合在一起。運用了這個搜尋演算法,我們的程式AlphaGo在和其它圍棋程式的對弈中達到了99.8%的勝率,並且以5:0的比分擊敗了歐洲冠軍,這是史上第一次計算機程式在全尺寸圍棋中擊敗一個人類職業棋手。在此之前,人們認為需要至少十年才會達成這個壯舉。

引言

所有完全資訊博弈都有一個最優估值函式v(s),它在判斷了每個棋局或狀態 s 之後的博弈結果的優劣(在所有對手完美髮揮的情況下)。解決這些博弈可以通過在搜尋樹中遞迴呼叫最優估值函式,這個搜尋樹包含大約bd種可能的下棋序列,其中 b 是博弈的廣度(每一次下棋時候的合法落子個數),d 是的深度(博弈的步數長度)。在大型博弈中,比如國際象棋(b35,d80),和特別是圍棋(b250,d150),窮舉搜尋是不可行的的,但是有效的搜尋空間可以通過兩種通用的原則減少。第一,搜尋的深度可以通過棋局評估降低:在狀態 s 時對搜尋樹進行剪枝,然後用一個近似估值函式v(s)v(s)取代狀態 s 下面的子樹,這個近似估值函式預測狀態 s 之後的對弈結果。這種方法已經在國際象棋,國際跳棋,黑白棋中得到了超越人類的下棋能力,但是人們認為這種方法在圍棋中是難以處理的,因為圍棋的巨大的複雜度。第二,搜尋的廣度可以通過來自策略 p(as)的取樣動作來降低,這個策略是一個在位置 s 的可能下棋走子a 概率分佈。比如蒙特卡洛走子方法搜尋到最大深度時候根本不使用分歧界定法,它從一個策略 p 中採集雙方棋手的一系列下棋走法。計算這些走子的平均數可以產生一個有效的棋局評估,在西洋雙陸棋戲和拼字遊戲中獲得了超出人類的效能表現,並且在圍棋中達到了業餘低段水平。

蒙特卡洛樹搜尋使用蒙特卡洛走子方法,評估搜尋樹中每一個狀態的估值。隨著執行越來越多的模擬,這個搜尋樹成長越來越大,而且相關估值愈發精確。用來選擇下棋動作的策略在搜尋的過程中也會隨著時間的推移而改進,通過選擇擁有更高估值的子樹。漸近的,這個策略收斂到一個最優下法,然後評估收斂到最優估值函式。目前最強的圍棋程式是基於蒙特卡洛樹搜尋的,並且受到了策略的增強,這個策略被人訓練用來預測專家棋手的下法。這些策略用來縮窄搜尋空間到一束高可能性下棋動作,和用來在走子中採集下法動作。這個方法已經達到了業餘高手的級別。然而,先前的工作已經受到了膚淺策略的限制或基於輸入的線性組合的估值函式的限制。

最近,深度卷積神經網路已經在計算機視覺中達到了空前的效能:比如影象分類,人臉識別,和玩雅達利的遊戲。它們使用很多層的神經網路,層與層之間像瓦片重疊排列在一起,用來構建圖片的愈發抽象的區域性代表。我們為圍棋程式部署了類似的體系架構。我們給程式傳入了一個19*19大小棋局的圖片,然後使用卷積神經網路來構建一個位置的代表。我們使用這些神經網路來降低搜尋樹的有效的深度和廣度:通過估值網路來評估棋局,和使用策略網路來博弈取樣。

我們使用一個包含多個不同階段的機器學習方法的管道來訓練神經網路。我們開始使用一個監督學習(SL)策略網路 pδ,它直接來自人類專家的下棋。這提供了快速高效的學習更新,擁有快速的反饋和高質量的梯度。和向前的工作類似,我們同時也訓練了一個可以迅速從走子中取樣的快速策略 pπ。其次,我們訓練了一個強化學習(RL)策略網路,pp,它通過優化自我對弈的最終結局來提升 SL策略網路。這調整策略網路朝向贏棋的正確目標發展,而不是最大化提高預測精度。最後,我們訓練了一個估值網路vθ,它預測博弈的贏者,通過和RL策略網路和自己對弈。我們的AlphaGo程式有效的把策略網路、估值網路,和蒙特卡洛搜尋樹結合在一起。

1 策略網路的監督學習

在訓練管道的第一階段,我們在先前工作的基礎上,使用了監督學習來預測人類專家下圍棋。監督學習(SL)策略網路pδ(as)在重量δ的卷積層和非線性的整流器中替換。策略網路的輸入 s 是一個棋局狀態的簡單代表(如擴充套件資料表2)。策略網路使用了隨機取樣狀態-動作對(s,a),使用了隨機梯度遞增來最大化人類在狀態 s 選擇下棋走子 a 的可能性。
公式1
我們用KGS圍棋伺服器的3千萬個棋局,訓練了13層的策略網路(我們稱之為SL 策略網路)。在輸入留存測試資料的所受特徵的時候,這個網路預測人類專家下棋的精準的達到了57%,而且在僅僅使用原始棋局和下棋記錄的時候,精度達到了55.7%。與之相比,截至到本篇文論提交(2015年),其他研究團隊的最先進的精度是44.4%(全部結果在擴充套件資料表3)。在精確度方面的小提升會引起下棋能力的很大提升(圖片2,a);更大的神經網路擁有更高的精確度,但是在搜尋過程中評估速度更慢。我們也訓練了一個更快的但是精確度更低的走子策略pπ(as),它使用了一個權重為π的小型模式特徵的線性softmax。它達到了24.2%的精確度,每選擇下一步棋只用2微秒,與之相比,策略網路需要3毫秒。

figure 1
圖1:神經網路訓練管道和體系結構a:在一個棋局資料集合中,訓練一個快速走子策略pπ和監督學習(SL)策略網路pδ用來預測人類專家下棋。一個強化學習(RL)策略網路pρ由SL策略網路初始化,然後由策略梯度學習進行提高。和先前版本的策略網路相比,最大化結局(比如贏更多的博弈)。一個新的資料集合產生了,通過自我對弈結合RL策略網路。最終通過迴歸訓練,產生一個估值網路vθ,用來在自我對弈的資料集合中預測期待的結局(比如當前棋手是否能贏)。b:AlphaGo使用的神經網路體系架構的原理圖代表。策略網路把棋局狀態 s 當作輸入的代表,策略網路把 s 傳輸通過很多卷積層(這些卷積層是引數為δ的SL策略網路或者引數為ρ的RL策略網路),然後輸出一個關於下棋動作 a 的概率分佈 pδ(as)orpρ(as),用一個棋盤的概率地圖來表示。估值網路類似的使用了很多引數θ的卷積層,但是輸出一個標量值vθ(s)用來預測棋局狀態 s後的結局。

圖片2
圖2:策略網路和估值網路的能力和精確度。a圖顯示了策略網路的下棋能力隨著它們的訓練精確度的函式。擁有128,192,256,384卷積過濾每層的策略網路在訓練過程中得到週期性的評估;這個圖顯示了AlphaGo使用不同策略網路的贏棋概率隨著的不同精確度版本的AlphaGo的變化。b:估值網路和不同策略網路的評估對比。棋局和結局是從人類專家博弈對局中取樣的。每一個棋局都是由一個單獨的向前傳遞的估值網路vθ評估的,或者100個走子的平均值,這些走子是由統一隨機走子,或快速走子策略pπ,或 SL 策略網路pδ,或 RL 策略網路pρ。圖中,預測估值和博弈實際結局之間的平均方差隨著博弈的進行階段(博弈總共下了多少步)的變化而變化。

2 策略網路的強化學習

訓練管道第二階段的目標是通過策略梯度強化學習(RL)來提高策略網路。強化學習策略網路pρ在結構上和 SL策略網路是一樣的,權重ρ初始值也是一樣的,ρ=δ。我們在當前的策略網路和隨機選擇某先前一次迭代的策略網路之間博弈。從一個對手的候選池中隨機選擇,可以穩定訓練過程,防止過度擬合於當前的策略。我們使用一個獎勵函式 r(s),對於所有非終端的步驟 t < T,它的值等於零。從當前棋手在步驟 t 的角度來講,結果 zt=±r(sT)是在博弈結束時候的終端獎勵,如果贏棋,結果等於 +1,如果輸棋,結果等於 -1。然後權重在每一個步驟 t 更新:朝向最大化預期結果的方向隨機梯度遞增
公式2
我們在博弈過程中評估 RL策略網路的效能表現,從輸出的下棋動作的概率分佈,對每一下棋動作atpp(st)進行取樣。我們自己面對面博弈,RL策略網路對 SL策略網路的勝率高於80%。我們也測試了和最強的開源圍棋軟體 Pachi 對弈,它是一個隨機的蒙特卡洛搜尋程式,在KGS中達到業餘2段。在沒有使用任何搜尋的情況下,RL策略網路對 Pachi的勝率達到了85%。與之相比,之前的最先進的僅僅基於監督學習的卷積網路,對 Pachi的勝率僅只有11%,對稍弱的程式 Fuego的勝率是12%。

3 估值網路的強化學習

訓練管道的最後一個階段關注於棋局評估,評估一個估值函式 vp(s),它預測從棋局狀態 s 開始,博弈雙方都按照策略網路 p 下棋的結局,
公式3
理想情況下,我們期望知道在完美下法v(s)情況下的最優值;然而在現實中,我們使用 RL策略網路,來評估估值函式vPp,作為我們的最佳策略。我們使用權重是θ的估值網路 vθ(s)來逼近估值函式,vθ(s)vPpv(s)。這個神經網路和策略網路擁有近似的體系結構,但是輸出一個單一的預測,而不是一個概率分佈。我們通過迴歸到狀態-結果對(s, z)來訓練估值網路的權重,使用了隨機梯度遞減,最小化預測估值

相關推薦

AlphaGo論文譯文深度神經網路搜尋征服圍棋Mastering the game of Go with deep neural networks and tree search

前言: 圍棋的英文是 the game of Go,標題翻譯為:《用深度神經網路和樹搜尋征服圍棋》。譯者簡介:大三,211,電腦科學與技術專業,平均分92分,專業第一。為了更好地翻譯此文,譯者查看了很多資料。譯者翻譯此論文已盡全力,不足之處希望讀者指出

Mastering the game of Go with deep neural networks and tree search譯文

用深度神經網路和樹搜尋征服圍棋 作者:David Silver 1 , Aja Huang 1 , Chris J. Maddison 1 , Arthur Guez 1 , Laurent Sifre 1 , George van den Driessche

論文翻譯Mastering the Game of Go without Human Knowledge (第一部分)

將在 過程 methods 簡單的 能力 概率 通用 依靠 有著 長久以來,人工智能的一個目標是在那些具有挑戰性的領域實現超過人類表現的算法。最近,AlphaGo成為了在圍棋上第一個打敗了世界冠軍的程序。在AlphaGo中,使用深度神經網絡來進行樹搜索,評估位置,和選擇下一

深度神經網路搭建馬賽克神器高清無碼效果感人

目錄 專案背景 適用範圍 使用方法 專案背景 相信一提起馬賽克這個東西,不少小夥伴都痛心疾首,雖然最近幾年也頻繁傳出有在研發去除馬賽克的軟體,一直沒有成品問世。不過最近一位程式設計師及經過不斷努力終於完成了這款軟體。 據悉這位程式設計師“deeppomf

蘋果解密如何在手機上深度神經網路進行人臉識別

千平 編譯整理 量子位 出品 | 公眾號 QbitAI 蘋果公司的計算機視覺機器學習團隊,最近發表了一篇部落格,介紹了蘋果如何在手機上實現用深度神經網路進行人臉識別。 蘋果首次公開發布人臉檢測API,是通過Core Image框架的CIDetector識別類。這個API也用在“照片”等蘋果的Ap

深度神經網路處理NER命名實體識別問題

本文結構: 什麼是命名實體識別(NER) 怎麼識別? cs224d Day 7: 專案2-用DNN處理NER問題 課程專案描述地址 什麼是NER? 命名實體識別(NER)是指識別文字中具有特定意義的實體,主要包括人名、地名、機構名、專有

AlphaGo演算法論文 神經網路搜尋擊敗李世石

人機大戰   公眾號 資料精簡DataSimp   資料精簡DataSimp分享:資訊與資料探勘分析、資料科學研究前沿、資料資源現狀和資料簡化基礎的學科知識、技術應用、產業科研、人物機構、新聞活動等資訊。歡迎大家積極參與投稿,為資料科學產學研做貢獻,使國人儘快提高人類資訊管理能力,提高社會資訊流通效率。

論文筆記 / Mitosis Detection in Breast Cancer Histology Images with Deep Neural Networks

僅供參考,如有翻譯不到位的地方敬請指出。轉載請標明出處! 論文地址:https://link.springer.com/chapter/10.1007/978-3-642-40763-5_51 摘要 我們使用含有最大池化層的深度卷積神經網路來檢測乳腺組織學影象中的有絲分裂。訓練網路以

【醫學影像】《Dermatologist-level classification of skin cancer with deep neural networks論文筆記

這是一篇關於面板癌分類的文章,核心就是分類器,由斯坦福大學團隊發表,居然發到了nature上,讓我驚訝又佩服,雖然在方法上沒什麼大的創新,但是論文字身的工作卻意義重大,並且這篇17年見刊的文章,引用量已經達到1300多,讓人佩服,值得學習。 【出發點】現有的面板癌分類系統由於資料量不夠,同時只針對標準化的影

基於深度神經網路的高光譜影響分類方法研究---MNF+自動編碼器+Softmax (準確率比較低17年的論文

論文地址基於深度神經網路的高光譜影響分類方法研究裝備學院學報遙感影像分類的問題:預處理複雜,高維特徵提取困難,分類不夠精確等缺陷首先採用最大噪聲分數來降低特徵空間維度,然後將自動編碼器與softmax多

深度神經網路適用於小型指令碼文字相關的語音驗證

DEEP NEURAL NETWORKS FOR SMALL FOOTPRINT TEXT-DEPENDENT SPEAKER VERIFICATION d-ivector系統優於i-ivector系統。 我們還嘗試了DNN培訓的不同配置。如果沒有maxo

深度神經網路優化論文總結

1、HanS, Mao H, Dally W J. Deep Compression: Compressing Deep NeuralNetworks with Pruning, Trained Quantization and Huffman Coding[J].Fiber, 2015,

周志華滿足這三大條件可以考慮不用深度神經網路

出品 | AI科技大本營(公眾號ID:rgznai100)AI科技大本營按:4 月 15 日舉辦

從AlexNet到MobileNet帶你入門深度神經網路

哈爾濱工業大學的沈俊楠分享了典型模式-深度神經網路入門。本文詳細介紹了關於深度神經網路的發展歷程,並詳細介紹了各個階段模型的結構及特點。直播回顧請點選以下是精彩視訊內容整理:問題引出學習知識從問題引出入手是一個很好的方法,所以本文將可以圍繞下面三個問題來展開:1.DNN和CNN有什麼不同?有什麼關係?如何定義

spark訓練深度神經網路

SparkNet: Training Deep Network in Spark 這篇論文是 Berkeley 大學 Michael I. Jordan 組的 ICLR2016(under review) 的最新論文,有興趣可以看看原文和原始碼:paper,github

【火爐煉AI】深度學習003-構建並訓練深度神經網路模型

【火爐煉AI】深度學習003-構建並訓練深度神經網路模型 (本文所使用的Python庫和版本號: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 ) 前面我們講解過單層神經網路模型,發現它結構簡單,難以解決一些實際的比較複雜的問題,故而現

#####好好好好####Keras深度神經網路訓練分類模型的四種方法

Github程式碼: Keras樣例解析 歡迎光臨我的部落格:https://gaussic.github.io/2017/03/03/imdb-sentiment-classification/ (轉載請註明出處:https://gaussic.github.io) Keras的官方E

卷積神經網路自注意力機制實現QANet(問答網路

歡迎大家關注我們的網站和系列教程:http://www.tensorflownews.com/,學習更多的機器學習、深度學習的知識! 在這篇文章中,我們將解決自然語言處理(具體是指問答)中最具挑戰性但最有趣的問題之一。我們將在Tensorflow中實現Google的QANet。就像它

估算深度神經網路的最優學習率

學習率如何影響訓練? 深度學習模型通常由隨機梯度下降演算法進行訓練。隨機梯度下降演算法有許多變形:例如 Adam、RMSProp、Adagrad 等等。這些演算法都需要你設定學習率。學習率決定了在一個小批量(mini-batch)中權重在梯度方向要移動多遠。 如果學習率很低,訓練會變得更

深度學習筆記(四)——神經網路深度學習(淺層神經網路

1.神經網路概覽 神經網路的結構與邏輯迴歸類似,只是神經網路的層數比邏輯迴歸多一層,多出來的中間那層稱為隱藏層或中間層。從計算上來說,神經網路的正向傳播和反向傳播過程只是比邏輯迴歸多了一次重複的計算。正向傳播過程分成兩層,第一層是輸入層到隱藏層,用上標[1]來表示;第二層是隱藏層到輸出層,用上標