他实现了AlphaGo Zero的算法,发现可能还得训练1700年 | 代码

简介:
本文来自AI新媒体量子位(QbitAI)

AlphaGo退隐,留下身后一众你追我赶的围棋AI。

比如说前些天在野狐上连斩多名职业选手的新版绝艺“符合预期”,又比如说多年研究国际象棋和围棋AI的gcp,最近又把AlphaGo Zero的算法实现出来放到了GitHub上,起名叫Leela Zero

8897379df25c288fa3c9e3070c3e34394d2a2c9c

地址:https://github.com/gcp/leela-zero

gcp是谁?

Gian-Carlo Pascutto,这是他的全名。

b3ca65fc2aaec8caa1069d791d9937db6b0e3d5f

这位比利时程序员小哥,研究用计算机下棋已经不是一年两年了。早在上个世纪,他就开始在Adrien Regimbald的开源象棋引擎Faile基础上开发自己的国际象棋软件了。

他所开发的国际象棋软件名叫Sjeng,苹果Mac电脑自带的国际象棋软件,所用的计算引擎就是开源版Sjeng。2003年,这位小哥还开发了一个商业版的Deep Sjeng。

Sjeng赢得过2008年世界快速计算机国际象棋锦标赛冠军、2009年世界计算机国际象棋锦标赛冠军,以及2010和2011年的网络计算机国际象棋锦标赛。

后来,gcp的兴趣转向了围棋。

他所开发的围棋软件Leela也可以说是很厉害了,2008年,Leela获得了Computer Olympiad(计算机奥林匹克)19×19围棋比赛的第三名和9×9围棋的第二名。

2017年2月,他与时俱进地发布了新版Leela,在其中用上了深度学习技术。今年8月,这个围棋软件在首届世界智能围棋公开赛中排名第8,排在它前边的,有中国大陆的绝艺、天壤,台北的CGI,日本的DeepZenGo、Rayn、AQ和韩国的石子旋风。

对了,你用过强大的音频播放器foobar2000吗?这位小哥也是作者之一。

自学版AlphaGo Zero发布之后,gcp显然要再与时俱进一次。

Leela Zero

这一次与时俱进的成果,就是Leela Zero。

Leela Zero是AlphaGo Zero论文Mastering the Game of Go without Human Knowledge的实现,据gcp在GitHub上介绍,这个实现非常忠于原文,目标就是搞一个开源的AlphaGo Zero。

作为AlphaGo Zero的忠实实现,Leela Zero使用了蒙特卡洛树搜索(MCTS)和深度残差卷积神经网络堆栈,不需要输入人类棋谱,可以在自我对弈中提升。

但是,Leela Zero和真正的AlphaGo Zero还差一个很重要的东西:网络权重。

gcp在Leela Zero的GitHub说明中称,这份实现中不包含网络权重,如果能搞到AlphaGo Zero的权重,这个程序能和真的狗一样强。

但问题在于,他算了一下,如果要在普通消费级硬件上重新计算一遍AlphaGo Zero的权重,也就是让Leela Zero进化到AlphaGo Zero退隐时候的水平,需要1700年。

这个普通消费级硬件,指的是一块英伟达GTX 1080 Ti。

所以,Leela Zero现在应该算是个没有灵魂的躯壳,等着来自大规模GPU的计算力赋予它真正的生命。gcp把这个算法实现出来之后,就开始到处发帖征集志愿者来一起贡献GPU算力训练它。

如果你不想贡献GPU,只想试试这个围棋软件的话,gcp也提供了一版用人类棋谱训练的小型网络供下载:https://sjeng.org/zero/best_v1.txt.zip。

当然,还是一起训练完整版Leela Zero更exciting。

41f1ebf0deb3760ef195a2e42eaabdb3e51738a0

本文作者:夏乙
原文发布时间:2017-11-27
相关文章
|
3月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
382 0
|
3月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
209 8
|
3月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
221 8
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
308 2
|
4月前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
159 1
|
3月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
202 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
188 0
|
4月前
|
机器学习/深度学习 存储 算法
【微电网调度】考虑需求响应的基于改进多目标灰狼算法的微电网优化调度研究(Matlab代码实现)
【微电网调度】考虑需求响应的基于改进多目标灰狼算法的微电网优化调度研究(Matlab代码实现)
194 0
|
4月前
|
机器学习/深度学习 分布式计算 算法
【风场景生成与削减】【m-ISODATA、kmean、HAC】无监督聚类算法,用于捕获电力系统中风场景生成与削减研究(Matlab代码实现)
【风场景生成与削减】【m-ISODATA、kmean、HAC】无监督聚类算法,用于捕获电力系统中风场景生成与削减研究(Matlab代码实现)
224 0
|
4月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
101 0

热门文章

最新文章