Minigo

维基百科,自由的百科全书
跳转到导航 跳转到搜索
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

      外部链接[编辑]