ature

本文带来强化学习论文系列的第二篇文章:「Nature 2017, AlphaGoZero」: Silver D, Schrittwieser J, Simonyan K, et al. Mastering the game of go without human knowledge[J]. nature, 2017, 550(7676): 354-359.

人工智能的长远目标之一就是研发出一种能够从白板开始学习,并逐渐进化成拥有超常能力的算法。目前,AlphaGo成为了第一个打败围棋世界冠军的程序。AlphaGo的核心是使用深度网络在蒙特卡罗树搜索过程中进行棋盘局势判断和走棋选择决策。这些深度网络使用监督学习的方法从人类专家棋谱中进行训练,使用强化学习的方法从自我对弈的过程中进行训练。本文介绍一种只使用强化学习的训练算法,除了需要基本的围棋规则以外,不需要人类围棋数据、指导和领域知识。本文使用强化学习得到的深度网络能够同时进行棋盘局势判断预测获胜者,以及走棋选择决策。这个深度网络能够提高树搜索的优势,使得在下一次迭代时,保证更高质量的走棋选择,以及更强的自我对弈。AlphaGo Zero从白板开始学习,能够达到超常的能力,并在实践中,以100:0的绝对优势战胜了此前发布的、打败欧洲围棋世界冠军的AlphaGo。

目前人工智能领域的成就主要得益于监督学习,使用监督学习的方法从人类专家数据中进行训练,达到复制、模仿人类专家决策的目的。然而,人类专家的数据通常是昂贵、不可靠甚至不可得到的。即使能够得到可靠的专家数据,训练得到的监督学习系统通常也会达到一个性能瓶颈。相反,强化学习系统从自我经历中训练,原则上可以超越人类的能力,并且能够发掘出人类不曾发现的未知领域。目前,使用强化学习训练的深度神经网络在这一目标上已经取得了快速的发展。例如计算机游戏Atari、3D虚拟环境等,强化学习系统已经超越了人类水平。然而,对于人工智能领域最富挑战性的围棋游戏,上述通用的方法还无法取得和人类水平相当的成就,主要是因为围棋游戏需要在一个浩大的搜索空间中进行精准、复杂的lookahead搜索。

AlphaGo是第一个在围棋领域达到超越人类水平的程序。此前发布的AlphaGo Fan打败了欧洲围棋冠军Fan Hui。回顾一下,AlphaGo使用两个深度网络,策略网络输出下一步走棋的概率分布,值网络判断当前棋面局势,预测获胜者。策略网络一开始使用监督学习的方式,用于加快预测专家走棋;随后使用Policy Gradient的强化学习算法进行重新优化。值网络从策略网络自我对弈过程中进行训练学习,用于预测获胜者。离线训练完后,再使用蒙特卡罗搜索树将深度网络结合起来,使用策略网络将搜索局限在高概率的动作,使用值网络(和Fast Rollout Policy结合)来评估叶子节点的棋面局势,多次执行蒙特卡罗模拟,最终选择访问次数最多的边对应的动作为下一步棋的下法。值得注意的是,后续发布的AlphaGo Lee使用了相似的方法,打败了18届围棋世界冠军李世石。

AlphaGo Zero不同于AlphaGo Fan和AlphaGo Lee。主要体现在如下几个方面:

为了实现上述目标,本文研究出一种新的强化学习训练算法,将蒙特卡罗树搜索树纳入训练阶段。新的算法使得性能提升更快、学习更加精确和稳定。

网络结构:深度残差神经网络,参数为。每个卷积层由许多残差块组成,使用batch normalization和rectifier nonlinearities.

输入层:Raw Board Representation of the position and its history。只使用棋面的黑白棋特征。

输出层:,输出下一步动作的概率分布和预测值。是一个向量,代表下一步动作的概率分布, 是一个值,代表当前下棋方获胜的概率。

作用:同时充当了策略网络和值网络的角色。

具体训练的一些细节如下:

Select: 每次模拟从当前棋面对应的根节点s开始,不断迭代的选择置信上界最大的动作进行搜索,一直搜索到遇到叶子节点。

Expand and Evaluate: 叶子节点访问次数达到一个阈值时,此时进行扩展并评估。使用神经网络产生先验概率和评估值。<span role='presentation' data-formula='(P(s' ,="" \dot{}),="" v(s')="" )="f_\theta(s')'" data-formula-type='inline-equation'>。「此处体现了神经网络是如何指导蒙特卡罗搜索的」。

Play: 多次模拟过程结束后,得到搜索概率分布, 搜索概率正比于访问次数的某次方, 称为温度参数(temperature parameter)。那么最终的走棋Play,可以使用该分布来抽样动作。

「MCTS搜索模拟过程」:使用神经网络来指导模拟过程。搜索树的每条边存放先验概率,访问次数和动作效益值。

「数据产生(自我对弈)过程」:在每局自我对弈过程中,使用前一轮的强化学习网络来指导蒙特卡罗搜索树进行下棋。对于该局的每个时间步的棋面,蒙特卡罗搜索模拟过程产生下一步走棋概率分布,因此能够产生数据对。不断对弈直到时间步时刻,该局决出胜负,得到报酬。再回过头,将该作为标签贴到前面时间步$t(<t)$产生的数据对$(s_t, \pi_t,='' z_t)$的$z_t$上,其中$z_t='±r_T$,' $±$符号根据当前棋面对应的下棋方确定。由此1局对弈便可产生许多训练数据$(s_t,='' z_t)$。训练的时候,$s_t$是神经网络的输入:当前棋面提取的特征,$(\pi_t,='' z_t)$是样本$s_t$的标签,='' 神经网络的输出$(p,v)$要拟合该标签。<='' p=''>

「优化过程」:神经网络首先使用随机权重进行初始化。在后续每一轮迭代中(每轮迭代对应若干局完整的围棋对弈),神经网络使用强化学习算法Policy Iteration进行训练优化,该强化学习算法将蒙特卡罗搜索树纳入训练过程,用前一轮的神经网络在该轮迭代的每个时间步来指导蒙特卡罗搜索,直到时间步产生胜负,按照上述描述来构造该轮对弈产生的数据。接着,从该轮所有时间步产生的数据中进行正态随机抽样得到训练数据,神经网络使用该训练数据进行参数更新,目标是使得新的神经网络的输出能够拟合,也即最小化和之间的误差,最大化和之间的相似性。优化损失函数如下, 结合了MSE和cross-entropy loss(还包括正则化项)。

上述描述的是连续训练的版本,即每次都使用最新轮次的神经网络进行自我对弈和产生训练数据,实际自我对弈和训练过程中,部分细节和上述不大一样:

训练数据是到目前为止最好的 (神经网络指导下的蒙特卡罗搜索树)自我对弈产生的。实际训练时,从到目前为止的500,000个棋面数据中进行正态抽样进行参数更新。

每训练1000轮,需要进行评估。当前最好的 和当前轮次 进行400局对决,如果超过55%的胜率,那么使用替代。下轮迭代使用新的自我对弈产生数据。

训练过程包括三个「并行」的核心子过程:

自我对弈和训练优化过程示意图如下:

使用强化学习管道方式来进行AlphaGo Zero的训练。训练从完全随机的行为开始,一直持续3天,期间不需要人为的干涉。在这个过程中,总共生成了490万个自我对弈棋局,每次蒙特卡罗搜索进行1600次模拟,相应的每步走棋平均花费0.4s,神经网络的参数使用70万个mini batch, 每个mini batch包含2048个棋面进行更新,该残差神经网络包含20个残差块residual blocks。

「考察AlphaGo Zero训练过程能力变化情况」

图3a显示了AlphaGo Zero性能随着训练时长增长的变化情况。曲线上的每个点代表该时间点对应的第轮迭代得到的蒙特卡罗搜索树的能力值。形象的说,每轮迭代完都会产生一个使用深度网络指导的蒙特卡罗搜索树玩家,让该玩家去和其他玩家进行在线对弈,最终计算出能力值。可以看出AlphaGo Zero能力值一直不断稳步提升,克服了震荡和遗忘性能的问题。且3天之后,能力值还有向上的趋势。作为对比,绘制了监督学习的性能变化曲线,该监督学习使用相同的网络和算法,但是数据不是通过自我对弈产生的,而是来自KGS dataset人类的数据,曲线表明监督学习一开始性能比AlphaGo Zero高,但是上升缓慢,24小时的时候,就已经被AlphaGo Zero超越。另外,还绘制了训练数个月的AlphaGo Lee的值,可以看到训练36个小时的AlphaGo Zero已经超越了训练数个越的AlphaGo Lee的能力值。

「考察AlphaGo Zero和AlphaGo Lee对决」

AlphaGo Lee是使用当初战胜李世石的分布式AlphaGo版本,使用48个TPUs。AlphaGo Zero使用训练72小时的单机器版本,使用4个TPUs。最终,AlphaGo Zero以100:0绝对优势战胜AlphaGo Lee。

「考察AlphaGo Zero预测人类专家下棋的能力」

使用KGS Server Dataset人类专家下棋数据,测试AlphaGo Zero预测人类专家下棋的能力。也就是说,测试的时候,输入人类下棋的棋面数据,输出下一步的下法,看看和人类实际的下法是否相同,计算出预测准确率。作为对比,绘制出监督学习的预测能力,使用相同的网络和算法,但是数据不是通过自我对弈产生的,而是来自人类的数据。如下图3b所示,可以看出在预测人类专家下棋能力方面,AlphaGo Zero的强化学习算法比监督学习算法弱。值得注意的是,虽然AlphaGo Zero预测人类专家下棋能力稍弱,但是其围棋能力和最终输赢的预测能力却胜过监督学习,可以看下图3c的MSE曲线图。这说明AlphaGo Zero自学到某些围棋策略,这些策略和人类围棋下法有质的不同。

「考察AlphaGo Zero性能提升的原因」

为了分析AlphaGo Zero性能提升主要归功于神经网络架构的改变还是训练算法的改进,本文做了一组对照实验,考察神经网络架构本身和组合方式的不同对性能的提升情况。网络架构类型包括卷积神经网络conv、残差神经网络res;网络架构组合方式包括分开的策略网络和价值网络sep、合并的神经网络dual。两两组合包括,sep-conv, dual-conv, sep-res, dual-res。其中dual-res是AlphaGo Zero的网络架构,sep-conv是AlphaGo Lee的网络架构。每种组合的训练数据都使用此前训练72小时的AlphaGo Zero产生的数据,而对弈的对手都是此前AlphaGo Zero的不同迭代周期得到的蒙特卡罗搜索树选手。图4a,绘制的Elo rating值是和这些选手比赛评估得到的。可以发现不管是架构本身改变还是训练算法改进都对性能有很大的提升。sep-res和sep-conv的对比可以看出架构由卷积神经网络改为残差神经网络,Elo能力提高了600分。dual-conv和sep-conv对比可以看出网络架构组合方式由分开的策略和价值神经网络改为单一的使用蒙特卡罗搜索的神经网络,Elo能力也提高了600分。dual-res和sep-conv的对比,则是这两种改进的叠加效果,Elo能力值提高了1200分。这种能力的提升,作者将其归功于不仅是计算效率的提高,更重要的是合并的优化目标能够使得网络更加规范化,能够学习到一个共同的表示来支持多种场景(个人认为这里的多种场景指的是既可以用来预测下一步动作概率分布,也可以用于预测最终获胜者)。对于图4b, 可以看出预测专家走棋方面,使用残差神经网络预测准确率以及使用合并的网络预测准确率都比原来的sep-conv有所提升,且残差神经网络的使用提升更大。图4c预测最终输赢方面,使用残差神经网络预测MSE以及使用合并的网络预测MSE都比原来的sep-conv有所降低,且二者降低效果差不多。

「考察AlphaGo Zero 学习到的围知识」

观察AlphaGo Zero自我对弈过程,可以发现AlphaGo Zero会逐渐学习到一些围棋领域的常用套路模式,另外AlphaGo Zero还会学习到一些人类专业比赛中比较少见的围棋知识,AlphaGo Zero的一些偏好和人类有较大的差异。

「考察AlphaGo Zero的终极性能」

使用上述网络架构和强化学习训练算法训练一个网络更深、时间更长的AlphaGo Zero。训练从完全随机的行为开始,一直持续到40天。在这个过程当中,生成了2900万局自我对弈棋局。参数使用310万mini batch,每个mini batch包括2048个棋面数据,进行更新。神经网络包括40个残差块。学习曲线如下图6a所示。本文还将完整训练好的AlphaGo Zero和AlphaGo Fan、AlphaGo Lee、AlphaGo Master以及一些围棋程序举行锦标赛。其中,AlphaGo Master使用的网络架构和训练算法和AlphaGo Zero完全一致,唯一不同的是使用人类专业数据和手动设计的特征进行训练。AlphaGo Master曾在2017.1月线上以60:0的绝对优势战胜了最顶尖的人类专业选手。在我们的评估过程中,每个程序允许每步思考5s。AlphaGo Zero和AlphaGo Master使用单机器4个TPUs,AlphaGo Fan和AlphaGo Lee使用分布式部署,176个GPUs,48个TPUs。另外,我们还对比了Raw network的性能,也就是说在线对弈时不使用蒙特卡罗搜索,直接使用神经网络输出的动作分布来抽样走棋。实际的性能对比如下图6b所示。可以看出AlphaGo Zero 5185分和AlphaGo Master4858分遥遥领先,AlphaGo Zero略胜一筹,高出300分左右。

进一步,AlphaGo Zero和AlphaGo master直接正面对决100局。最终,AlphaGo Zero以89:11战胜AlphaGo  Master。可以说明强化学习自我对弈生成的数据比人类专业比赛数据更好。

下面部分的总结主要参考知乎“高德纳“的回答。

「AlphaGo Fan」: 就是Nature2016论文描述的版本,5:0胜欧洲围棋冠军樊麾。国内腾讯的绝艺等围棋AI都是基于 AlphaGo Fan 架构。

「AlphaGo Lee」: 这个4:1胜李世石的版本相较 AlphaGo Fan 等级分大约提高了600 分。和 AlphaGo Fan相比,改进有以下几点:

a) 训练数据来自AlphaGo自我对弈(意味着同时使用Policy Network和Value Network,不知道这里是否有使用蒙特卡罗搜索,类似AlphaGo在线对弈过程),    AlphaGo Fan自我对弈时走子只用 Policy Network。

b) Policy network 和 Value Network规模更大了,同时网络训练由分布式GPU升级为分布式TPU.

「AlphaGo Master」: 这个版本相较 AlphaGo Lee 等级分提升了大约 1100 分。年初网上快棋60:0赢了中日韩顶尖职业棋手,Master微调版今年5月3:0 胜柯洁。AlphaGo Master 和 AlphaGo Lee 相比, 主要改动有:

a) 合并了 Policy Network 和 Value Network;

b) 用 ResNet 替换了 CovNet;

c)  强化学习训练算法从Policy Gradient 改为 Policy Iteration.

「AlphaGo Zero」: 这个版本相较 AlphaGo Master 等级分又提升了大约 330 分。330 分相当于柯洁和胡耀宇间的差距。AlphaGo Zero和AlphaGo Master相比,主要改动有两处:

「AlphaGo Zero Raw Network」: 除了上述版本外, DeepMind 还实验了一个 Raw Network 版本,也就是直接用 AlphaGo Zero训练出来的二合一网络走子,不做 MTCS 搜索。这个版本相当于人类棋手下'多面打指导棋',仅凭棋感,不做计算时的行棋策略 (或者相当于老年职业棋手完全丧失计算力时的下棋方式)。AlphaGo Raw Network 棋力大约为 3055。作为参考,女职业棋手范蔚菁的等级分正好是3055。

作者在本文中经常拿AlphaGo Zero和 AlphaGo Lee做对比,一个最形象的例子是 AlphaGo Zero训练72小时后,以100:0打败AlphaGo Lee (注意:此时的 AlphaGo Zero棋力远低于AlphaGo Master,AlphaGo Zero需要训练大约30天才能超越 AlphaGo Master)。具体的说,棋力增强主要来源有以下四点:

AlphaGo Zero中的改进值得我们思考,最振奋人心的就是排除了人类棋谱数据和人工特征,完全从强化学习自我对弈过程中进行学习。这其中有两点感悟。

引用周志华的一段话,“如果说深度学习能在模式识别应用中取代人工设计特征,那么这里显示出强化学习能在启发式搜索中取代人工设计评分函数。这个意义重大。启发式搜索这个人工智能传统领域可能因此巨变,或许不亚于模式识别计算机视觉领域因深度学习而产生的巨变。机器学习进一步蚕食其他人工智能技术领域。”

可以看出这里面的核心包括深度学习、强化学习、启发式搜索。本文分别对这三个方面都有所改进,深度学习体现在ResNet的使用以及合并两个神经网络;强化学习体现在Policy Iteration算法的使用,启发式搜索体现在引入Policy Iteration训练过程以及改进蒙特模拟过程(Expansion、Evaluation合并、最终动作决策由选择访问次数最多的动作改成根据访问次数计算动作分布,再随机抽样动作)。这里面的核心中的核心仍然是蒙特卡罗搜索,深度学习和强化学习都是为蒙特卡罗搜索服务的。

可能可以改进的几个核心要素包括单一的改进以及多种元素的结合方式改进。例如强化学习算法中最终报酬函数的设计、深度学习中是否有更好的网络架构,如SENet等、蒙特卡罗搜索树除了用在强化学习算法中,能否用在深度学习算法中,指导误差的反向传播等;蒙特卡罗模拟结束后,是否有其他更好方式来计算动作概率分布。当然另一方面,有没有新的领域能够替代蒙特卡罗搜索树的核心地位,具有前瞻性的问题是否只有通过大量模拟才能得到反馈,是否还有其他的方式能够更好的进行反馈。

Mastering the game of Go without human knowledge

知乎:如何评价AlphaGo Zero?

AlphaZero实战

「阿尔法狗」再进化!

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

THE END
0.与电脑对弈它还允许玩家通过分析计算机的动作并尝试不同的策略来练习和提高自己的技能。该游戏将在整个游戏过程中向您展示获胜的机会,具体取决于棋盘的外观。这样你就可以看到你最后的举动有多好或多坏。你认为你能在这款策略棋盘游戏中击败电脑吗?立即了解并在 Silvergames.com 上在线玩国际象棋对电脑!jvzquC41yy}/urqxgtmbonx0eqs0|q4ejgyt/x/eqsqw}jt
1.新博少儿国际象棋ontheAppStore新博少儿国际象棋是少儿国际象棋教学与在线对弈平台,为国际象棋培训学校以及广大国象学习者提供少儿在线对弈、AI互动课、网络习题练习、对局复盘、AI机器人对弈、错题订正以及各种国际象棋教学内容服务。 本软件提供给成千上万学国际象棋的小朋友同台交流的机会。软件支持从启蒙(200积分)到中高级级别的小朋友进入平台,通过jvzquC41crvt0jurng4dqv4qo1gqr8*G8'?7'K5'G7+9F.>C'G;&D9*;3'K6'A9'DH+F7.>D'DJ&GB*;;'>6'N='D3+B3.J8'C9&:K4kf8:839=3;;;
2.中国象棋免费下载中国象棋官方正版中国象棋官方版免费安装中国象棋是一种有着悠久的历史对抗性棋类游戏,深受广大用户喜爱,这里为了帮助朋友们更好的下载爽玩中国象棋,特搜集诸多中国象棋应用游戏资源制作合集页面,让用户可以随时随地畅享中国象棋对弈及学习乐趣.jvzquC41yy}/jwhl0eun1t4|izw0