python alphago_使用 Python 搭建简易版AlphaGo

本博文使用的是GitHub上的MuGo开源程序,使用的是纯Python语言,主要是AlphaGo的一个复制的版本。项目的地址请看后面的参考文献部分。

AlphaGo主要使用了三个神经网络,即第一个速度缓慢但是准确的蒙特卡洛搜索树,主要用来预测人来的棋子的移动。第二个主要是小的一个策略网络但是速度很快。第三个是一个价值网络,只是用来计算胜率的不能用来预测棋子的移动。具体的看下面参考文献列出来的Google的paper。

废话了这么多,下面我们就开始操作纯Python版的简易AlphoGo吧。

2. 下载SGF文件并且预处理,可以在这个网址上面下载最近15年的围棋文件:https://u-go.net/gamerecords/

3. 预处理SGF文件,在与处理的时候可能会提示缺少例如sgf 包,gtp包之类的,用pip对应的安装上去就可以了。

python main.py preprocess ~/kgs-19-2016-12-new/

这里的 ~/kgs-19-2016-12-new/ 的意思是我上面下载下来的SGF文件,用unzip解压之后的文件夹为 kgs-19-2016-12-new, 里面的文件就是 以sgf结尾的文件。

4. 用策略网络来监督学习

python main.py train processed_data/ --save-file=/tmp/savedmodel --epochs=400 --logdir=logs/my_training_run

当上面的训练步骤结束之后,网络的模型就会被保存在save-file对应的文件夹之中,在训练过程中,当然也可以开启TensorFlow的TensorBoard来查看训练的过程。

tensorboard --logdir=logs/

5. 在训练完之后就可以来玩围棋了

如果要使用原始的策略网络,使用下面的命令

python main.py gtp policy --read-file=/tmp/savedmodel

如果使用蒙特卡洛搜索树,使用下面的命令

python main.py gtp mcts --read-file=/tmp/savedmodel

gogui-twogtp -black 'python main.py gtp policy --read-file=/tmp/savedmodel' -white 'gogui-display' -size 19 -komi 7.5 -verbose -auto

还有一种可以可视化下围棋的方法是使用GnuGo

BLACK="gnugo --mode gtp"

WHITE="python main.py gtp policy --read-file=/tmp/savedmodel"

TWOGTP="gogui-twogtp -black \"$BLACK\" -white \"$WHITE\" -games 10 \

-size 19 -alternate -sgffile gnugo"

gogui -size 19 -program "$TWOGTP" -computer-both -auto

———–EOF————

参考文献:

https://github.com/brilee/MuGo

http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html   (Mastering the game of Go with deep neural networks and tree search)

https://arxiv.org/abs/1412.6564  (Move Evaluation in Go Using Deep Convolutional Neural Networks)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值