摘要算法
新智元AI World 2017世界人工智能大会倒计时进入20天,DeepMind 如约公布了他们最新版AlphaGo论文,也是他们最新的Nature论文,介绍了迄今最强最新的版本AlphaGo Zero,使用纯强化学习。网络
新智元报道架构
来源:Nature;DeepMind函数
编译:闻菲,刘小芹性能
【新智元导读】新智元AI World 2017世界人工智能大会倒计时进入20天,DeepMind 如约公布了他们最新版AlphaGo论文,也是他们最新的Nature论文,介绍了迄今最强最新的版本AlphaGo Zero,使用纯强化学习,将价值网络和策略网络整合为一个架构,3天训练后就以100比0击败了上一版本的AlphaGo。AlphaGo已经退休,但技术永存。DeepMind已经完成围棋上的概念证实,接下来就是用强化学习创造改变世界的价值。学习
今年5月乌镇围棋大赛时,DeepMind CEO Hassabis 表示,将在今年晚些时候公布打败了柯洁的那版AlphaGo的技术细节。今天,这个承诺如约兑现,DeepMind在他们最新发表于Nature的一篇论文中,描述了迄今最强大的一版AlphaGo—— AlphaGo Zero 的技术细节。测试
AlphaGo Zero彻底不依赖于人类数据,所以,这一系统的成功也是朝向人工智能研究长期以来的目标——创造出在没有人类输入的条件下,在最具挑战性的领域实现超越人类能力的算法——迈进的一大步。网站
做者在论文中写道,AlphaGo Zero 证实了即便在最具挑战的领域,纯强化学习的方法也是彻底可行的:不须要人类的样例或指导,不提供基本规则之外的任何领域知识,使用强化学习可以实现超越人类的水平。此外,纯强化学习方法只花费额外不多的训练时间,但相比使用人类数据,实现了更好的渐进性能(asymptotic performance)。人工智能
在不少状况下,人类数据,尤为是专家数据,每每太过昂贵,或者根本没法得到。若是相似的技术能够应用到其余问题上,这些突破就有可能对社会产生积极的影响。设计
是的,你或许要说,AlphaGo已经在今年5月宣布退休,但AlphaGo的技术将永存,并进一步往前发展、进化。DeepMind已经完成围棋上的概念证实,接下来,就是用他们的强化学习改变世界。
这也是为何接下来咱们要介绍的这篇论文如此重要——它不只是不少人期盼已久的技术报告,也是人工智能一个新的技术节点。在将来,它将获得不少引用,成为无数AI产业和服务的基础。
迄今最强大的围棋程序:不使用人类的知识
DeepMind这篇最新的Nature,有一个朴素的名字——《不使用人类知识掌握围棋》。
摘要
人工智能长期以来的一个目标是创造一个可以在具备挑战性的领域,以超越人类的精通程度学习的算法,“tabula rasa”(译注:一种认知论观念,认为指个体在没有先天精神内容的状况下诞生,全部的知识都来自于后天的经验或感知)。此前,AlphaGo成为首个在围棋中打败人类世界冠军的系统。AlphaGo的那些神经网络使用人类专家下棋的数据进行监督学习训练,同时也经过自我对弈进行强化学习。
在这里,咱们介绍一种仅基于强化学习的算法,不使用人类的数据、指导或规则之外的领域知识。AlphaGo成了本身的老师。咱们训练了一个神经网络来预测AlphaGo本身的落子选择和AlphaGo自我对弈的赢家。这种神经网络提升了树搜索的强度,使落子质量更高,自我对弈迭代更强。从“tabula rasa”开始,咱们的新系统AlphaGo Zero实现了超人的表现,以100:0的成绩击败了此前发表的AlphaGo。
DOI:10.1038/nature24270
全新的强化学习:本身成为本身的老师
DeepMind 研究人员介绍 AlphaGo Zero。视频来源:DeepMind,视频中英文字幕由Nature 上海办公室制做
AlphaGo Zero 获得这样的结果,是利用了一种新的强化学习方式,在这个过程当中,AlphaGo Zero 成为本身的老师。这个系统从一个对围棋游戏彻底没有任何知识的神经网络开始。而后,经过将这个神经网络与一种强大的搜索算法相结合,它就能够本身和本身下棋了。在它自我对弈的过程当中,神经网络被调整、更新,以预测下一个落子位置以及对局的最终赢家。
这个更新后的神经网络又将与搜索算法从新组合,进而建立一个新的、更强大的 AlphaGo Zero 版本,再次重复这个过程。在每一次迭代中,系统的性能都获得一点儿的提升,自我对弈的质量也在提升,这就使得神经网络的预测愈来愈准确,获得更增强大的 AlphaGo Zero 版本。
这种技术比上一版本的 AlphaGo 更强大,由于它再也不受限于人类知识的局限。相反,它能够从一张白纸的状态开始,从世界上最强大的围棋玩家——AlphaGo 自身——学习。
AlphaGo Zero 在其余方面也与以前的版本有所不一样:
AlphaGo Zero 只使用围棋棋盘上的黑子和白子做为输入,而上一版本的 AlphaGo 的输入包含了少许人工设计的特征。
它只使用一个神经网络,而不是两个。之前版本的 AlphaGo 使用一个“策略网络”(policy network)来选择下一个落子位置和一个“价值网络”(value network)来预测游戏的赢家。这些在 AlphaGo Zero 中是联合进行的,这使得它可以更有效地进行训练和评估。
AlphaGo Zero 不使用“走子演算”(rollout)——这是其余围棋程序使用的快速、随机游戏,用来预测哪一方将从当前的棋局中获胜。相反,它依赖于高质量的神经网络来评估落子位置。
上面的全部这些不一样之处都有助于提升系统的性能,使其更加通用。但使得这个系统更增强大和高效的是算法的改变。
在进行了3天的自我训练后,AlphaGo Zero 在100局比赛中以100:0击败了上一版本的 AlphaGo——而上一版本的 AlphaGo 击败了曾18次得到围棋世界冠军的韩国九段棋士李世乭。通过 40 天的自我训练后,AlphaGo Zero 变得更增强大,超越了“Master”版本的 AlphaGo——Master 曾击败世界上最优秀的棋士、世界第一的柯洁。
在通过数以百万计的 AlphaGo vs AlphaGo 的对弈后,这个系统逐渐从零开始学会了下围棋,在短短几天内积累了人类数千年积累的知识。AlphaGo Zero 也发现了新的知识,开发出很是规的策略和创造性的新下法,这些新下法超越了它在与柯洁和李世乭比赛时发明的新技巧。
尽管目前仍处于早期阶段,但 AlphaGo Zero 成为了朝着这个目标迈进的关键一步。DeepMind 联合创始人兼 CEO Demis Hassabis 评论称:“AlphaGo在短短两年里取得了如此使人惊叹的成果。如今,AlphaGo Zero是咱们项目中最强大的版本,它展现了咱们在更少的计算能力,并且彻底不使用人类数据的状况下能够取得如此大的进展。
“最终,咱们但愿利用这样的算法突破来帮助解决现实世界的各类紧迫问题,例如蛋白质折叠或新材料设计。若是咱们能在这些问题上取得与AlphaGo一样的进展,就有可能推进人类理解,并对咱们的生活产生积极影响。”
AlphaGo Zero 技术细节拆解:将价值网络和策略网络整合为一个架构,整合蒙特卡洛搜索不断迭代
新方法使用了一个深度神经网络 fθ,参数为 θ。这个神经网络将原始棋盘表征 s(棋子位置和历史)做为输入,输出落子几率和一个值 (p, v)= fθ(s)。
落子几率向量 p 表示选择下每一步棋(包括不下)的几率。值 v 是一个标量估值,衡量当前棋手在位置 s 获胜的几率。
这个神经网络将最初的 AlphaGo(下文中的 AlphaGo Fan 和 AlphaGo Lee,分别指对战樊麾和对战李世石的版本)的策略网络和价值网络整合到一个架构里,含有不少基于卷积神经网络的残差模块,这些残差模块中使用了批正则化(batch normalization)和非线性整流函数(rectifier nonlinearities)。
AlphaGo Zero 的神经网络使用自我对弈数据作训练,这些自我对弈是在一种新的强化学习算法下完成的。在每一个位置 s,神经网络 fθ 都会进行蒙特卡洛树搜索(MCTS)。MCTS 输出下每步棋的落子几率 π。这样搜索得出的几率一般比神经网络 fθ(s) 的原始落子几率 p 要更增强一些;MCTS 也所以能够被视为一个更增强大的策略提高 operator。
系统经过搜索进行自我对弈,也即便用加强的基于 MCTS 的策略选择下哪步棋,而后使用获胜者 z 做为价值样本,这个过程能够被视为一个强有力的策略评估 operator。
这一新的强化学习算法的核心思想是,在策略迭代的过程当中,反复使用这些搜索 operator:神经网络的参数不断更新,让落子几率和价值 (p,v)= fθ(s) 愈来愈接近改善后的搜索几率和自我对弈赢家 (π, z)。这些新的参数也被用于下一次自我对弈的迭代,让搜索更强。下面的图1 展现了自我对弈训练的流程。
图1:AlphaGo Zero 自我对弈训练的流程:a. 程序本身和本身下棋,标记为s1, ..., sT。在每一个位置st,一个MCTS αθ被执行(见图2),使用最新的神经网络fθ。每一个走子选择的依据是经过MCTS, at ? πt计算的搜索几率。最终的位置sT根据游戏规则计算对局的最终胜者z。b. AlphaGo Zero 中神经网络的训练。该神经网络将棋盘位置st做为输入,与参数θ一块儿讲它传送到许多的卷积层,并同时输出表示每一走子的几率分布的向量 pt 和一个表示当前玩家在位置 st 上的赢率的标量值 vt。
MCTS 使用神经网络 fθ 指导其模拟(参见图2)。搜索树中的每条边 (s, a) 都存储了一个几率先验 P(s, a),一个访问数 N(s, a),以及动做值 Q(s, a)。每次模拟都从根节点状态开始,不断迭代,选择能将置信区间 Q(s, a)+ U(s, a) 的上层最大化的落子结果,直到走到叶节点 s′。
而后,网络会扩充这个叶节点,而且只进行一次评估,生成几率先验和评估值,(P(s′, ·), V(s′))= fθ(s′)。在模拟中,遍历每条边 (s, a) 后,会更新访问量 N(s, a),而后将动做值更新,取全部模拟的平均值:
。
MCTS 能够被看作一种自我对弈算法:给定神经网络参数 θ 和一个根节点位置 s,计算搜索几率向量推荐落子 π = αθ(s),与每步棋的访问量指数成正比,τ 是温度参数:
。
图2:MCTS 使用神经网络 fθ 模拟落子选择的过程示意
神经网络使用这个自我对弈的强化学习算法作训练,正如上文介绍,这个算法使用 MCTS 下每一步棋。首先,神经网络使用随机权重 θ0 初始化。在随后的每一次迭代中,i ≥ 1,生成自我对弈棋谱(参见图1的a)。在每一个时间步长 t,运行一个 MCTS 搜索 πt = αθ (st),使用上一次神经网络 fθi?1 迭代的结果,而后根据搜索几率采样下出一步棋。一局棋在第 T 步结束,也就是双方都没法落子,搜索值下降到阈值如下的时候。随后,进行计分,得出奖励 rT ∈ {?1,+1}。
每个时间步长 t 的数据都被存储为 (st, πt, zt),其中 zt = ± rT 就是从当前这步棋 t 看来最终获胜的赢家。
同时(参见图1 b),使用从最后一次自我对弈迭代的全部时间步长中获取的数据 (s, π, z),对新的网络参数 θi 进行训练。调整神经网络 (p, v) = fθi (s),将预测值 v 和自我对比胜者 z 之间的偏差下降到最小,同时将神经网络落子几率 p 和搜索几率 π 之间的类似度提高到最大。
具体说,咱们用损失函数 l 的梯度降低来调节参数 θ,这个损失函数表示以下,其中 c 是控制 L2 权重正则化水平的参数(防止过拟合):
评估结果:21天就比打败柯洁的Master更加厉害
DeepMind官方博客上介绍了AlphaGo Zero与此前版本的对比。彻底从零开始,3天超越AlphaGo李世石版本,21天达到Master水平。
几个不一样版本的计算力对好比下:
论文中,为了分开结构和算法的贡献,DeepMind研究人员还比较了 AlphaGo Zero 的神经网络架构和先前与李世乭对弈时的 AlphaGo (记为 AlphaGo Lee)的神经网络架构的性能(见图4)。
咱们构建了4个神经网络,分别是在 AlphaGo Lee 中使用的分开的策略网络和价值网络,或者在 AlphaGo Zero 中使用的合并的策略和价值网络;以及 AlphaGo Lee 使用的卷积网络架构,或 AlphaGo Zero 使用的残差网络架构。每一个网络都被训练以最小化同一个损失函数(公式1),训练使用的是 AlphaGo Zero 在72小时的自我对弈以后产生的同一个自我对弈棋局数据集。
使用残差网络的准确率更高,偏差更低,在 AlphaGo 达到600 Elo(等级分)的性能提升。将策略(policy)和价值(value)结合到一个单一的网络中的话,走子预测的准确性略微下降了,可是价值错误也下降了,而且将 AlphaGo 的性能再提升了600 Elo。这在必定程度上是因为提升了计算效率,但更重要的是,双目标使网络成为支持多个用例的常规表示。
图4:AlphaGo Zero 和 AlphaGo Lee 的神经网络架构比较。使用分开的策略和价值网络记为(sep),使用组合的策略和价值网络记为(dual),使用卷积网络记为(conv),使用残差网络记为(res)。“dual-res”和“sep-conv”分别表示在 AlphaGo Zero 和 AlphaGo Lee 中使用的神经网络架构。每一个网络都在同一个数据集上训练,该数据集由 AlphaGo Zero 的自我对弈产生。a,每一个训练好的网络都与 AlphaGo Zero 的搜索相结合,以获得一个不一样的玩家。Elo等级分是由这些不一样玩家之间的评估游戏计算获得的,每一步棋有5秒的思考时间。b,对每一个网络架构的职业棋手的走法(从GoKifu数据集得来)的预测准确性。c,每一个网络架构的人类职业棋手的棋局结果(从GoKifu数据集得来)的MSE。
AlphaGo Zero学到的知识。a,AlphaGo Zero训练期间发现的五我的类定式(常见的角落序列)。b)自我对弈中爱用的5个定式。c)在不一样训练阶段进行的3次自我对弈的前80步棋,每次搜索使用1,600次模拟(约0.4s)。最开始,系统关注夺子,很像人类初学者。然后,关注势和地,也即围棋根本。最后,整场比赛体现出了很好的平衡,涉及屡次战斗和一场复杂的战斗,最终以白棋多半子获胜。
AlphaGo 小传
姓名:AlphaGo(Fan,Lee,Master,Zero)
别名:阿老师,阿尔法狗
生日:2014年
出生地:英国伦敦
1
击败樊麾
2015年10月,AlphaGo击败樊麾,成为第一个无需让子便可在19路棋盘上击败围棋职业棋手的电脑围棋程序,写下了历史,相关成果在2016年1月发表于Nature
2
击败李世石
2016年3月,AlphaGo在一场五番棋比赛中4:1击败尖端职业棋手李世石,成为第一个不借助让子而击败围棋职业九段棋手的电脑围棋程序,再创历史。五局赛后韩国棋院授予AlphaGo有史以来第一位名誉职业九段
3
排名短暂超越柯洁
2016年7月18日,AlphaGo在Go Ratings网站的排名升至世界第一。但几天以后被柯洁反超。
4
化名“Master”横扫棋界
2016年末至2017年年初,再度强化的AlphaGo以“Master”为名,在未公开其真实身份的状况下,借非正式的网络快棋对战进行测试,挑战中韩日台的一流高手,60战全胜
5
打败柯洁,成为世界第一
2017年5月23至27日乌镇围棋峰会,最新的强化版AlphaGo和世界第一棋手柯洁对局,并配合八段棋手协同做战与对决五位顶尖九段棋手等五场比赛,获取3比零全胜的战绩,团队战与组队战也全胜。此次AlphaGo的运算资源消耗仅李世石版本的十分之一。在与柯洁的比赛结束后,中国围棋协会授予AlphaGo职业围棋九段的称号
AlphaGo在没有人类对手后,2017年5月25日,AlphaGo之父杰米斯·哈萨比斯宣布AlphaGo退役。AlphaGo的研究计划于2014年开始,从业余棋手的水平到世界第一,AlphaGo的棋力获取这样的进步,仅仅花了两年左右。
AlphaGo虽已退休,但技术永存。
谨以此文,致敬AlphaGo,以及研发AlphaGo的人。
对AI来讲,德州扑克是比围棋更难的游戏!新智元世界人工智能大会邀请到打败了人类德扑职业玩家的“冷扑大师”Libratus发明人CMU教授Tuomas Sandholm,