怎樣三天訓練出AI圍棋大師?教你AlphaGo Zero的3個trick

2020-12-03 量子位

原作 Seth Weidman夏乙 問耕 編譯自HackerNoon量子位 出品 | 公眾號 QbitAI

過去一年,AI領域最exciting的進展可能要數AlphaGo的不斷進步。AlphaGo Zero不僅提出了新的網絡架構,也帶來了一些新的神經網絡訓練技巧。

雖然DeepMind發表了論文,並在Reddit論壇上進行了一次公開答疑,後來還有人將AlphaGo Zero的算法實現了出來,但如何訓練?其中有哪些trick?

發表在HackerNoon上的一篇最新博客文章做出了直觀的解讀:

先從AlphaGo各個版本一脈相承的兩種方法說起:一是前瞻的蒙特卡洛樹搜索,二是憑「直覺」來對落子位置進行評估,也就是DeepMind所說的策略網絡和價值網絡。這兩種方法結合起來,構成了每一版AlphaGo的核心。

從更高的層面討論,AlphaGo Zero的工作方式和AlphaGo差不多,它們都使用了基於MCTS的前向搜索,並輔以神經網絡的指導。然而,AlphaGo Zero的神經網絡,或者說它的「直覺」,跟AlphaGo的訓練方式完全不同。

以下是三個你需要知道的tricks。

Trick 1:如何訓練AlphaGo Zero

所謂神經網絡學會下圍棋,就是能在當前的局面下,判斷出下一步的最佳落子位置。DeepMind發現,無論神經網絡智能程度如何,從一無所知到圍棋大師,使用MTCS總是更好的評估判斷方案。

從根本上來說,MCTS是一種前向搜索,如果有足夠的時間,人類圍棋大師也能完成。這個過程無非是不斷腦補棋局未來的變化,評估哪些「套路」可能是最佳方案。

舉個例子。第一種落子方案,最終可能導致平局,評估得分就是0.0。接著看第二種方案,神經網絡推算出這麼下可能會獲勝,評估得分為0.5。

這個過程一直持續進行的話,前向搜索總是能夠評估出更好的落子方案。

當然,這也要求神經網絡能夠判斷如何下棋落子能帶來勝利。基於MCTS的改進評估與神經網絡的當前狀態,智能體Agent不斷地展開自我對局。

DeepMind用來訓練AlphaGo Zero的數據,全部都是通過前向搜索和自我博弈產生的。

不使用人類下棋的數據,其實是一個trick。這樣的話,對於每個給定的局面,神經網絡都能通過執行基於MCTS的前向搜索,再用其提高智能體的棋力。

在這種方法的幫助下,AlphaGo Zero從一無所知成長為圍棋大師。

Trick 2: 雙頭怪

AlphaGo Zero的神經網絡,是一個「雙頭」架構。

這個網絡的前20層左右,是常見的神經網絡結構。然後跟著是兩個「頭」,一個頭取走了前20層的輸出,然後產生了下一步的落子概率,另一個頭基於同樣的數據,輸出當前局面的獲勝概率。

這是個不尋常的結構。幾乎所有的應用中,神經網絡都只給出一個固定的輸出。如果有兩個不同的輸出結果,應該如何學習呢?

答案很簡單。請記住,神經網絡的本質只是一些數學函數,包括一系列影響決策的參數。所謂訓練,就是反覆向神經網絡展示正確答案,讓網絡更新參數,使得輸出更接近正確答案。

所以,當我們使用一個頭進行預測時,只需要更新「身體」和「頭1」中的參數。而使用另一個頭時,更新「身體」和「頭2」中的參數。

這就是DeepMind訓練單一、雙頭神經網絡的方法,並且用其來指導MCTS的搜索。有點像AlphaGo使用了兩個單獨的神經網絡。這個trick在技術上被稱為硬參數共享的多任務學習(Multi-Task Learning with Hard Parameter Sharing)。

Trick 3: 殘差網絡

AlphaGo Zero還用了比之前版本更前沿的神經網絡架構:殘差網絡。

殘差網絡是2015年孫劍在微軟亞洲研究院帶領的團隊開發的,當時AlphaGo第一版的工作已經快要接近尾聲。

△ 殘差網絡和普通卷積神經網絡的比較

這兩種神經網絡相關的技巧——用殘差網絡架構替代卷積架構、用「雙頭怪」神經網絡替代各個單獨的神經網絡,都能讓整個網絡的性能增加一倍,兩者結合起來,性能又有提升。如下圖所示:

小結

上面三個tricks讓AlphaGo Zero展現出令人難以置信的能力。

值得注意的是,AlphaGo沒有使用任何經典或者前沿的強化學習概念,沒有Deep Q Learning,也沒有Asynchronous Actor-Critic Agents。

DeepMind只是使用了模擬的方法為神經網絡產生數據,然後以監督的方式學習。

Denny Britz曾經總結說:具有諷刺意味的是,強化學習在過去幾年裡的主要發展,都讓強化學習看起來不像強化學習,反而更像監督學習。

手把手訓練AlphaGo Zero

1、初始化神經網絡

2、讓神經網絡開始自我對弈,每一步進行1600次MCTS模擬,大概耗時0.4秒

3、隨著對弈數量的增長,從最近的50萬場比賽中,採樣2048個落子決定,以及比賽對應的輸贏情況。

4、使用MCTS前向搜索產生的落子評估,以及輸贏結果,一起對神經網絡進行訓練。

5、步驟3、4每進行1000次迭代,評估當前神經網絡與此前最佳版本。如果新版本勝率達到55%,就開始用其生成新的遊戲,而不再用此前的版本。

重複3、4步70萬次,自我對局不要停,三天後,你也能訓練出一個AlphaGo Zero。

對AI未來的啟示

DeepMind的成就,對於人工智慧研究的未來有很多啟示,以下是關鍵幾點:

第一,通過模擬產生的自我對弈數據對於神經網絡的訓練來說,已經足夠好了。這證明了模擬的自我對局數據能夠訓練AI智能體完成極其複雜的任務,超越人類表現,甚至能夠完全從0開始,根本不需要人類專家提供的數據。

第二,為了讓智能體在多個領域學習執行幾個相關任務,「雙頭」的trick能提供很大幫助。這似乎可以防止智能體的行為在任何單個任務上過擬合。DeepMind似乎非常喜歡這個trick,還用它的高級版本構建了可以在多個不同領域學習多個任務的智能體。

△ DeepMind的AI用多任務強化學習框架學習走迷宮

很多機器人項目,特別是用模擬環境訓練機器人使用四肢完成任務的領域裡,用這兩種技巧取得了不錯的效果。Pieter Abbeel在NIPS上的最新演講展示了很多令人印象深刻的新成果,這些成果用了很多前沿強化學習技術加上了這些trick。

實際上,機器人的運動對於「雙頭」來說是一個完美的使用場景,比如說,要教機器人打棒球,其實包含兩類動作,一是握住、揮動球棒,二是擊打一個運動中的物體。用「雙頭」,兩種動作的訓練就可以同時完成,因為這二者包含一些共同技能,比如平衡、轉體等等。

△ DeepMind將訓練AlphaGo Zero的技巧用到了機器人運動上

相關焦點

  • AlphaGo Zero用40天成為世界最強圍棋AI
    ZM-GO  | 周末圍棋 弈路伴你 點名關注
  • 深度解讀AlphaGo Zero 教你訓練一個「圍棋高手」
    深度解讀AlphaGo Zero 教你訓練一個「圍棋高手」 在2017年,深度學習和人工智慧都取得了驚人的進步
  • 深度解讀AlphaGo Zero,教你訓練一個「圍棋高手」
    技巧1:如何訓練AlphaGo ZeroDeepMind認識到,神經網絡無論多麼智能,想要「理解」圍棋遊戲,都要藉助MCTS。這些層後面有「兩個頭」:其中一頭,利用前20層的輸出,產生下一步落子獲勝的概率,另一個頭利用前20層的輸出,推理出當前玩家在此情形下最終獲勝的概率。這是很不尋常的。因為在幾乎所有應用中,神經網絡只有一個固定的輸出。如果一個網絡接收兩組信號,網絡如何學習?
  • 微信團隊開源圍棋AI技術PhoenixGo,復現AlphaGo Zero論文
    PhoenixGo 是騰訊微信翻譯團隊開發的人工智慧圍棋程序。據介紹,該項目由幾名工程師在開發機器翻譯引擎之餘,基於 AlphaGo Zero 論文實現,做了若干提高訓練效率的創新,並利用微信伺服器的閒時計算資源進行自我對弈,緩解了 Zero 版本對海量資源的苛刻需求。
  • 從零開始下圍棋 AlphaGo Zero更加強大
    AlphaGo Zero最厲害的地方在於,它不需要人類專家的指導,就能通過自我強化學習來進行訓練。直白一點地說,之前打敗圍棋大師李世石的AlphaGo可能需要人類給它提供各種高手棋譜來進行訓練,而Zero就是一個完全的小白,人類也不用教它什麼,只需要告訴它規則,它就能完全通過自學的方法來掌握圍棋。
  • 柯潔終結41連勝圍棋AI:稱其實力遠超初代AlphaGo
    人類AI圍棋之爭,還在繼續。今年5月底,人機圍棋大戰終極對決,最終世界排名第一的柯潔九段和AlphaGo的圍棋終極人機大戰以0:3完敗。賽後,柯潔在接受採訪時直言,AlphaGo太完美,看不到任何勝利的希望。
  • 【話題】AlphaGo Zero!圍棋之神真來了……
    2016年3月,第一次「人機大戰」,Alpha Go1.0版4比1擊敗14個世界冠軍獲得者李世石九段;因為這些改進,Alpha Go Zero的表現和訓練效率都有了很大的提升,僅通過4塊TPU和72小時的訓練就勝過之前訓練用時幾個月的原版Alpha Go。
  • AlphaGo 圍棋教學工具已發布
    3. 所有AlphaGo的勝率與推薦下法,AlphaGo都思考將近10分鐘(1000萬次模擬)。4. 每一個開局變化,AlphaGo都固定延伸20步棋。加上AlphaGo的下法,整個教學工具約有2萬個分支變化,37萬個盤面。受限於投稿《自然》雜誌的時程,本教學工具使用的版本是AlphaGo Master。
  • 棋壇至尊AlphaGo Zero,不止震驚了圍棋界
    【弈客圍棋APP 記錄你的圍棋人生】 倫敦當地時間2017年10月18日18:00(北京時間19日01
  • 從零開始,AlphaGo Zero是怎樣探索圍棋極限的?其進步意義在哪?
    新版的AlphaGo計算能力空前強大,完全從零開始,不需要任何歷史棋譜的指引,3天超越AlphaGo李世石版本,21天達到Master水平。百戰百勝,棋藝增長遠超阿法狗, 擊潰阿爾法狗100-0。這是迄今最強大的圍棋程序:不需要參考人類任何的先驗知識,完全靠自己一個人強化學習(reinforcement learning)和參悟,直接採用自對弈進行訓練。
  • DeepMind 推出 AlphaGo 圍棋教學工具,圍棋學習新紀元來啦?
    從官網上可以看到,該工具通過利用 231000 盤人類棋手對局、75 盤 AlphaGo 與人類棋手對局的數據,能對圍棋近代史上 6000 種比較常見的開局給出分析。通過這個工具,大家可以探索圍棋奧妙,比較 AlphaGo 的下棋路數與專業選手、業餘選手的不同點,從中學習。官網上對於工具的使用也有相關說明:如何使用這一工具?
  • 棋跡:少年AlphaGo Zero的圍棋成長之路
    想在圍棋上贏,你需要雙系統:行棋與勝負,一個斷生死,一個斷地盤。而AlphaGo Zero下圍棋,卻只需要一個系統,它同時包含了走子策略網絡和價值網絡。針對AlphaGo Zero的報導鋪天蓋地,官方解釋不如生動展示。烏鎮智庫整理出兩大有趣的解讀模塊,從圍棋知識徵子入手與雙遊戲對比,後附AlphaGo Zero訓練棋盤復盤,帶你感受Zero的真實段位。
  • 孫劍解讀AlphaGo Zero:圍棋有了終極的解
    而這一次的無師自通,是把人授棋譜的過程去掉了,也就是說沒有人類老師教你怎麼下棋這個過程,那這個意義上來說,確實是第一次做到無師自通,這也為什麼AlphaGo Zero大家這麼關注的原因,也是它在學術界對工業界,大家對這個問題認識上的理解,因為其實就算如果沒有做出來,研究其實是最深是你相信還是不相信,你的認識是什麼樣的,第一次破除了這個認識,還是之前學了很多知識,這個是脫開人的,這個是真正第一次脫離人類老師來教他怎麼下棋這件事情
  • 手把手:AlphaGo有啥了不起,我也能教你做一個(附Python代碼)
    大數據文摘作品編譯:葉一、Chloe、彭湘偉、錢天培在2016年3月,Deepmind研發的AlphaGo以4:1的成績,擊敗了曾榮獲18次世界冠軍的圍棋選手,李世石一臺機器已經學會了一種超越人類的圍棋策略。這在以前被認為是一項不可能完成的任務,或者至少需要十年之功。AlphaGo與李世石的第3場比賽這已是一項了不起的成就。
  • 解讀:AlphaGo 是如何被訓練成圍棋之神?
    這樣,設計一個圍棋人工智慧的程序,就轉換成為了,任意給定一個s狀態,尋找最好的應對策略a,讓你的程序按照這個策略走,最後獲得棋盤上最大的地盤。如果你想要設計一個特別牛逼驚世駭俗的圍棋程序,你會從哪裡開始呢?
  • 阿爾法狗之後的圍棋世界
    這裡有個好玩的八卦,柯潔一度在騰訊圍棋與一些非頂尖職業棋手下讓2子棋,常理來說,職業棋手之間讓2子棋是不太可能的事情,但柯潔勝率並不低,而且還有一盤棋引發了關於讓2子棋中國規則勝負關係的討論。不過對手作為職業棋手,讓2子棋下出盤面相當的情況,這個差距已經相當顯著了,再去爭論所謂輸贏其實已經沒啥意義了。
  • 柯潔回應新版本AlphaGo問世:人類太多餘了
    經過大約40天的訓練(約2900萬場自玩遊戲),AlphaGo Zero擊敗了AlphaGo Master(今年早些時候擊敗了世界冠軍柯潔)。對此,柯潔回應稱:「一個純淨、純粹自我學習的alphago是最強的...對於alphago的自我進步來講...人類太多餘了。」
  • AlphaGo之父詳解「圍棋上帝」是怎樣煉成的
    自從去年3月首爾那場載入史冊的比賽以來,AlphaGo超越人類棋手固有思維和套路的招法,對圍棋界的衝擊史無前例。用Demis Hassabis 的話說,「就像人們利用哈勃望遠鏡發現新的宇宙空間一樣。AlphaGo就是圍棋界的『哈勃天文望遠鏡』。」
  • AlphaGo Zero橫空出世,人機圍棋大戰正式收官:以後不會再有這樣的...
    2016年3月9日,韓國首爾四季酒店,在谷歌發起的「人機大戰」第一局中,手握14個世界冠軍頭銜的韓國圍棋天王李世石轟然倒下,最終AlphaGo以4:1贏得這場比賽。17年年初,AlphaGo化身Master後創造了連續60場對人類不敗的恐怖戰績,因此圍棋界都希望能夠有一名大神站出來打敗AlphaGo,以證明人類的實力。
  • AlphaGo Zero橫空出世,從零學習造恐怖記錄【附83盤棋譜】
    10月19日凌晨,在國際學術期刊Nature上發表的一篇研究論文中,谷歌下屬公司Deepmind報告新版程序AlphaGo Zero:從空白狀態學起,在無任何人類輸入的條件下,它能夠迅速自學圍棋