美文网首页
配置你的AlphaGo Zero, 围棋软件Leela Zero

配置你的AlphaGo Zero, 围棋软件Leela Zero

作者: jianpengma | 来源:发表于2019-06-23 13:50 被阅读0次

    AlphaGo在2016年三月4:1战胜围棋世界冠军李世石,改进后的Master版本2017年5月3:0战胜柯洁后,Deepmind又用新的算法开发出了AlphaGo Zero,不用人类的对局训练,完全自我对局,训练3天后即战胜了AlphaGo Lee,训练21天后击败了AlphaGo Master。

    Deepmind发表论文后,之后的围棋AI都是根据AlphaGo Zero的论文来实现的。其中腾讯开发的绝艺被用在国家队的训练,Facebook开发出了Elf Go(14比0击败了韩国棋院棋手),腾讯微信团队开发的Phoenix Go(金毛测试),还有本文要介绍的LeelaZero,其中后面三个AI是开源的。

    leela zero 下载地址是: https://github.com/leela-zero/leela-zero/releases

    如果不用显卡,可以下载"leela-zero-0.17-cpuonly-win64.zip",用显卡的话,就是"leela-zero-0.17-win64.zip"。显卡的速度比CPU快很多。

    上面的围棋软件都只是游戏引擎,要用图形界面下棋,需要支持GTP协议的软件,我们这里选择Sabaki。

    Sabaki下载的下载地址是: https://github.com/SabakiHQ/Sabaki/releases

    leela zero的权重文件的下载地址是: https://zero.sjeng.org/best-network,权重文件更新是在http://zero.sjeng.org上,和AlphaGo Zero一样,新的权重文件只有能够战胜老的权重文件55%,就会用新的权重文件来进行下一轮的训练。下载下来的文件不需要解压。

    Sabaki配置,点"Manage Engine"后,点"add",分别输入名字,leelaz.exe的全路径,leelaz的参数,最后是gtp协议的参数,"0 10 1"代表每走一步思考10秒钟。

    和AGZ一样,LeelaZero落子的选择会结合价值网络的评估,和蒙特卡罗推演(rollout, 模拟一个完整的棋局)的结果。Deepmind使用TPU训练,每步需要0.4s,会进行1600的rollout,那我们看下用消费级的PC的计算力怎么样。

    i7 7600U CPU和HD620,CPU每10秒钟可以模拟16次,集成显卡可以模拟75次,性能差了5倍。

    1050ti,每10秒钟可以模拟600次完整的棋局。

    2060,每10秒钟2200次。

    需要注意的是,Nvidia在20系显卡加入专门的深度学习模块Tensor Core,如果以后的LeelaZero版本能把Tensor Core利用起来,rollout的速度应该会提高很多。

    网上收了块470矿卡,不过Leela初始化失败了。

    Sabaki加上leela zero虽然强大,但如果想用围棋AI复盘,最好的使用lizzie软件。下载地址是https://github.com/featurecat/lizzie/releases。这个leezie带的是leela 0.16版本的,可以用下载下来的leela zero 0.17版本里的leelaz.exe直接替换。lizzie启动需要java的运行环境,网上找个JRE安装就可以了。

    运行的话,可以在解压后的目录,创建一个start.bat文件,内容是

    java -jar lizzie.jar

    下次就可以直接双击bat文件启动了。

    lizzie目录下面有个config.txt,里面可以配置选择哪个权重文件。可以把下载下来的权重文件放到lizzie目录,修改"network-file"参数指向该文件。

    lizzie打开后,按住x键不动,可以看到帮助,常用的有:o是打开保存的.sgf文件,s是保存当前棋盘,空格是打开/关闭思考。

    每一步都有推荐的落子点和对于的胜率分析。

    光标放到推荐的落子点上,会看到该点的推演。

    有兴趣的可以下载ELF Go https://dl.fbaipublicfiles.com/elfopengo/play/play_opengo_v2.zip和Phoenix Go https://github.com/Tencent/PhoenixGo/releases/download/win-x64-gpu-v1/PhoenixGo-win-x64-gpu-v1.zip,不过都需要支持CUDA的GPU。在我的机器是,Leela基本上都可以战胜ELF和Phoenix。

    在Sabaki里配置ELF和Phoenix。

    围棋ai的意义:

    自学围棋方便很多,随时都有一个顶级高手陪你下棋。

    用来复盘。

    用围棋AI来验证一些下法。

    不推荐用围棋AI去一些围棋平台遛狗。

    相关文章

      网友评论

          本文标题:配置你的AlphaGo Zero, 围棋软件Leela Zero

          本文链接:https://www.haomeiwen.com/subject/bgviqctx.html