Leela Zero

Leela Zero是由比利時程式設計師起頭所開發的電腦圍棋軟體,以及相關的運算計畫。專案在2021年2月15日已經中止,並推薦改參與SAI與KataGo》所實做出的開源電腦圍棋程式,也就是不使用人類棋譜與累積的圍棋知識,僅實做圍棋規則,使用單一類神經網路從自我對弈中學習(不像AlphaGo以人類角度思考,設計了Policy Network與Value Network)。

軟體使用蒙特卡洛树搜索(MCTS)模擬與ResNet,這個規則的貼目雖然與中國規則相同,都是由黑棋貼7.5目,但在某些情境下可能會有差異。

程式碼部份,用戶端對弈的程式碼與訓練的程式碼以GPLv3授權公開;資料的部份,訓練對弈資料以及訓練對弈的原始資料也可以公開下載。

與論文的差異
初期時Leela Zero在確認演算法以及程式是否實做正確,所以對論文裡提到的部份參數進行調整,以加快驗證速度:

; 類神經網路的架構
: AlphaGo Zero使用20 blocks或40 blocks,配上256 filters),一開始使用
:* 1 block x 8 filters(2017年11月10日,第0代),並逐步換成
:* 4 blocks x 32 filter(2017年11月17日,第2代,訓練約1.9萬盤時)、
:* 5 blocks x 64 filters(2017年11月21日,第5代,約13.7萬盤時)、
:* 6 blocks x 128 filters(2018年1月20日,第58代,約286萬盤時)、
:* 10 blocks x 128 filters(2018年3月5日,第92代,約481萬盤時)、
:* 15 blocks x 192 filters(2018年4月9日,第117代,約664萬盤時)、
:* 20 blocks x 256 filters(2018年7月28日,第158代,約872萬盤時),到目前使用的
:* 40 blocks x 256 filters(2018年9月4日,第174代,約997萬盤時)(在2018年1月1號前因為有bug,導致只會使用最新的(約)16萬盤自我對戰結果進行訓練),在10 blocks x 128 filters後改用最新的50萬盤自我對戰結果訓練。
; 蒙特卡洛树搜索(MCTS)的模擬的次數
: AlphaGo Zero在論文裡提到自我訓練或正式對弈時,每一步都使用1600次模擬。

這些調整是希望在比較小的網路與訓練盤數下快速確認程式的正確性。在後來受到更多關注後,有更多的計算資源與人力投入Leela Zero計畫之中,使得Leela Zero的強度迅速提昇,甚至已經超越先前開發的Leela以及其他對手,所以在2017年十一月開始,讓自願者使用自己的硬體,透過作者群開發的AutoGTP程式參加分散式運算計畫(以GTP自動與伺服器溝通以取得計算工作),另外自0.10版支援純CPU版本(不需GPU),現有演算法的最佳化以及新演算法的引入,這些因素大幅提昇了整體的計算速度。

Leela Zero官方曾鼓勵參與者使用Google Colaboratory所提供的免費運算資源幫助訓練,但後來因為文件裡的操作步驟過時而失效而移除文件。

在2019年十一月時,由於個人時間的限制,加上最近的50萬盤沒有推進,而且其他的專案有不錯的前景(包括SAI與KataGo),宣佈先將訓練盤數加到75萬盤以確認是否到了極限,並暫定於2020年1月31日結束這次長達兩年的訓練。

合作
Minigo
Minigo同樣也是依照AlphaGo Zero論文所獨立實做出來的軟體,而Minigo專案取得Google贊助的計算資源。

ELF OpenGo
ELF OpenGo是Facebook依照AlphaGo Zero與AlphaZero所實做出來的軟體,由於Facebook使用大量資源運算(使用2000顆GPU計算兩週)並公開訓練網路資料,Leela Zero團隊得以將資料轉換為Leela Zero可以使用的格式(Hash值為62b5417b。

成績
CGOS
在CGOS()上會有志願者將每次演化的版本掛上進行測試(19x19)以比較與其他圍棋軟體的差距。

名稱
程式名稱會以LZ或LeelaZero之類的名稱命名。大致上有幾個不同的版本,像是使用訓練網路的Hash值為名(如LZ-d6f3a6-t1-p1600),或是使用訓練世代的次數為名(如LZ-000-p1600-t1-r1)。

特例
有幾個特別的訓練網路不是自我訓練產生,而是透過人類頂尖棋手的對弈棋譜產生,用以作為階段性的指標。

名為LZ-HBest1-t1-p1600{{notetag|Hash值為1e2b85cf611d5ede3f8d77ddc56a7bd79a7f1e51a647ddea428b92c00fdf2612,偶而會以1e2b85cf出現在Test Matches的Network Hashes上所產生的的版本(BayesElo約2650分)。

另一個帳號是LZH256x20-t4-nolim,也是使用20 blocks x 256 filters訓練網路,但以CGOS的時間限制,找出Leela Zero的程式與人類棋譜訓練的網路可以達到的最高成績(BayesElo約3610分。在CGOS上測試比較完整的基準參數是t1-p1600(Thread 1、Playouts 1600),但目前(2018年四月)已暫時沒有使用這個參數測試訓練網路:

  • 在LZ-c99f1a-t1-p1600(第36代,約136萬盤訓練)的BayesElo分數約1830分(第41代,約146萬盤訓練)後可以穩定對GNU Go獲勝。此時BayesElo分數約2000分(第57代,約266萬盤訓練)的BayesElo分數約2480分(第58代,約286萬盤訓練)的BayesElo分數約2460分(第65代,約314萬盤訓練)的BayesElo分數約2670分。

2018世界人工智慧圍棋大賽
在預賽取得第三名,僅輸給PhoenixGo與絕藝。

相關連結

  • AlphaGo Zero,Leela Zero所參考的論文所實做的電腦圍棋軟體。
  • ELF OpenGo,由Facebook團隊依照AlphaGo Zero論文所實做的開源電腦圍棋軟體,並將訓練的數據被Leela Zero團隊納入。
  • Leela,同作者的上一代電腦圍棋軟體。
  • Minigo,另外一套開源電腦圍棋軟體。
  • SAI,改自Leela Zero但支援動態貼目的圍棋軟體。
  • 计算机围棋
  • 圍棋軟體

參考資料
註解
外部連結
*

*[https://github.com/gcp/leela-zero Leela Zero] on GitHub
*[https://senseis.xmp.net/?LeelaZero Leela Zero] on Sensei's Library
*[https://www.zbaduk.com/playbot Play Leela Zero] on ZBaduk

评论 (0)

  • 还没有评论,来抢沙发吧。