阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

超级围棋 AI ELF OpenGo 全面开源!FAIR 田渊栋揭秘训练过程

  • 2019-02-16
  • 本文字数:4743 字

    阅读完需:约 16 分钟

超级围棋AI ELF OpenGo全面开源!FAIR田渊栋揭秘训练过程

ELF OpenGo 发布之后,不少围棋爱好者们对其进行测试,发现这是一款级为先进的人工智能陪练助手。事实上,这款开源机器人在与人类选手的对弈当为取得了耀眼的成绩——包括与顶级职业围棋选手下出了 20 比 0 的胜绩——且开始被人工智能研究社区所广泛采用,用以运行他们自己的围棋实验或重现其他人的研究成果。ELF OpenGo 在 AI 围棋锦标赛当中还同众多与之同源的修改版 AI 机器人进行了对抗。目前,ELF OpenGo 已经成为美国围棋协会的一员,以混双的形式协同人类选手共同对抗其他人机组合围棋队伍。


Facebook AI Research (简称 FAIR)团队日前公布了与 ELF OpenGo 相关的最新功能与研究成果,包括从零开始重新练习而成的更新模型。此外,我们还发布了这款机器人的 Windows 平台可执行版本,旨在帮助围棋选手们更轻松地利用这套系统作为训练辅助工具;另外,我们还公开了 ELF OpenGo 在 87000 场专业围棋对弈当中的归档分析信息。


现在,选手们可以查看我们的系统如何对早自十八世纪的顶尖职业选手棋谱进行理解,详尽评估他们的表现,并深刻解析特定棋局当中的具体棋步。我们很高兴地看到这套多功能平台能够帮助研究人员们更好地理解 AI 技术,也很高兴看到围棋社区的选手们乐于利用它磨练自己的技能并深入钻研这门古老技艺中的全新天地。


韩国围棋协会公关副总监 Beomgeun Cho 表示,“我可以肯定地讲,ELF OpenGo 项目给韩国围棋社区带来了巨大的影响。自从其问世以来,几乎所有高水平韩国职业棋手都开始一身是胆和 ELF Go 程序分析自己与其他选手间的对弈。也正因为如此,该项目的出现不仅提高了韩国围棋的水平,更是将全球围棋技艺推向新的高点。”

打造一款服务于每个人的强大 AI 机器人

当 DeepMind 在 2017 年发布其 AlphaGo Zero 围棋机器人的出色表现时,可以看到这一以深度强化学习(简称 RL)为核心的试验性研究成果确实为拥有四千年历史的围棋运动注入了新的生命力。考虑到围棋当中固有的高分枝数量、复杂的交互机制以及精妙的模式设计等因素,行之有效的围棋机器人必须有能力推导出各类非直观且极为缜密的结论,并借此探索并发现新的行棋策略。围棋带来了一种包含数百万种潜在移动组合的环境,且其中没有任何隐性或者与偶然性相关的游戏机制(这一点与打骰或扑克游戏完全不同)。然而,虽然 AlphaGo Zero 及其继承者 AlphaZero 确实证明了人工智能系统有能力在训练之后击败一切人类选手,但它们更像是深度 RL 的一种理想范例,而非能够切实服务于广泛 AI 研究社区的普遍性工具。


作为我们开放科学宗旨的重要组成部分,我们于去年发布了 AlphaZero 的重新实现方案,旨在帮助更多研究实验室得以更深入地理解这些方法的工作原理。我们对其模型进行的开源也为未来的研究工作提供了必要的基准。我们意识到,由于需要大量计算资源作为支撑,即使是拥有同样的开源代码,大多数研究人员仍然无法重现我们的结果。正因为如此,我们决定在新论文当中从零开始重新训练 ELF OpenGo。这项工作证明了为什么 AI 在对阵人类选手时能够表现出如此强大的棋力,亦阐述了现有技术的局限性,从而帮助研究人员更好地理解其中的潜在机制并将其应用于更多其它场景。


对于整个研究界来说,我们新近更新的模型与代码代表着 ELF OpenGo 的最佳版本。此次发布囊括我们的 2000 万份自我对弈记录以及 1500 套用于生成这些记录的中间模型数据集,同时亦进一步降低了对于计算资源的需求量(自我对弈是训练过程当中硬件资源占用量最大的部分)。对于希望深入研究基于 RL 的围棋机器人如何学习技巧并掌握诀窍的研究人员,推荐大家参阅我们的论文——其中详细介绍了大量消融研究结果,并在评估过程当中不断修改各项特征以更好地理解算法的具体特性。

揭示深度 RL 的优势与局限

ELF OpenGo 之所以拥有强大的性能,关键在于其在学习方式层面与人类有着本质区别。深度 RL 虽然拥有不断试错(即系统探索不同的操作,同时获得成功与失败的反馈,并从中学习能够带来成功的行动)这种在一般意义上与人类相仿的天然属性,但其中的具体机制却完全不同。举例来说,ELF OpenGo 可能只会从自我对弈的胜、负结果当中学习知识。它并不知道哪些特定棋步对胜负结果产生最为重大的影响。与人类选手不同,ELF OpenGo 也不会从经验丰富的成熟棋手身上学习判断棋步好坏的心得,也没有机会与那些水平更高的人类选手对弈。我们的最终模型完全依靠自我对弈实现训练,整个过程共产生了 2000 万盘棋局。


当我们利用自己的模型对人类选手的棋局盘面进行分析时,我们发现其预测能力在早期学习阶段就已经达到了相当稳定的水平——具体时间点位于总训练时长的 10%处。而随着模型的继续训练,其技艺水平不断提高,并在 60%这一时间节点处击败了上代 ELF OpenGo 模型。事实上,即使是上代 ELF OpenGo 系统也已经超越了人类专业棋手:在与四位全球排名前三十的专业棋手的对弈当中,取得了 20 比 0 的耀眼战绩。ELF OpenGo 进一步证实了 AlphaZero 之前的发现,即人类选手总结出的大部分棋步(即使来自最顶尖的专业人士)距离完美仍有很长的道路要走。


但正如在其它领域夸大 AI 的超人表现将有失偏颇一样,我们对于 ELF OpenGo 学习过程的探索同样揭示出深度 RL 中所存在的特有局限。与 AlphaZero 一样,我们的系统一直无法完全掌握“征子”概念——事实上,这是围棋运动中初学者最早理解的一种常见技术,指某方选手将对方的棋子引入沿对象线延长的大龙形包围当中(最终吃掉的棋子将排布出类似于样子的梯级,因此英文名为 ladder)。与其它棋步序列相比,征子更多依托于对盘面形势的预判。人类围棋选手通常都能够预见到未来 30 步甚至更多棋步后的盘面形势,但 DeepMind 表示 AI 系统往往要到训练过程的后期才会总结出此类固定棋步组合。



在上图当中,执黑方试图进行“征子”,但白方仍然有机会突围。人类选手能够很快学会“征子”这一模式,相比之下机器人的学习速度就要慢得多,而且无法从个别征子案例中总结概念并加以推广。


为了进一步研究这一弱点,我们整理出一套包含 100 种征子场景的数据集,并利用其对 ELF OpenGo 的性能进行评估。在当前的模型设计情况下,这些场景很可能是以强化学习(即征子的延伸需要额外的训练来巩固)的方式实现,而非被作为可供系统推广的推导性模式。ELF OpenGo 依赖于一项名为蒙特卡洛树搜索(简称 MCTS)的技术以预测未来可能出现的棋步。人类选手能够很快弄清征子的概念及其将会带来的固定棋步序列,从而快速分析并得出计算结果。相比之下,MCTS 则是一种概率方法,这意味着即使每一独立正确棋步都拥有高概率,AI 系统在长序列当中选取出所有正确棋步的概率仍然很低。


更广泛地说,ELF OpenGo 项目使得其他 AI 研究人员能够获取此类系统工作原理的第一手经验。这将帮助整个社区提高对训练过程的理论性理解水平,发现这些算法中的新缺陷,并最终以更低的计算资源需求实现更强的性能表现。


有趣的是,ELF OpenGo 会以与人类选手相反的方向学习——其基于 RL 的学习方法更关注棋盘上的终局阶段,而非开头或中局部分。由于激励机制完全围棋胜败结果建立,因此决定胜败的直接相关棋步将拥有极高的分析优先级,这使得 RL 推动 ELF OpenGo 更积极地解读一盘棋是如何结束的——而非如何开始。与此不同,人类选手则更倾向于关注当前盘面情况,重视短期及区域性优势,同时持续推进。尽管我们的研究结果主要面向围棋领域,但这亦证明 RL 技术拥有着共通的局限性。虽然这能够带来令人印象深刻的整体表现,但如果过度关注与最终结果直接相关的短期因素,那么其必然会在某些问题上遭遇滑铁卢——甚至因此遭遇恶意利用。

利用 AI 评估围棋发展历程

在对 ELF OpenGo 进行重新训练与重新实现的过程当中,我们意识到其不仅代表着现代 AI 棋手,同时也可以作为一款回顾性工具对过去四个世纪内的围棋棋谱进行分析。为什么不把 ELF OpenGo 对这些棋局以及棋手的分析结果与大家分享呢?



在这一轮对弈当中,十九世纪日本职业围棋选手桑原秀策下出了其人生中最著名的“耳赤之局”。秀策最重要的一步即盘面中的“a”位,而 ELF OpenGo 却以满满的信心认为“b!”才是这一步的最佳落棋位置。126 号棋子为对手的上一步落子。


通过这样的实现方式,我们最终将 ELF OpenGo 对 87000 盘人类对弈记录的分析结论整理成一款交互式工具。这套数据集涵盖从 1700 年到 2018 年的漫长历史,我们的系统会根据机器人与人类玩家对下一步行动预测间的一致性来评估特定棋步的质量水平。


虽然这款工具比较倾向于对单一特定比赛进行深入分析,但其同时也展现出围棋技艺层面的许多重要趋势。在对超过 300 年的围棋发展历程进行分析之后,该机器人发现围棋选手的平均水平得到了稳定的提升。但根据 ELF OpenGo 的反馈,其它一些指标——例如一盘棋中最臭的一步,或者说导致获胜概率下降幅度最大的一步——在围棋发展史中曾多次经历改善与恶化。最臭一步在十九世纪末与二十一世纪初的平均水平最高。


另外,我们也可以对个别选手进行分析,例如历史上最著名的围棋大师之一桑原秀策,即在个人围棋生涯的不同阶段展现出多种能够被 ELF OpenGo 明确总结出的趋势性风格变化。他的早期行棋思路与 ELF OpenGo 存在着显著差异,但随着时间推移,他的思维方式开始与我们的 AI 系统变得更加一致。另外,我们还分析了桑原秀策在 17 岁时对阵 48 岁幻庵因硕所下出的成名一战“耳赤之局”。有趣的是,ELF OpenGo 更喜欢后者这位更加成熟的围棋大师的棋步。



在中局阶段(第 60 手到第 120 手),ELF OpenGo 对人类选手所采取实际棋步的认同/匹配比例(棋谱来自 1700 年至 2018 年)。



棋局过程中导致胜率遭遇最大降幅的“最臭一手”棋步(从 1700 年到 2018 年的平均情况,百分比越低越好)。



十九世纪日本职业围棋选手桑原秀策在早期对弈中各棋步受到 ELF OpenGo 肯定的比例。



桑原秀策在职业生涯中期对弈时各棋步受到 ELF OpenGo 肯定的比例。


ELF OpenGo 还凸显出 AI 技术对于围棋运动的重大影响。举例来说,ELF OpenGo 对人类棋手行棋认同率随时间推移而不断提升,这表明这一运动的整体水平在漫长的积累之后确实有所提升。


我们的系统对于特定选手的评价也会随着时间推移而提升,这证明这些职业选手的水平一直在进步。虽然事后看来,这些观察结果可能早就在大家的意料之中,但 ELF OpenGo 对这种进展做出了量化,并确定了个人行棋风格与对弈表现变化最明显的年份。


2016 年,ELF OpenGo 对人类棋手的认同度快速提升,这再次证明强大 AI 棋手的出现确实能够为人类技能带来巨大的推动作用。虽然这种相关性也许没有决定性的说服力——人类选手的水平提升也有可能源自其它一些原因的影响——但这仍是个值得关注的案例,证明针对某一特定任务进行训练的系统有望从当前及历史的角度为更为广泛的分析领域产生积极作用。

围棋机器人的未来发展方向

ELF OpenGo 已经得到世界各地研究团队与棋手的广泛使用,而我们也很高兴能够在去年将其扩展至更具生命力的开源社区。对于围棋爱好者们来讲,我们的系统能够对专业对弈进行分析,从而充当一款强大的新型训练辅助工具——是的,您将因此拥有一位超人级别的复盘解析助手。另外,我们还改善了机器人本身的访问体验以支持这种训练用途,包括为围棋选手们提供可下载并作为对弈对手的 Windows 可执行版本。


然而,关于 ELF OpenGO 乃至其它规模更大的 AI 开发项目,我们还有更多工作要做。我们的系统虽然能够击败人类专家,但却仍然需要经历数百万场自我对弈,这样的效率显然无法令人满意。人类是如何从一小部分案例中总结经验,同时更快总结出“征子”等概念以快速提升围棋技艺的?通过充分利用我们的工具与分析功能,我们希望帮助整个 AI 社区更快为这些问题找到答案。


原文链接:


https://ai.facebook.com/blog/open-sourcing-new-elf-opengo-bot-and-go-research/?ref=shareable



公众号推荐:

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

2019-02-16 08:008499

评论 1 条评论

发布
用户头像
ai工具是否可以反哺人们的算法思想,是一个非常有意思的课题研究
2019-02-17 09:09
回复
没有更多了
发现更多内容

【数据结构】带头+双向+循环链表(增、删、查、改)的实现_【附源码、图片示例】_ [初阶篇_ 复习专用]

Dream-Y.ocean

c 双向循环链表 9月月更

面试必问的AOP,我今天用它实现了系统告警

程序员小毕

spring 源码 程序员 Java 面试 aop

中山市等级测评机构有哪些单位?电话号码是多少?

行云管家

等保测评 等级测评 中山市

面试复盘 | 2022届 大疆秋招 测试开发 完整面经

Java-fenn

Java

速度与安全可兼得!改造异步布局大幅提升客户端布局性能

小红书技术REDtech

性能优化 安卓 客户端 Andriod

抢抓国际标准 中国“原创”企业成国际事务处理性能委员会(TPC)新成员

科技热闻

9月大厂Java岗面试原题复盘,双非2年经验成功内推进入阿里!

收到请回复

Java 云计算 开源 架构 编程语言

利用Python开发App实战

千锋IT教育

一款开源的基于 Angular 的电商 Storefront 开发框架介绍

Jerry Wang

typescript 前端开发 angular 电商 9月月更

DCAT亮相WAIC 2022浦东分会场——元宇宙博览会暨数字光影大会

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

瑞云科技总经理邹琼出席2022世界人工智能大会投融资主题论坛

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

海龟绘图简单科普

吉师职业混子

9月月更

千行百业,可信开源,2022 OSCAR开源产业大会成功召开

Ada@SegmentFault

Maven 中依赖使用的版本号

HoneyMoose

字节Java大神精心编写的《Java开发者面试百宝书》,助你一臂之力!

收到请回复

Java 云计算 开源 架构 编程语言

「番外篇」如何用Git平台账号登录建木CI with docker-compose.yml

Jianmu

DevOps 低代码 CI/CD gitops 无代码

建木持续集成平台v2.5.5发布

Jianmu

开源 DevOps 低代码 CI/CD 无代码

有关Redis你掌握好这22点,大厂面试基本稳了!

Java全栈架构师

数据库 程序员 后端 Java 面试 redis 底层原理

什么是帮助中心?企业该怎样制作帮助中心页面?

Baklib

企业 帮助中心

OSCAR开源产业大会|中国信通院可信开源评估最新结果正式发布

Ada@SegmentFault

元宇宙会议来了,3DCAT助力2022长宁区科技创新主题论坛开展

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

《OSCAR开源产业大会丨《全球开源生态研究报告(2022年)》重磅发布》

Ada@SegmentFault

ESP32-C3 VScode开发环境搭建(基于ESP-IDF—Windows和Ubuntu双环境)

矜辰所致

vscode 开发环境 ESP32-C3 9月月更

Wordpress 如何添加 Ads.txt 文件

HoneyMoose

Spring 注册 Bean 在配置中的定义和使用 Autowired

HoneyMoose

「Gitea篇」如何用Git平台账号登录建木CI

Jianmu

DevOps 持续集成 gitops 建木

易周金融分析 | 易观千帆发布7月城商行农商行APP盘点;养老理财产品跨行代销布局提速

易观分析

金融 理财产品

为什么Kubernetes和容器与机器学习密不可分?

京东科技开发者

人工智能 机器学习 Kubernetes 容器 ML

如何进行高效的文档管理?这三点很重要!

Baklib

文档管理 企业文档管理工具

云管平台的优势有哪些?哪家云管平台好?

行云管家

云计算 云管平台 云管理

啃完这32W字的Java程序员面试题,大厂面试分分钟搞定!

收到请回复

Java 云计算 开源 架构 编程语言

超级围棋AI ELF OpenGo全面开源!FAIR田渊栋揭秘训练过程_AI&大模型_田渊栋 等_InfoQ精选文章