Minigo

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋
Minigo
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫github.com/tensorflow/minigo
    程式語言PythonC++
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      類型電腦圍棋
      許可協定Apache License 2.0[1]
      網站github.com/tensorflow/minigo

      Minigo是一套電腦圍棋軟件。

      簡介[編輯]

      Minigo是一套依照Google DeepMind在《自然》上對於AlphaGo Zero所發表的論文《Mastering the game of Go without human knowledge[2]》所實做出的開源電腦圍棋程式[3],也就是不使用人類棋譜與累積的圍棋知識,僅實做圍棋規則,使用單一類神經網絡從自我對弈中學習(不像AlphaGo以人類角度思考,設計了Policy Network與Value Network)。

      軟件是基於Brain Lee的MuGo繼續開發,使用PythonC++撰寫,並且透過TensorFlow實做類神經網絡的部份[3]。程式碼以Apache License 2.0釋出[1],訓練資料以公有領域Public domain)釋出[4]

      專案的目標包括了[3]

      除此之外,專案也希望藉由獨立另外實做,驗證Leela Zero所產生的疑問[5]

      與Google及DeepMind的關聯[編輯]

      這個計劃雖然是掛在TensorFlowGitHub下(且TensowFlow是由Google研發出的軟件),而且主要的專案貢獻者Andrew Jackson[6][註 1]與Tom Madams[註 2]都是Google員工,但官方一再強調這並非TensorFlow專案的一環[5],也不是Google DeepMindAlphaGo官方版本,而是由獨立的團隊依照AlphaGo Zero的論文而實做出的版本[3][7]

      版本演進[編輯]

      雖然GoogleGoogle DeepMind沒有正式參與Minigo計劃,但Andrew Jackson使用的是Google所提供的20%時間[5],並且得到Google贊助提供硬件資源進行運算,供Minigo團隊確認程式正確性[3][8]

      第一階段(2017年十月)
      使用約1000 CPU cores(沒有GPU)跑兩週,訓練9x9棋盤,主要是確認程式實做的正確性。
      第二階段(2017年十二月至2018年一月)
      使用約1000 GPU跑四個禮拜,訓練19x19棋盤,使用20 blocks x 128 filters,在更大的規模上邊修正bug,邊對程式做出各類改善,並摸索論文裏沒有提到的細節要如何實做。在160個迭代(generation)後,團隊將訓練結果放到KGSCGOS上對弈,以somebot為名,後面的數字表示是哪個迭代。最終大約跑了250個迭代。
      第三階段(2018年1月20日至2月1日)
      在確認論文內不清楚的地方,嘗試後從錯誤中學到不少事情。
      第四階段(2018年2月7日後至三月)
      因為19x19的成果受限,改回使用9x9訓練,在大約一個禮拜的訓練後達到職業水準。
      v5(2018年三月至四月)
      引擎部份改用C++重寫,以改善效能。
      v7a(2018年五月的第一周)
      v7(2018年5月16日至7月17日)
      v9(2018年7月19日至8月1日)
      取得新的資源,使用600個TPU(v2)訓練。
      v10(2018年8月28日至9月14日)
      v11(2018年9月14日至9月17日)
      v12
      v13
      v14
      v15

      合作[編輯]

      Leela Zero同樣也是依照AlphaGo Zero論文所獨立實做出來的軟件[9],而Minigo專案取得Google贊助的計算資源,透過大量計算資源得到質素還不錯的訓練網絡資料。因此Leela Zero的團隊與Minigo的團隊基於雙方的經驗,討論參數的調整能帶來的改善,以及雙方訓練資料共用的可能性[10]

      成績[編輯]

      Minigo的第二階段在CGOS上以somebot開頭的名稱參與19x19的對戰[11],排名最高的帳號為somebot-199b[12],取得約2600分的BayesElo成績[11]

      相關連結[編輯]

      參考資料[編輯]

      1. 1.0 1.1 minigo/LICENSE at master · tensorflow/minigo. [2018-02-01]. (原始內容存檔於2019-02-17). 
      2. Silver, David; Schrittwieser, Julian; Simonyan, Karen; Antonoglou, Ioannis; Huang, Aja; Guez, Arthur; Hubert, Thomas; Baker, Lucas; Lai, Matthew; Bolton, Adrian; Chen, Yutian. Mastering the game of Go without human knowledge. Nature. 2017-10, 550 (7676) [2018-02-01]. ISSN 1476-4687. doi:10.1038/nature24270. (原始內容存檔於2018-04-12) (English). 
      3. 3.0 3.1 3.2 3.3 3.4 tensorflow/minigo: An open-source implementation of the AlphaGoZero algorithm. [2018-02-01]. (原始內容存檔於2020-11-09). 
      4. minigo/fetch_dataset.sh at master · tensorflow/minigo. [2018-02-01]. (原始內容存檔於2019-02-17). 
      5. 5.0 5.1 5.2 An open-source implementation of the AlphaGoZero algorithm : cbaduk. 2018-01-30 [2018-02-01]. (原始內容存檔於2018-09-04). 
      6. Contributors to tensorflow/minigo. [2018-02-01]. (原始內容存檔於2019-02-17). 
      7. [Computer-go] MiniGo open sourced. 2018-01-29 [2018-02-14]. (原始內容存檔於2020-01-28). 
      8. minigo/RESULTS.md at master · tensorflow/minigo. [2018-02-01]. (原始內容存檔於2019-10-18). 
      9. gcp/leela-zero: Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper.. [2018-02-02]. (原始內容存檔於2018-10-16). 
      10. Ideas from Minigo · Issue #785 · gcp/leela-zero. [2018-02-02]. (原始內容存檔於2019-10-18). 
      11. 11.0 11.1 19x19 All Time Ranks. [2018-02-01]. (原始內容存檔於2018-01-17). 
      12. Crosstable for somebot-199b. [2018-02-01]. (原始內容存檔於2020-07-10). 

      註解[編輯]

      1. Andrew Jackson在GitHub上的帳號是amj
      2. Tom Madams在GitHub上的帳號是tommadams

      外部連結[編輯]