0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AlphaZero如何快速学习每个游戏,如何从随机对弈开始训练

mK5P_AItists 来源:lq 2018-12-10 16:49 次阅读

不仅会下围棋,还自学成才横扫国际象棋和日本将棋的DeepMind AlphaZero,登上了最新一期《科学》杂志封面。

同时,这也是经过完整同行审议的AlphaZero论文,首次公开发表。

论文描述了AlphaZero如何快速学习每个游戏,如何从随机对弈开始训练,在没有先验知识、只知道基本规则的情况下,成为史上最强大的棋类人工智能

《科学》杂志评价称,能够解决多个复杂问题的单一算法,是创建通用机器学习系统,解决实际问题的重要一步。

DeepMind说,现在AlphaZero已经学会了三种不同的复杂棋类游戏,并且可能学会任何一种完美信息博弈的游戏,这“让我们对创建通用学习系统的使命充满信心”。

AlphaZero到底有多厉害?再总结一下。

在国际象棋中,AlphaZero训练4小时就超越了世界冠军程序Stockfish;

在日本将棋中,AlphaZero训练2小时就超越了世界冠军程序Elmo。

在围棋中,AlphaZero训练30小时就超越了与李世石对战的AlphaGo。

AlphaZero有什么不同

国际象棋有什么难的?

实际上,国际象棋是计算机科学家很早就开始研究的领域。1997年,深蓝击败了人类国际象棋冠军卡斯帕罗夫,这是一个人工智能的里程碑。此后20年,国际象棋的算法在超越人类后,一直还在不断地进步。

这些算法都是由强大的人类棋手和程序员构建,基于手工制作的功能和精心调整的权重来评估位置,并且结合了高性能的alpha-beta搜索。

而提到游戏树的复杂性,日本将棋比国际象棋还难。日本将棋程序,使用了类似国际象棋的算法,例如高度优化的alpha-beta搜索,以及许多有针对性的设置。

AlphaZero则完全不同,它依靠的是深度神经网络、通用强化学习算法和通用树搜索算法。除了基本规则之外,它对这些棋类游戏一无所知。

其中,深度神经网络取代了手工写就的评估函数和下法排序启发算法,蒙特卡洛树搜索(MCTS)算法取代了alpha-beta搜索。

AlphaZero深度神经网络的参数,通过自我博弈的强化学习来训练,从随机初始化的参数开始。

随着时间推移,系统渐渐从输、赢以及平局里面,学会调整参数,让自己更懂得选择那些有利于赢下比赛的走法。

那么,围棋和国际象棋、将棋有什么不同?

围棋的对弈结局只有输赢两种,而国际象棋和日本将棋都有平局。其中,国际象棋的最优结果被认为是平局。

此外,围棋的落子规则相对简单、平移不变,而国际象棋和日本将棋的规则是不对称的,不同的棋子有不同的下法,例如士兵通常只能向前移动一步,而皇后可以四面八方无限制的移动。而且这些棋子的移动规则,还跟位置密切相关。

尽管存在这些差异,但AlphaZero与下围棋的AlphaGo Zero使用了相同架构的卷积网络

AlphaGo Zero的超参数通过贝叶斯优化进行调整。而在AlphaZero中,这些超参数、算法设置和网络架构都得到了继承。

除了探索噪声和学习率之外,AlphaZero没有为不同的游戏做特别的调整。

5000个TPU练出最强全能棋手

系统需要多长时间去训练,取决于每个游戏有多难:国际象棋大约9小时,将棋大约12小时,围棋大约13天。

只是这个训练速度很难复现,DeepMind在这个环节,投入了5000个一代TPU来生成自我对弈游戏,16个二代TPU来训练神经网络。

训练好的神经网络,用来指引一个搜索算法,就是蒙特卡洛树搜索 (MCTS) ,为每一步棋选出最有利的落子位置。

每下一步之前,AlphaZero不是搜索所有可能的排布,只是搜索其中一小部分。

比如,在国际象棋里,它每秒搜索6万种排布。对比一下,Stockfish每秒要搜索6千万种排布,千倍之差。

△每下一步,需要做多少搜索?

AlphaZero下棋时搜索的位置更少,靠的是让神经网络的选择更集中在最有希望的选择上。DeepMind在论文中举了个例子来展示。

上图展示的是在AlphaZero执白、Stockfish执黑的一局国际象棋里,经过100次、1000次……直到100万次模拟之后,AlphaZero蒙特卡洛树的内部状态。每个树状图解都展示了10个最常访问的状态。

经过全面训练的系统,就和各个领域里的最强AI比一比:国际象棋的Stockfish,将棋的Elmo,以及围棋的前辈AlphaGo Zero。

每位参赛选手都是用它最初设计中针对的硬件来跑的:

Stockfish和Elmo都是用44个CPU核;AlphaZero和AlphaGo Zero用的都是一台搭载4枚初代TPU和44个CPU核的机器。

(一枚初代TPU的推理速度,大约相当于一个英伟达Titan V GPU。)

另外,每场比赛的时长控制在3小时以内,每一步棋不得超过15秒。

比赛结果是,无论国际象棋、将棋还是围棋,AlphaGo都击败了对手:

国际象棋,大比分击败2016 TCEC冠军Stockfish,千场只输155场。

将棋,大比分击败2017 CSA世界冠军Elmo,胜率91.2%。

围棋,击败自学成才的前辈AlphaGo Zero,胜率61%。

不按套路落子

因为AlphaZero自己学习了每种棋类,于是,它并不受人类现有套路的影响,产生了独特的、非传统的、但具有创造力和动态的棋路。

在国际象棋里,它还发展出自己的直觉和策略,增加了一系列令人兴奋的新想法,改变了几个世纪以来对国际象棋战略的思考。

国际象棋世界冠军卡斯帕罗夫也在《科学》上撰文表示,AlphaZero具备动态、开放的风格,“就像我一样”。他指出通常国际象棋程序会追求平局,但AlphaZero看起来更喜欢风险、更具侵略性。卡斯帕罗夫表示,AlphaZero的棋风可能更接近本源。

卡斯帕罗夫说,AlphaZero以一种深刻而有用的方式超越了人类。

国际象棋大师马修·萨德勒(Matthew Sadler)和女性国际大师娜塔莎·里根(Natasha Regan)即将于2019年1月出版新书《棋类变革者(Game Changer)》,在这本书中,他们分析了数以千计的AlphaZero棋谱,认为AlphaZero的棋路不像任何传统的国际象棋引擎,马修·萨德勒评价它为“就像以前翻看一些厉害棋手的秘密笔记本。”

棋手们觉得,AlphaZero玩这些游戏的风格最迷人。

国际象棋特级大师马修·萨德勒说:“它的棋子带着目的和控制力包围对手的王的方式”,最大限度地提高了自身棋子的活动性和移动性,同时最大限度地减少了对手棋子的活动和移动性。

与直觉相反,AlphaZero似乎对“材料”的重视程度较低,这一想法是现代游戏的基础,每一个棋子都具有价值,如果玩家在棋盘上的某个棋子价值高于另一个,那么它就具有物质优势。AlphaZero愿意在游戏早期牺牲棋子,以获得长期收益。

“令人印象深刻的是,它设法将自己的风格强加于各种各样的位置和空缺,”马修说他也观察到,AlphaZero以非常刻意的方式发挥作用,一开始就以“非常人性化的坚定目标”开始。

“传统引擎非常强大,几乎不会出现明显错误,但在面对没有具体和可计算解决方案的位置时,会发生偏差,”他说。 “正是在这样的位置,AlphaZero才能体现出‘感觉’,‘洞察’或‘直觉’。”

这种独特的能力,在其他传统的国际象棋程序中看不到,并且已经给最近举办的世界国际象棋锦标赛提供了新的见解和评论。

“看看AlphaZero的分析与顶级国际象棋引擎甚至顶级大师级棋手的分析有何不同,这真是令人着迷,”女棋手娜塔莎·里根说。 “AlphaZero可以成为整个国际象棋圈强大的教学工具。”

AlphaZero的教育意义,早在2016年AlphaGo对战李世石时就已经看到。

在比赛期间,AlphaGo发挥出了许多极具创造性的胜利步法,包括在第二场比赛中的37步,这推翻了之前数百年的思考。这种下法以及其他许多下法,已经被包括李世石本人在内的所有级别的棋手研究过。

他对第37步这样评价:“我曾认为AlphaGo是基于概率计算的,它只是一台机器。但当我看到这一举动时,我改变了想法。当然AlphaGo是有创造性的。“

不仅仅是棋手

DeepMind在博客中说AlphaZero不仅仅是国际象棋、将棋或围棋。它是为了创建能够解决各种现实问题的智能系统,它需要灵活适应新的状况。

这正是AI研究中的一项重大挑战:系统能够以非常高的标准掌握特定技能,但在略微修改任务后往往会失败。

AlphaZero现在能够掌握三种不同的复杂游戏,并可能掌握任何完美信息游戏,解决了以上问题中重要的一步。

他们认为,AlphaZero的创造性见解,加上DeepMind在AlphaFold等其他项目中看到的令人鼓舞的结果,带来了创建通用学习系统的信心,有助于找到一些新的解决方案,去解决最重要和最复杂的科学问题。

DeepMind的Alpha家族从最初的围棋算法AlphaGo,几经进化,形成了一个家族。

刚提到的AlphaFold,最近可以说关注度爆表。

它能根据基因序列来预测蛋白质的3D结构,还在有“蛋白质结构预测奥运会”之称的CASP比赛中夺冠,力压其他97个参赛者。这是“证明人工智能研究驱动、加速科学进展重要里程碑”,DeepMInd CEO哈萨比斯形容为“灯塔”。

从2016年AlphaGo论文发表在《自然》上,到今天AlphaZero登上《科学》,Alpha家族除了最新出炉的AlphaFold之外,AlphaGo、AlphaGo Zero和AlphaZero已经全部在顶级期刊Nature和Science上亮相。

期待轰动科研界的AlphaFold论文早日露面。

AlphaZero论文

这篇刊载在《科学》上的论文,题为:

A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play

作者包括:David Silver、Thomas Hubert、Julian Schrittwieser、Ioannis Antonoglou、Matthew Lai、Arthur Guez、Marc Lanctot、Laurent Sifre、Dharshan Kumaran、Thore Graepel、Timothy Lillicrap、Karen Simonyan、Demis Hassabis。

《科学》刊载的论文在此:http://science.sciencemag.org/content/362/6419/1140

棋局可以在此下载:https://deepmind.com/research/alphago/alphazero-resources/

DeepMind还特别写了一个博客,传送门:https://deepmind.com/blog/alphazero-shedding-new-light-grand-games-chess-shogi-and-go/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98708
  • 人工智能
    +关注

    关注

    1776

    文章

    43783

    浏览量

    230562
  • 机器学习
    +关注

    关注

    66

    文章

    8109

    浏览量

    130542

原文标题:AlphaZero登上《科学》封面:一个算法“通杀”三大棋,完整论文首次发布

文章出处:【微信号:AItists,微信公众号:人工智能学家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何才能高效地进行深度学习模型训练

    分布式深度学习框架中,包括数据/模型切分、本地单机优化算法训练、通信机制、和数据/模型聚合等模块。现有的算法一般采用随机置乱切分的数据分配方式,随机优化算法(例如
    的头像 发表于 07-09 08:48 1.4w次阅读
    如何才能高效地进行深度<b class='flag-5'>学习</b>模型<b class='flag-5'>训练</b>?

    哪里开始学习

    本帖最后由 lhg09 于 2011-10-14 23:31 编辑 我是电气专业大三学生,想学习MAtlab软件,请问大家我该哪里开始?谢谢
    发表于 10-14 23:30

    五子棋游戏里如何实现悔棋功能啊

    基于labview的五子棋游戏,有人机对弈和双人对弈模式,双人对弈在不联网的情况下
    发表于 10-10 14:18

    学习单片机哪里开始

    请问,学习单片机要从哪里开始哪里下手?我不是学习电子的。{:8:}
    发表于 01-05 20:19

    AlphaGo为何精通围棋?围棋论文曝光【中文翻译】-原来它是这样深度学习和思考的,难怪老赢!

    有效的学习更新。和前人的工作相同,我们也训练了一个快速走子策略 ,它可以在 展开中快速采样。下一步,我们训练了一个强化
    发表于 06-06 18:25

    【NanoPi K1 Plus试用体验】深度学习---快速开始函数式(Functional)

    今天开始继续研究深度学习keras的模型Functional。起初将Functional一词译作泛型,想要表达该类模型能够表达任意张量映射的含义,但表达的不是很精确,在Keras 2里我们将这个词改
    发表于 07-23 11:15

    使用 Python 开始机器学习

    面向初学者的平台Ape Advice™,就不用烦细节的问题了。如果你完全没有接触过机器学习scikit-learn开始。你可以了解标记,训练和测试是怎样工作的,以及一个模型是如何被
    发表于 12-11 18:37

    怎样去设计一种人机对弈五子棋程序

    五子棋游戏应达到几方面的要求?怎样去设计一种人机对弈五子棋程序?
    发表于 09-29 07:26

    模拟射击训练游戏T6963C程序

    大佬们,有模拟射击训练游戏的完整程序吗?不需要填空的那种!!
    发表于 12-20 21:15

    如何在基于Arm的设备上运行游戏AI呢

    。培训结果下图显示了指标如何在训练步骤中转换:图 2. 跟踪学习进度的训练指标在训练的初始阶段,您可以看到累积奖励的值在 -1 左右。这是因为代理的动作一
    发表于 08-15 15:43

    谷歌发布新版AlphaGo,对弈自我学习,已击败柯洁系统

    谷歌旗下人工智能研究部门DeepMind发布了新版AlphaGo软件,它可以完全靠自己学习围棋。 这款名为AlphaGo Zero的系统可以通过自我对弈进行学习,它利用了一种名为强化学习
    发表于 10-19 17:57 4558次阅读

    随机块模型学习算法

    由于随机块模型能够有效处理不具有先验知识的网络,对其研究成为了机器学习、网络数据挖掘和社会网络分析等领域的研究热点.如何设计出具有模型选择能力的快速随机块模型
    发表于 01-09 18:20 1次下载

    Python随机数模块的随机函数使用

    随机数在日常的应用开发中,使用的比较多,比如抽奖游戏,如果你不依靠随机数,就会变的由规律,容易被人发现规律。比如我们的斗地主游戏,它的发牌程序也会
    的头像 发表于 01-18 17:55 2145次阅读
    Python<b class='flag-5'>随机</b>数模块的<b class='flag-5'>随机</b>函数使用

    游戏AI对自对弈推理速度提出新要求

    与推理服务,加快AI训练速度。 游戏AI对自对弈推理速度提出新要求 和图像以及语音的训练方式不同,目前在游戏AI
    的头像 发表于 10-22 09:23 1345次阅读

    随机颜色之与Alexa的随机玩家游戏

    电子发烧友网站提供《开随机颜色之与Alexa的随机玩家游戏.zip》资料免费下载
    发表于 12-20 09:23 0次下载
    开<b class='flag-5'>随机</b>颜色之与Alexa的<b class='flag-5'>随机</b>玩家<b class='flag-5'>游戏</b>