加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 动态 > 正文

深挖围棋AI技术:alphaGo在下一盘什么棋?(上)

发布时间:2016-03-13 01:32:11 所属栏目:动态 来源:雷锋网
导读:AlphaGo的棋局,与人工智能有关,与人生无关。

最后这个Value Network使用了50个GPU训练了一周,使用的mini-batch大小是32。

Policy/Value Network使用的Features

深挖围棋AI技术:alphaGo在下一盘什么棋?(上)

其实和前面Tian的差不太多,多了两个征子相关的feature,另外增加了一个常量1和常量0的plane。

最后一个feature 是value network用的,因为判断局面得分时要知道是谁走的,这个很关键。

神经网络结构Policy Network

13层从CNN,输入时19*19*48,第一个hidden层把输入用零把输入padding成23*23,然后用k个5*5的filter,stride是1。

2到12层首先用零把输入padding成21*21,然后使用k个5*5的filter,stride依然是1。

最后一层用一个1*1的filter,然后用一个softmax。

比赛用的k=192,文章也做了一些实验对比k=128,256,384的情况。

Value Network

14层的CNN,前面12层和Policy Network一样,第13层是一个filter的卷积层,第14层是全连接的Relu激活,然后输出层是全连接的tanh单元。

深挖围棋AI技术:alphaGo在下一盘什么棋?(上)

不同分布式版本的水平比较,使用的是Elo rating标准。

总结

从上面的细节来看,神经网络的训练其实用的时间和机器不多,真正非资源的还是在搜索阶段。

最强的AlphaGo使用了64个搜索线程,1920个CPU的集群和280个GPU的机器(其实也就二十多台机器)

之前我们讨论过分布式MCTS时说过,MCTS很难在多机上并行,所以AlphaGo还是在一台机器上实现的LockFree的多线程并行,只不过Rollout和神经网络计算是在CPU和GPU集群上进行的。Google的财力肯定不只二三十台机器,所以分布式MCTS的搜索才是最大的瓶颈。如果这个能突破,把机器堆到成百上千台应该还是能提高不少棋力的。

我个人估计在3月与李世石的对弈中这个架构可能还很难有突破,可以增强的是RL Policy的自对弈学习,不过这个提升也有限(否则不会只训练一天就停止了,估计也收敛的差不多了)

所以我个人的观点是3月份要战胜李世石还是难度比较大的。

人生的棋

之前我们讨论的都是完全信息的两人的零和博弈游戏。用的minimax也是假设对手都是走最优的走法,但实际比赛中可能并非如此。

比如为了争胜,我们可能走一些冒险的策略,这个策略下如果对手走到最佳的走法我们可能会输。但是由于局面复杂,稍有不慎可能就会走错,那么我们的目的就达到了。

还有就是多人的博弈,比如斗地主,我们可能还得对多个对手或者队友建模。比如地主最后一张牌是否要炸,还得看队友的接牌能力。

又比如你陪领导玩斗地主,另外一个人明显目的是来给领导送钱的,那么你的策略可能也需要调整。

这可能就是现实世界和人工智能的差别了。有些事情,机器永远也不会懂,比如人生。

对于人生,每个人都像一颗棋子,那么谁是下棋者呢,他又是和谁在下棋呢?

我们在下棋的时候更多的考虑是全局的利益,比如用一个兵卒换一个马炮我们会非常开心,但是作为要牺牲的兵卒来说呢?一将功成万骨枯。

人生如棋,落子无悔。等到游戏结束的时候我们来复盘,才能发现当年犯下的错误,不过毕竟于事无补,只能给后人一些经验教训罢了。

参考文献

[1] D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. Van Den Driessche, J. Schrittwieser, I. Antonoglou, V. Panneershelvam, M. Lanctot, S. Dieleman, D. Grewe, J. Nham, N. Kalchbrenner, I. Sutskever, T. Lillicrap, M. Leach, K. Kavukcuoglu, T. Graepel, and D. Hassabis, Mastering the game of Go with deep neural networks and tree search, Nature, 2016 [2] M. Lai, Giraffe: Using Deep Reinforcement Learning to Play Chess, arXiv. 2015 [3] Reinforcement Learning: An Introduction. Richard S. Sutton and Andrew G. Barto MIT Press, Cambridge, MA, 1998 A Bradford Book [4] C. Browne , E. Powley , D. Whitehouse , S. Lucas , P. Cowling , P. Rohlfshagen , S. Tavener , D. Perez , S. Samothrakis and S. Colton, “A survey of Monte Carlo tree search methods”, IEEE Trans. Comput. Intell. AI Games, vol. 4, no. 1, pp. 1-43, 2012 [5] H. Baier and P. D. Drake, “The power of forgetting: Improving the last-good-reply policy in Monte Carlo Go”, IEEE Trans. Comput. Intell. AI Games, vol. 2, no. 4, pp. 303-309, 2010 [6] A. Bourki , G. M. J.-B. Chaslot , M. Coulm , V. Danjean , H. Doghmen , J.-B. Hoock , T. Hérault , A. Rimmel , F. Teytaud , O. Teytaud , P. Vayssière and Z. Yu, “Scalability and parallelization of Monte-Carlo tree search”, Proc. Int. Conf. Comput. Games, pp. 48-58, 2010 [7] M. Enzenberger , M. Müller , B. Arneson and R. B. Segal, “Fuego—An open-source framework for board games and Go engine based on Monte Carlo tree search”, IEEE Trans. Comput. Intell. AI Games, vol. 2, no. 4, pp. 259-270, 2010 [8] M. Enzenberger and M. Müller, “A lock-free multithreaded Monte-Carlo tree search algorithm”, Proc. Adv. Comput. Games, vol. 6048, pp. 14-20, 2010 [9] L. Kocsis and C. Szepesvári, “Bandit based Monte-Carlo planning”, Proc. Eur. Conf. Mach. Learn., pp. 282-293, 2006 [10] Baudis, P. & Gailly, J.-L. Pachi: State of the art open source Go program. In ˇ Advances in Computer Games, 24–38 (Springer, 2012). [11] Sutskever, I. & Nair, V. Mimicking Go experts with convolutional neural networks. In International Conference on Artificial Neural Networks, 101–110 (2008). [12] G. M. J.-B. Chaslot , C. Fiter , J.-B. Hoock , A. Rimmel and O. Teytaud, “Adding expert knowledge and exploration in Monte-Carlo tree search”, Proc. Adv. Comput. Games, vol. 6048, pp. 1-13, 2010 [13] R. Coquelin , Pierre-Arnaud and Munos, “Bandit algorithms for tree search”, Proc. Conf. Uncertainty Artif. Intell., pp. 67-74, 2007 [14] https://en.wikipedia.org/wiki/Minimax [15] https://en.wikipedia.org/wiki/Branching_factor [16] https://en.wikipedia.org/wiki/Go_ranks_and_ratings#Kyu_and_dan_ranks [17] https://en.wikipedia.org/wiki/Alpha–beta_pruning [18] https://www.zhihu.com/topic/20038840 [19] http://sports.sina.cn/others/qipai/2016-02-01/detail-ifxnzanm3922928.d.html?vt=4&wm=4007&cid=69557&node_id=77160 [20] Better Computer Go Player with Neural Network and Long-term Prediction. Yuandong Tian, Yan Zhu. arXiv. 2015 [21] Sutskever, I. & Nair, V. Mimicking Go experts with convolutional neural networks. In International Conference on Artificial Neural Networks, 101–110 (2008). [22] Maddison, C. J., Huang, A., Sutskever, I. & Silver, D. Move evaluation in Go using deep convolutional neural networks. 3rd International Conference on Learning Representations (2015). [23] Clark, C. & Storkey, A. J. Training deep convolutional neural networks to play go. In 32nd International Conference on Machine Learning, 1766–1774 (2015). [24] Sutton, R., McAllester, D., Singh, S. & Mansour, Y. Policy gradient methods for reinforcement learning with function approximation. In Advances in Neural Information Processing Systems,1057–1063 (2000).

本文首发CSDN

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读