如何动手打造属于自己的AlphaGo Zero?
来源:互联网 发布:淘宝 无忧退货退钱吗? 编辑:程序博客网 时间:2024/06/10 07:28
Petr Baudis是捷克布拉格技术大学的一名博士生,他也是创业公司Rossum.ai的创始人。近日,Petr在Medium上发表了一篇博客,结合自己在强化学习方面的研究以及在围棋方面的应用讲述了如何按AlphaGo Zero的原理打造自己的AlphaGo Zero:
Rossum的围棋程序:Nochi
在这个用Python写的围棋程序Michi中包含了围棋规则的实现,蒙特克洛树搜索算法和用于评估的随机游戏模拟。这是理想的状况 —— 只需用基于Keras的神经网络来代替随机游戏模拟,并为程序添加一个“自我演奏”训练循环即可(当然,把它写出来只花了一个晚上,但这并不是说我们在接下来的几个星期里没有进行过调试...)
但还有一个问题:尽管AlphaGo Zero比老款Alphago要求低得多,但按常规硬件手段,运行相同的设置仍然需要1700 GPU年的训练时间。 (考虑一下Google的计算能力,以及他们用TPU所做的加速)。因此,我们做了相应的简化,我们不是使用全尺寸的19x19板,而是仅在最小的灵敏板7x7上训练Nochi 。
同时我们还对原始方法进行了调整:基于我们在Rossum的实践,我们稍微修改了神经网络的架构,以及采用了一个更激进的训练过程,确保自我游戏期间的神经网络尽快收敛,使得Nochi成为第一个达到GNU Go基准水平的AlphaGo复现版本(GNU Go是一个经典的中级程序,通常用于其他算法的基准测试)。另外,Nochi的水平随着每次移动所的分配时间提高而得到提高,这表明神经网络不仅仅记住了游戏,而且学会了概括和计算抽象策略。
下面说重点。Nochi已经在GitHub上开源,而且仍然是一个任何人易于上手学习的小型Python程序。目前我们正在进行其他复制AlphaGo Zero的其他成功工作,例如 Leela Zero和Odin Zero。毕竟,我们还需要一个任何人都可以安装和学习的、超人类的围棋软件,尽管我们主业是在文档处理(我们的愿望是消除所有的手动数据输入)上,我们将视其作为我们一项可以长期发展的衍生成果进行更新。
关于AlphaGo和Nochi的更多信息,可关注以下链接:
DeepMind最新的《Nature》论文及AlphaGO Zero Cheat Sheet(原理表单)https://medium.com/applied-data-science/alphago-zero-explained-in-one-diagram-365f5abf67e0
Nochi的源代码(https://github.com/rossumai/nochi)
我在Machine Learning Meetup上演讲的PPT以及相关视频(见下)https://goo.gl/qoAqko
- 如何动手打造属于自己的AlphaGo Zero?
- 程序员如何动手打造属于自己的智能家居
- 程序员如何动手打造属于自己的智能…
- 全栈开发——动手打造属于自己的直播间(Vue+SpringBoot+Nginx)
- 打造属于自己的 gVim !
- 打造属于自己的Notepad++
- 打造属于自己的uboot
- 打造属于自己的Vim
- 打造属于自己的RxBus
- 打造属于自己的RxBus
- 打造属于自己的RxBus
- 打造属于自己的vim
- 教你如何打造属于自己的QQ纯净版
- 如何去打造属于自己的cat文件
- 程序员如何打造属于自己的云笔记服务
- 程序员如何打造属于自己的云笔记服务
- 【ECS】程序员如何打造属于自己的云笔记服务
- 程序员如何打造属于自己的云笔记服务
- Xlua入门案例三(UI事件)
- mpiBeagle问题
- 把一个十位数字的数分成一个,二个,五个的数字。并输出所分数字的一个,二个,五个的数字。
- 视频监控安防平台-基于log4cplus的log日志封装(linux版本)
- 微信传回昵称带有emoj表情,php去除emoj表情
- 如何动手打造属于自己的AlphaGo Zero?
- nitoj_怎么又是签到题
- LaTeX基础(未完)
- 物理层&数据链路层
- Tensorflow的应用(二)
- PHP本地服务器localhost与数据库MySQL的综合运用
- Centos6安装OpenCV
- 求100-300之间能被3整除的数的和
- Windows 防火墙