写点什么

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 落地案例年终总结,与国内外一线技术大咖面对面交流,不见不散。



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-12-07 18:411718

评论 1 条评论

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

接口请求合并的3种技巧,性能直接爆表!

小小怪下士

Java 程序员 接口

VoneBaaS与兆芯完成产品兼容互认证

旺链科技

区块链 产业区块链 VoneBaaS 企业号十月PK榜

几个常见的js手写题,你能写出来几道

helloworld1024fd

JavaScript

深圳哪所前端培训机构比较靠谱

小谷哥

代码质量与安全 | 嵌入式开发中不得不说的编码标准——Barr-C

龙智—DevSecOps解决方案

嵌入式 嵌入式系统

react源码分析:深度理解React.Context

flyzz177

React

OpenHarmony社区运营报告(2022年10月)

OpenHarmony开发者

OpenHarmony

大数据培训学习合适吗?

小谷哥

版本控制 | 想要成为硬件设计高手?最佳实践了解一下!

龙智—DevSecOps解决方案

版本控制 硬件设计 硬件电路

VoneBaaS带来高效链改方案

旺链科技

区块链 产业区块链 世界互联网大会 VoneBaaS 企业号十月PK榜

双线程技术为什么能让小程序用户体验量级提升

Onegun

小程序 线程 小程序化

基于蓝鲸流程服务实现发布管理

PingCode研发中心

流程服务

js手写题汇总(面试前必刷)

helloworld1024fd

JavaScript

线上直播 | 未来金融研究所——以应用为中心,重塑金融研发效率

CODING DevOps

云原生 金融

网易传媒基于 Arctic 的低成本准实时计算实践

网易数帆

实时计算 iceberg Arctic 湖仓一体 企业号十月 PK 榜

字节内部大佬私藏的数据结构与算法刷题笔记,熬夜刷上头,太顶了

程序知音

Java 数据结构 算法 数据结构与算法 后端技术

react源码分析:babel如何解析jsx

flyzz177

React

计算机网络:随机访问介质访问控制之CSMA协议

timerring

11月月更 CSMA

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

开发培训学习后工作好找吗?

小谷哥

前端常见vue面试题合集

bb_xiaxia1998

Vue

DevEco Device Tool 3.1 Beta1版本发布,产品化配置优化添加自定义烧录器

HarmonyOS开发者

HarmonyOS

前端一面必会手写面试题指南

helloworld1024fd

JavaScript

遗留代码处理技巧与案例演示

京东科技开发者

数据结构 重构 代码重构 遗留代码 耦合

女生参加前端培训,学习不如男生吗?

小谷哥

大学生想进大厂是通过自学还是java培训

小谷哥

Java Web(一)Maven

浅辄

maven Java web 11月月更

Java中的集合实现赌神、赌圣、赌侠斗地主

共饮一杯无

Java 集合 11月月更

react源码分析:实现react时间分片

flyzz177

React

2023年网络安全趋势

SEAL安全

网络安全 软件供应链安全

云栖大会|未来,万物皆是计算机?

云布道师

云计算 阿里云 2022云栖大会

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