写点什么

AlphaZero 进化论:从零开始,制霸所有棋类游戏

  • 2018-12-07
  • 本文字数:3556 字

    阅读完需:约 12 分钟

AlphaZero进化论:从零开始,制霸所有棋类游戏

2017 年末,DeepMind 推出了 AlphaZero——一套能够从零开始自主学习国际象棋、将棋(类似于日本版的国际象棋)以及围棋的技艺,从而全面超越各项目世界冠军的系统。


对于这一系统带来的初步成果,整个公司的研发人员都感到非常兴奋,并很高兴看到国际象棋界成员对此做出的热烈回应。他们在 AlphaZero 的棋艺当中发现了一种突破性、高度动态且“不同于传统”的对弈风格,这也使其完全不同于以往存在过的任何棋类游戏引擎。


今天,AlphaZero 登上了著名的《科学》杂志,并以封面论文的形式发表,它背后的公司 DeepMind 也在官方博客上撰文,为这一系统取得的最新成就进行了详细解析,InfoQ 将全文翻译整理如下:


今天,我们很高兴地发布 AlphaZero 的完整评估报告,这篇论文已经公开发表在《科学》杂志上:


http://science.sciencemag.org/content/362/6419/1140


评审编辑已经确认并更新了这些初步结果。论文描述了 AlphaZero 如何快速学习每一种棋类,包括在仅获得游戏基本规则、但完全不存在内置指导的前提下从随机游戏开始,一步步成长为有史以来最强大的棋手。


这种从零开始学习每种棋类的能力由于不受人类固有思维的约束,因此产生出一种独特、有悖于传统,但却极具创造性与动态思考的对弈风格。国际象棋大量马修·萨德勒(Matthew Sadler)与女子国际象棋大师娜塔莎·里根(Natasha Regan)在即将于明年 1 月出版的《游戏规则改变者(Game Changer)》一书中分析了 AlphaZero 进行的数千盘国际象棋对弈,并发现其风格不同于任何传统的国际象棋引擎。马修表示,“这就像是发现了古代棋艺大师的秘籍一样。”


传统的国际象棋引擎——包括世界计算机国际象棋冠军 Stockfish 与 IBM 广为人知的“深蓝”——依赖于数千条由顶尖人类棋手提供的规则与启发式方法。这些信息尝试解释游戏中的每一种可能性。将棋同样遵循此理,其程序仅适用于将棋本身,但采用与国际象棋程序类似的搜索引擎与算法。


AlphaZero 采取的方法则完全不同,其利用一套深层神经网络与大量通用型算法取代了那些手工制作的规则,而且这些算法除了棋类的基本规则之外一无所知。



在国际象棋当中,AlphaZero 仅用了 4 个小时便成功击败 Stockfish; 在将棋方面,其击败 Elmo 则仅用掉 2 个小时; 至于围棋,AlphaZero 在 30 个小时即击败曾于 2016 年压倒世界冠军李世石的 AlphaGo 版本。注意:每个训练步骤代表 4096 个盘面位置。


为了学习每种棋类,这套未经训练的神经网络会通过一种被称为强化学习的实验与试错过程完成数百万盘自我对弈。起初,其完全是在随机乱下; 但随着时间的推移,系统会从胜利、失败以及平局当中学习经验,从而调整神经网络参数,使其更有可能在未来的选择中做出有利判断。网络所需要的训练量取决于游戏的风格与复杂程度——国际象棋大约需要 9 个小时,将其大约需要 12 个小时,而围棋则需要 13 天。


这套经过训练的网络被用于指导一种搜索算法——被称为蒙特卡洛树搜索(简称 MCTS)——坐而选择当前盘面下最为有利的棋步。对于每一步棋,AlphaZero 所需要的位置搜索量只相当于传统国际象棋引擎的一小部分。例如在国际象棋当中,AlphaZero 每秒只需要搜索 6 万个位置; 相比之下,Stockfish 则需要搜索大约 6000 万个位置。



经过全面训练之后,这套系统被用于对抗最强大的传统国际象棋(Stockfish)与将棋(Elmo)引擎,甚至还包括 AlphaZero“一奶同胞”的大哥 AlphaGo——全球最强围棋棋手。


  • 每款程序都运行在专门设计的硬件之上。Stockfish 与 Elmo 采用 44 个 CPU 核心(与 TCEC 世界锦标赛时的情况保持一致),而 AlphaZero 与 AlphaGo Zero 则使用一台配备有 4 个第一代 TPU 与 44 个 CPU 核心的机器。第一代 TPU 的推理速度与英伟达 Titan V GPU 等商用硬件大体相似——当然,二者的架构差别巨大,不具备直接可比性。

  • 所有比赛均采用单场 3 小时制,每步棋额外增加 15 秒。

  • 在所有对抗当中,AlphaZero 都以毫无争议的方式击败了对手:

  • 在国际象棋方面,AlphaZero 击败了 2016 年 TCEC(第 9 季)世界锦标赛冠军 Stockfish——其中 AlphaZero 获得 155 场胜利,且败率仅为千分之六。为了验证 AlphaZero 的稳健性,我们还刻意为双方准备了由人类常规开盘形成的残局。无论是哪种残局,AlphaZero 仍能顺利击败 Stockfish。此外,我们亦参加了 2016 年 TCEC 世界锦标赛,并在比赛中对阵近期刚刚进行升级的 Stockfish 版本——其中一种 Stockfish 变体采用了非常强大的开局走法组合,但 AlphaZero 仍无一例外全部取胜。

  • 在将棋方面,AlphaZero 击败了在 2017 年 CSA 世界锦标赛上胜出的 Elmo 版本,胜率为 91.2%。

  • 在围棋方面,AlphaZero 战胜了 AlphaGo Zero,胜率为 61%。



然而,更令人着迷的是 AlphaZero 在对弈过程中展现出的行棋风格。例如,在国际象棋当中,AlphaZero 在自我学习与训练当中独立发现并使用了常见的人类行棋模式,例如开口、保王以及兵阵等等。然而,由于自学成才且完全不受传统观念的影响,AlphaZero 也发展出了自己的直觉与策略。其提出的一系列令人兴奋的新颖想法,大大拓展了几个世纪以来人类对于国际象棋战略的理解。


棋手们首先注意到的,一定是 AlphaZero 的行棋风格。马修·萨德勒表示,“它的走法充满了目的性与攻击性,始终围绕着对方的王进行谋划。”以此为基础,AlphaZero 还拥有着高度动态化的对弈能力,这最大限度提高了其棋路的灵活性与移动性,同时最大限制着对方棋子的灵活性与移动性。与直觉相反,AlphaZero 似乎对于“棋子角色”的重视程度较低。现代竞技项目的一大基础特性,所有参与方都具有价值。如果某一选手在棋盘上的棋子价值高于对方,则表示前者在棋子角色方面具有优势。但不同于此,AlphaZero 更倾向于在开局之初就牺牲这些棋子角色,从而获得更为长远的形势性收益。


马修指出,“令人印象深刻的是,它在各种角色与位点上都表现出这种强烈的行棋风格。”他同时观察到,AlphaZero 在起步阶段会非常刻意地以“与人类非常相似的意图”设计开局。


马修解释称,“传统引擎非常稳定,几乎不会出现明显的错误。但在面对没有具体且可参考解决方案的位置时,则显得束手无策。相比之下,AlphaZero 则能够在这样的位置上表现出「感觉」、「洞察」或者「直觉」。”


这种独特的能力是其它传统国际象棋引擎所不具备的,而且也在最近的世界国际象棋锦标赛当中为国际象棋爱好者们带来了新的思路与启发。马格努斯·卡尔森(Magnus Carlsen)与法比亚诺·卡鲁安纳(Fabiano Caruana)之间的比赛就有所体现,《游戏规则改变者》一书就对此做出了进一步探讨。娜塔莎·里根表示,“对 AlphaZero 以及顶级国际象棋引擎乃至顶级大师的行棋方式进行分析,着实令人着迷。”


AlphaZero 带来的经验,也与 2016 年 AlphaGo 与传奇围棋大师李世石间的对弈有所呼应。在此次比赛当中,AlphaGo 走出了许多极具创造性的取胜手法,包括在第二场比赛中只用 37 步即告胜出——这彻底推翻了数百年来人类对于围棋运动的理解。这些棋步已经被包括李世石本人在内的众多棋手奉为经典案例。在评论第 37 步时,李世石表示,“我一直认为 AlphaGo 属于那种基于概率的计算工具,毕竟它只是一台机器。但在看到这一步时,我改变了看法。不可否认,AlphaGo 拥有真正的创造力。”


与围棋一样,我们也对 AlphaZero 在国际象棋领域表现出的创造性感到兴奋。自从计算机时代开始以来,国际象棋一直是人工智能技术面临的主要挑战——包括巴贝奇、图灵、香农以及冯·诺伊曼在内的众多早期开拓者都在努力设计能够解决国际象棋问题的方案。但 AlphaZero 的适用于并不仅限于国际象棋、将棋或者围棋。为了建立起能够解决各类现实问题的智能系统,我们要求其具备灵活性并能够适应各种新情况。虽然我们已经在实现这一目标方面取得了一定进展,但其仍然是人工智能研究中的一大核心挑战。目前的系统虽然能够以极高的标准掌握特定技能,但却往往无法解决甚至只经过略微修改的任务。


AlphaZero 这种掌握三种不同复杂棋类(甚至有可能涵盖一切完美信息类项目)的能力代表着克服这一问题的重要一步。这证明单一算法完全有可能在不同的具体规则之下学习并发现新知识。另外,尽管尚处于早期发展阶段,但 AlphaZero 的创造性见解加上我们在 AlphaFold 等其它项目中观察到的振奋人心的结果,使我们对于创建通用学习系统这一目标充满信心。这意味着我们有望发现更多新的解决方案,从而攻克那些最重要也最复杂的科学问题。


下载论文:


https://deepmind.com/documents/260/alphazero_preprint.pdf


原文链接:


https://deepmind.com/blog/alphazero·shedding·new·light·grand·games·chess·shogi·and·go/

会议推荐:

12 月 20-21,AICon全球人工智能与机器学习技术大会将于北京盛大开幕,学习来自 Google、微软、BAT、360、京东、美团等 40+AI 落地案例年终总结,与国内外一线技术大咖面对面交流,不见不散。



2018-12-07 18:412056

评论 1 条评论

发布
暂无评论
发现更多内容

知乎杀疯了,疯传2022Java面试八股文解析+大厂面经

程序知音

Java 程序员 java面试 后端技术 Java面试八股文

Spring-boot项目练习笔记(二)MybatisPlus实现公共字段自动填充

赵四司机

Java web MyBatisPlus 8月月更

什么密码,永远无法被黑客攻破?

Authing

零基础web前端学习靠谱吗

小谷哥

Kubernetes Ingress 控制器讲解

CTO技术共享

开源 签约计划第三季 8月月更

和鲸科技创始人范向伟:大部分数据智能项目都面临着两个挑战

ModelWhale

工作流 数字化转型 数据智能 协同效应 8月月更

Spring-boot项目练习笔记(一)JS处理Long型数据精度丢失问题

赵四司机

Java web spring-boot 8月月更

Redis为什么这么快?

京东科技开发者

数据库 消息队列 redis'

兆骑科创海内外高层次人才大赛平台,双创赛事活动举办

兆骑科创凤阁

leetcode 23. Merge k Sorted Lists 合并K个升序链表(困难)

okokabcd

LeetCode 数据结构与算法 栈和队列

易观分析:2022年Q2中国跨境进口零售电商市场规模为1171.0亿元

易观分析

报告 跨境进口 零售电商市场

聊聊阻容降压原理 和 实际使用的电路

矜辰所致

电路设计 8月月更

直播短视频源码——直播与短视频之间的区别如何解决

开源直播系统源码

软件开发 短视频源码 直播系统源码 直播源码 一对一视频聊天系统

有关分库分表ShardingSphere-JDBC,这是我见过整理的最全的笔记了

Java全栈架构师

Java 数据库 程序员 面试 JDBC

免费云管平台有吗?咨询电话多少?

行云管家

云计算 企业上云 云管平台

面试官:Redis Zset的实现为什么用跳表,而不用平衡树?

程序员小毕

Java redis 程序员 面试 后端

案例复现,带你分析Priority Blocking Queue比较器异常导致的NPE问题

华为云开发者联盟

后端 开发

HADOOP学习笔记之HDFS

薛定谔的猫

hadoop hdfs

头脑风暴:一和零

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

学大数据需要具备什么基础知识点?

小谷哥

拿捏了!火爆GitHub的字节内部1213页“数据结构与算法”面试手册

冉然学Java

Java 数据结构 面试 算法 构架

技术分享| 视频传输Simulcast与Svc

anyRTC开发者

音视频 Simulcast Svc 视频传输

权威发布! 开发人员需要关注的11种顶级恶意软件

SEAL安全

网络安全 软件安全 恶意软件 软件供应链安全

大数据开发课程靠谱吗?

小谷哥

基于 TLS 1.3的百度安全通信协议 bdtls 介绍

百度Geek说

安全

Redis 介绍

武师叔

8月月更

数读海南数字经济 | 2022海南数字经济发展指数发布

易观分析

数字经济 经济 海南

“纯C”实现——扫雷游戏(递归实现展开功能)

一介凡夫

c 开源 8月月更

产品说明丨 iOS端使用 MobPush 快速集成方法

MobTech袤博科技

ios sdk MobTech袤博科技 mobpush

兆骑科创创投平台,创赛承办,投融资对接,项目落地孵化

兆骑科创凤阁

地址标准化服务AI深度学习模型推理优化实践

阿里云大数据AI技术

深度学习

AlphaZero进化论:从零开始,制霸所有棋类游戏_AI&大模型_DeepMind Blog_InfoQ精选文章