uero:用学习模型规划uero玩转雅达利围棋国际象棋和日本将棋

1,2∗ Simon Schmitt,1 Arthur Guez,1∗^{1*}1∗ Edward Lockhart,1^{1}1 Demis Hassabis,1^{1}1 Thore Graepel,1,2^{1,2}1,2 Timothy Lillicrap,1^{1}1 David Silver1,2∗^{1,2*}1,2∗

1^11DeepMind, 6 Pancras Square, London N1C 4AG.2^22University College London, Gower Street, London WC1E 6BT. *These authors contributed equally to this work.

概要

长期以来,构建具有规划能力的智能体一直是人工智能研究的主要挑战之一。基于树的规划方法在挑战性领域获得了巨大成功,例如国际象棋和围棋,这些领域都有一个完美的模拟器。然而,在现实世界中,动态控制环境往往是复杂和未知的。在这项工作中,我们提出了MuZero算法,该算法通过将基于树的搜索与模型学习相结合,在一系列极具挑战性的复杂视觉领域实现了超人的性能,而不需要了解它们的基本动力学。MuZero学习得到一个模型,当迭代应用时,该模型可以预测与规划最直接相关的数值:奖励、动作选择策略和价值函数。当对57种不同的Atari游戏进行评估时,这是测试人工智能技术的标准视频游戏环境,在这种环境中,我们的新算法一直在与基于模型的规划方法进行角逐,从而获得了一种新的技术水平。当在围棋、国际象棋和日本将棋上进行评估时,在对游戏规则一无所知的情况下,MuZero达到了与掌握游戏规则的AlphaZero算法相匹敌的超人性能。

基于前瞻搜索的规划算法在人工智能领域取得了显著的成功。人类世界的冠军已经在经典游戏中被打败,如跳棋[34]、国际象棋[5]、围棋[38]和扑克[3,26],规划算法在从物流[47]到化学合成[37]的应用中产生了现实影响。然而,这些规划算法都依赖于对环境动力学的了解(例如游戏规则或精确的模拟器),因此无法直接应用于机器人、工业控制或智能助手等实际领域。

基于模型的强化学习(RL)[42]旨在通过首先学习环境动力学模型,然后针对所学的模型进行规划来解决问题。通常,这些模型要么专注于重建真实的环境状态[8,16,24],要么专注于完整观测序列[14,20]。然而,之前的工作[4,14,20]在复杂视觉领域,如Atari 2600游戏[2]中,远远没有达到最先进的水平。相反,最成功的方法是基于无模型RL[9,21,18],它们直接从与环境的交互中估计最优策略和/或价值函数。然而,无模型算法在需要精确和复杂前瞻性的领域(如国际象棋和围棋)却远未达到最先进的水平。

在本文中,我们介绍了MuZero,一种新的基于模型的RL方法,它在Atari 2600(一组复杂视觉领域)中实现了当今最先进的性能,同时在诸如国际象棋、日本将棋和围棋等精确规划任务中保持了超人的性能。MuZero建立在AlphaZero[39]强大的搜索和基于搜索的策略迭代算法的基础上,并在训练过程中加入了一个学习模型。MuZero还将AlphaZero扩展到更广泛的环境,包括单智能体领域和中间步非零奖励。

该算法的主要思想(如图1所示)是预测与规划直接相关的未来方面。模型接收观测结果(例如围棋棋盘或Atari游戏屏幕的图像)作为输入,并将其转换为隐藏状态。通过接收前一个隐藏状态和假想的下一个动作的循环过程迭代地更新隐藏状态。每一步,模型都会预测策略(例如,如何移动棋子)、价值函数(例如,预测胜负)和即时奖励(例如,移动棋子的得分)。对模型的训练是端到端的,其唯一目标是准确估计这三个重要的量,以便与改进的策略估计和搜索产生的价值以及观测到的奖励相匹配。对于隐藏状态,没有直接约束或要求来捕获重建原始观测所需的全部信息,从而大大减少了模型必须维护和预测的信息量;对于隐藏状态也没有任何要求来匹配未知的真实环境状态;也没有对状态语义进行任何其他约束。相反,隐藏状态可以自由地以任何与预测当前和未来的价值和策略有关的方式来表征状态。直观地说,智能体可以在内部发明规则或动力学机制,从而实现最精确的规划。

强化学习RL可分为两大类:基于模型的RL和无模型的RL[42]。基于模型的RL先构造出一个环境模型,作为中间环节。经典地,这个模型由一个马尔可夫决策过程MDP[31]来表示,它由两个部分组成:一个是状态转移模型,预测下一个状态,另一个是奖励模型,预测在状态转移期间的预期奖励。该模型通常以所选动作或临时抽象行为(如选项)作为条件[43]。一旦建立了模型,就可以直接应用MDP规划算法,如数值迭代[31]或蒙特卡罗树搜索MCTS[7],来计算MDP的最优值或最优策略。在整体或部分可观测的环境中,算法必须首先构造模型应该预测的状态表征。表征的学习、模型的学习和规划三方之间是分裂的,这是一个潜在问题,智能体无法为达到有效规划的目标对表征或模型进行优化,因此,在规划期间建模错误可能会显得越发严重。

基于模型的RL的一种常用方法是直接在像素级对观测流进行建模。有人设想深度随机模型可以缓解复合误差的问题[14,20]。然而,对像素级粒度进行规划,计算上是不易处理大规模问题的。其他方法建立的潜在状态空间模型足以在像素级重建观测流[48,49],或预测其未来的潜在状态[13,11],这有助于更有效的规划,但仍将大部分模型容量集中在潜在的无关细节上。这些先前的方法都没有能构建起一个模型促进复杂视觉领域(如Atari)的有效规划;结果落后于优化的、无模型的方法,甚至在数据效率方面也是如此[45]。

最近开发了一种完全不同的基于模型的RL方法,专注在端到端预测价值函数[41]。这些方法的主要思想是构造一个抽象的MDP模型,使抽象的MDP中的规划等价于真实环境中的规划。这种等价是通过确保价值等价来实现的,即从同一真实状态开始,通过抽象的MDP的轨迹的累积奖励与真实环境中轨迹的累积奖励相匹配。

预测[41]首先引入了价值等价模型来预测价值(不采取动作)。尽管底层模型仍然采用MDP的形式,但它的转换模型不需要与环境中的真实状态相匹配。相反,MDP模型被视为深层神经网络的一个隐藏层。对展开的MDP进行训练,例如通过时间差分学习,使期望的累积奖励总和与实际环境的期望值相匹配。

价值等价模型随后扩展到去优化价值(采取动作)。TreeQN[10]学习一个抽象的MDP模型,使得在该模型上的树搜索(由树结构的神经网络表征)逼近最优价值函数。价值迭代网络[44]学习一个局部MDP模型,使得该模型上的价值迭代(由卷积神经网络表征)逼近最优值函数。价值预测网络[28]可能是MuZero最失败的先驱:它们学习基于实际动作的MDP模型;展开的MDP经过训练,使得累积的奖励总和,以简单的前瞻搜索生成的实际动作序列为条件,与真实环境相匹配。与MuZero不同,没有策略预测,搜索只使用价值预测。

图1:用学习模型进行规划、动作和训练。(A)MuZero使用其模型进行规划。该模型由表征、动力学和预测三个相互连接的部分组成。给定一个先前的隐藏状态sk−1s^{k-1}sk−1 和一个候选动作aka^kak ,动力学函数ggg 就产生一个即时奖励rkr^krk 和一个新的隐藏状态sks^ksk 。隐藏状态sks^ksk 经过预测函数fff,计算出策略pkp^kpk 和价值函数vkv^kvk 。过去的观测值(例如围棋棋盘或Atari屏幕)被传递给表征函数hhh,以获得初始隐藏状态s0s^0s0 。(B)MuZero在环境中的动作。在每个时点ttt 进行MCTS,如A所述。一个动作at1a_{t 1}at 1​ 是从搜索策略πtπ_tπt​ 中采样得到的,该策略与根节点每个动作的访问计数成正比。环境接收到动作并生成新观测值ot1o_{t 1}ot 1​ 和奖励ut1u_{t 1}ut 1​ 。在回合结束时,轨迹数据被保存在回放缓冲区中。(C)MuZero训练它的模型。从回放缓冲区中进行轨迹采样。对于初始步骤,表征函数hhh 收到所选轨迹的过去观测值o1,...,oto_1,...,o_to1​,...,ot​ 作为输入。该模型循环展开为K步。每步k,动态函数ggg 收到前一步隐藏状态sk−1s^{k-1}sk−1 和实际动作atka_{t k}at k​ 作为输入。通过时间反向传播,端到端地联合训练表征函数、动力学函数和预测函数的参数,以便能够预测三个数值:策略pk≈πtkp^k ≈ π_{t k}pk≈πt k​ 、价值函数vk≈ztkv^k ≈ z_{t k}vk≈zt k​ 和奖励rtk≈utkr_{t k} ≈ u_{t k}rt k​≈ut k​ ,其中ztkz_{t k}zt k​ 是一个示例回报:要么是最终奖励(如棋盘游戏),要么是nnn 步的回报(如Atari)。

我们现在更详细地描述MuZero算法。在每个时点ttt 做预测,预测步数为k=1...Kk=1...Kk=1...K ,用于预测的模型为μθ\mu_\thetaμθ​ ,该模型的参数为θ\thetaθ ,过去的观测值o1,...,oto_1,...,o_to1​,...,ot​ 和未来的动作at1,...,atka_{t 1},..., a_{t k}at 1​,...,at k​ 为条件。该模型预测三个未来数值:策略ptk≈π(atk1∣o1,...,ot,at1,...,atk)p_t^k ≈ \pi(a_{t k 1}|o_1,...,o_t,a_{t 1},...,a_{t k})ptk​≈π(at k 1​∣o1​,...,ot​,at 1​,...,at k​) 、价值函数vtk≈E[utk1γutk2...∣o1,...,ot,at1,...,atk]v_t^k ≈\Bbb E[u_{t k 1} γu_{t k 2} ...|o_1,...,o_t,a_{t 1},...,a_{t k}]vtk​≈E[ut k 1​ γut k 2​ ...∣o1​,...,ot​,at 1​,...,at k​] ,以及即时奖励rtk≈utkr_t^k ≈ u_{t k}rtk​≈ut k​ ,其中uuu 是真实观测到的奖励,π\piπ 是用于选择实际动作的策略,γγγ 是环境的折扣函数。

在内部,每个时点ttt (以下为了简单起见省略了下标ttt ),模型由表征函数、动力学函数和预测函数的组合来表示。动力学函数rk,sk=gθ(sk−1,ak)r^k,s^k=g_\theta(s^{k-1},a^k)rk,sk=gθ​(sk−1,ak) ,是一个循环过程,它在每个假想步kkk 计算即时奖励rkr^krk 和内部状态sks^ksk 。动力学函数反映了MDP模型结构,由给定状态和动作计算出预期奖励和状态转移[31]。然而,与基于模型的RL传统方法不同[42],这种内部状态sks^ksk 没有附加环境状态的语义,只是整个模型的隐藏状态,其唯一目的就是准确预测有关的未来数值:策略、价值和奖励。在本文中,动力学函数被表示为确定过程,扩展为随机过程的工作留待以后进行。策略函数和价值函数,由预测函数pk,vk=fθ(sk)p^k,v^k = f_\theta(s^k)pk,vk=fθ​(sk) ,根据内部状态sks^ksk 计算得出,类似于AlphaZero中联合的策略网络和价值网络。“根”状态s0s^0s0 用于表征函数初始化,表征函数对过去观测值进行编码s0=hθ(o1,...,ot)s^0=h_\theta(o_1,...,o_t)s0=hθ​(o1​,...,ot​) ;同样,除了帮助预测未来以外,它没有任何特定语义。

给出这样一个模型,就有可能通过给定过去观测值o1,...,oto_1,...,o_to1​,...,ot​ 搜索假想的未来轨迹a1,...,aka^1,...,a^ka1,...,ak 。例如,一个初级搜索可能会简单选择kkk 步动作序列,使价值函数最大化。更一般地,我们可以将任何MDP规划算法应用于动力学函数生成的内部奖励和状态空间。特别地,我们使用了一种类似于AlphaZero搜索中采用的MCTS算法,该算法被推广到允许单智能体领域和中间奖励(参见附录的方法)。在每个中间节点,它利用了当前模型参数θ\thetaθ 生成的策略、价值和奖励估计。MCTS算法输出一个推荐策略πt\pi_tπt​ 和估计价值vtv_tvt​ 。然后选择一个动作at1∼πta_{t 1} ∼ \pi_tat 1​∼πt​ 。

对模型的所有参数进行联合训练,以便在每个假想步kkk ,策略、价值和奖励都能与实际kkk 个时点过后观测到的相应目标值精确匹配。与AlphaZero类似,改进的策略目标是通过MCTS搜索生成的;第一目标是最小化预测的策略ptkp^k_tptk​ 与搜索的策略πtk\pi_{t k}πt k​ 之间的误差。同样与AlphaZero类似,改进的价值目标是通过玩游戏或MDP生成的。然而,与AlphaZero不同,我们允许带有折扣和中间奖励的长回合,方法是自举nnn 步进入未来,搜索值zt=ut1γut2...γn−1utnγnvtnz_t=u_{t 1} \gamma u_{t 2} ... \gamma^{n-1}u_{t n} \gamma^n v_{t n}zt​=ut 1​ γut 2​ ... γn−1ut n​ γnvt n​ 。在棋盘游戏中,最终结果{lose,draw,win}\{lose,draw,win\}{lose,draw,win} 被视为奖励ut∈{−1,0,1}u_t∈\{-1,0, 1\}ut​∈{−1,0, 1} ,出现在该回合的最后一步。具体来说,第二目标是最小化预测值vtkv^k_tvtk​ 与目标值ztkz_{t k}zt k​ 之间的误差。奖励目标仅为观察到的奖励;因此,第三目标是最小化预测奖励rtkr^k_trtk​ 与观测到的奖励utku_{t k}ut k​ 之间的误差。最后,还添加了 L2 正则化项,得到总体损失为:

lt(θ)=∑k=0Klr(utk,rtk)lv(ztk,vtk)lp(πtk,ptk)c∣∣θ∣∣2l_t(\theta)=\displaystyle\sum_{k=0}^Kl^r(u_{t k},r_t^k) l^v(z_{t k},v_t^k) l^p(\pi_{t k},p_t^k) c||\theta||^2lt​(θ)=k=0∑K​lr(ut k​,rtk​) lv(zt k​,vtk​) lp(πt k​,ptk​) c∣∣θ∣∣2

其中lrl^rlr、lvl^vlv和lpl^plp分别是奖励、价值和策略的损失函数。补充图S2总结了MuZero算法进行规划、动作和学习的公式。

我们将MuZero算法应用于经典棋盘游戏围棋、国际象棋和日本将棋,作为具有挑战性的规划问题的基准,并应用于Atari学习环境中的所有57个游戏[2],作为复杂视觉RL领域的基准。

在每种情况下,我们训练MuZeroK=5K=5K=5个假想步骤。在棋盘游戏中进行了100万个小批量的2048大小的训练,在Atari进行了1024大小的训练。在训练和评估期间,MuZero对棋盘游戏中的每次搜索使用了800次模拟,对Atari中的每次搜索使用了50次模拟。表征函数使用与AlphaZero相同的卷积[23]和残差[15]结构,但是使用16个残差块而不是20个。动态函数使用与表征函数相同的体系结构,预测函数使用与AlphaZero相同的体系结构。所有网络都使用256个隐藏平面(有关详细信息,请参见附录)。

图2显示了每个游戏在整个训练过程中的表现。在围棋中,MuZero稍微超过了AlphaZero的性能,尽管在搜索树中每个节点使用较少的计算量(MuZero中每次计算16个残差块,而AlphaZero中为20个块)。这表明MuZero可能把其计算缓存在了搜索树中,并利用动力学模型带来的每个额外优势来获得对位置的更深入理解。

在Atari中,MuZero在57个游戏的街机学习环境中实现了最新的平均得分和中位数标准化得分,在57个游戏中的42个游戏中超过了之前最新的R2D2方法[21](无模型方法),并且在所有游戏中都优于之前最好的基于模型的方法SimPLe[20](见表S1)。

我们还评估了MuZero的第二个版本,该版本经过了优化以提高样本效率。具体来说,它通过重运行使用新网络参数的MCTS来重分析旧的轨迹,以提供新的目标值(见附录H)。当应用于57款Atari游戏时,每个游戏使用2亿帧的经验,MuZero的重分析达到了731%的中位数标准化分数,而之前最先进的无模型方法IMPALA[9]、Rainbow[17]和LASER[36]分别为192%、231%和431%。

为了理解模型在MuZero中的作用,我们还进行了一些实验,重点是棋盘游戏的围棋和Atari游戏的Ms. Pacman。

首先,我们在围棋的规范规划问题中测试了规划的可伸缩性(图3 A)。我们比较了AlphaZero中使用完美模型的搜索性能和MuZero中使用学习模型的搜索性能。具体来说,通过比较不同思考时间的MCTS来评估完全训练的AlphaZero或MuZero。MuZero完全能与有完美模型的算法性能相匹敌,即使在进行搜索时(最多10秒的思考时间)比模型训练时(大约0.1秒的思考时间,另请参见图S3 A)大得多的情况下,也是如此。

我们还调查了所有Atari游戏规划的可伸缩性(见图3 B)。我们使用完全训练的MuZero对不同模拟次数的MCTS进行了比较。由于计划的改进远不如围棋中的显著,可能是因为更大的模型不精确性;性能随着搜索时间的增加略有改善,但在大约100次模拟中稳定下来。即使只进行一次模拟(即仅根据策略网络选择动作),MuZero的表现也很好,这表明在训练结束时,原始策略已经学会了内部化搜索的好处(另请参见图S3 B)。

接下来,我们测试对比了基于模型的学习算法与无模型学习算法(见图3 C)。我们将MuZero的训练目标(方程1)替换为无模型的Q-learning目标(如R2D2所用),将对偶值和策略头替换为单头表示Q-functionQ(⋅∣st)Q(⋅|s^t)Q(⋅∣st) 。随后,我们在不使用任何搜索的情况下对新模型进行训练和评估。当在Ms. Pacman游戏上进行评估时,我们的无模型算法获得了与R2D2相同的结果,但R2D2的学习速度明显慢于MuZero,并收敛到一个更低的最终分数。我们推测MuZero基于搜索的策略改进步骤比Q-learning使用的高偏差、高方差目标提供了更强的学习信号。

为了更好地理解MuZero学习算法的本质,我们测量了MuZero的训练规模与训练期间使用的搜索量之间的关系。图3显示了Ms. Pacman游戏在整个训练过程中每次移动使用不同模拟计数的MCTS时的表现。令人惊讶的是,与之前的工作[1]相比,即使每个动作只有6个模拟(少于动作的数量),MuZero也学会了一个有效的策略并迅速改进。随着更多的模拟,性能大幅提升。对于每个单独迭代过程中策略改进的分析,请参见图S3 C和D。

Lorrayne Bennett、Oliver Smith和Chris Apps负责组织协助;Koray Kavukcuoglu负责审查论文;Thomas Anthony、Matthew Lai、Nenad Tomasev、Ulrich Paquet、Sumedh Ghaisas负责许多卓有成效的讨论;DeepMind团队的其他成员对他们的支持。

· MuZero算法的伪码描述。

· JSON格式的图2、图3、图S2、图S3、图S4和表1、表S1、表S2的数据。

补充材料可从arXiv提交文件的辅助文件部分获取。

MuZero与AlphaGo Zero[40]和AlphaZero[39]相比,被设计得更通用。在AlphaGo-Zero和AlphaZero中,规划过程使用了两个独立的组件:模拟器,实现游戏规则,在遍历搜索树时用于更新游戏状态;神经网络,帮助预测模拟器生成的棋盘位置的相应策略和价值(见图1 A)。

具体来说,AlphaGo Zero和AlphaZero在三个地方使用到游戏规则的知识:(1)搜索树中的状态转移,(2)搜索树中每个节点上可用的动作,(3)在搜索树内的回合终点。在MuZero中,所有这些都被神经网络学习的单一隐式模型所取代(见图1 B):

1)状态转移。AlphaZero拥有一个反映真实动力学过程的完美模拟器。相比之下,MuZero在其搜索中使用了一个学习的动力学模型。在该模型下,树中的每个节点都由一个对应的隐藏状态表示;通过向模型提供一个隐藏状态sk−1s_{k-1}sk−1​ 和一个动作aka_kak​ ,搜索算法可以转换到一个新节点sk=g(sk−1,ak)s_k = g(s_{k-1},a_k)sk​=g(sk−1​,ak​)。

2)可用动作。AlphaZero使用从模拟器获得的一组合法动作来mask网络在搜索树中任何地方产生的先验信息。MuZero只mask可以查询环境的搜索树根目录下的合法动作,但不在搜索树中执行任何mask。这是可能的,因为网络很快就学会了不去预测在它在训练轨迹上永远不会发生的动作。

3)终点节点。AlphaZero在表示终点状态的树节点停止搜索,并使用模拟器提供的终点值而不是网络生成的值。MuZero没有对终点节点进行特殊处理,总是使用网络预测的值。在树中,搜索可以经过一个终点节点——在这种情况下,期望网络总是预测相同的值。这是通过在训练期间将终点状态视为吸收状态来实现的。

此外,MuZero被设计成在一般的强化学习环境下运行:具有任意幅度折扣的中间奖励的单智能体领域。相比之下,AlphaGo-Zero和AlphaZero被设计用于两人游戏,没有折扣的终点奖励为±1±1±1。

我们现在描述MuZero使用的搜索算法。我们的方法基于带置信上限的蒙特卡罗树搜索,这是一种在单智能体领域中渐近收敛到最优策略的规划方法,在零和博弈中渐近收敛到极大极小值函数[22]。

搜索树的每个节点都与一个内部状态s相关联。对于sss 的每个动作aaa ,都有一个边(s,a)(s,a)(s,a) ,这条边存储了一组统计信息{N(s,a),Q(s,a),P(s,a),R(s,a),S(s,a)}\{N(s,a), Q(s,a), P(s,a), R(s,a), S(s,a) \}{N(s,a),Q(s,a),P(s,a),R(s,a),S(s,a)},分别表示访问计数N、平均价值Q、策略P、奖励R和状态转移S。

与AlphaZero类似,搜索分为三个阶段,重复进行多次模拟。

选择(Selection):每个模拟从内部根状态s0s^0s0 开始,当模拟到达叶节点sls^lsl 时结束。对于模拟的每个假想步k=1,...,lk=1,...,lk=1,...,l ,利用在置信上限[32][39]上最大化的方法,根据存储的内部状态sk−1s^{k-1}sk−1 的统计信息选择动作aka^kak ,ak=arg max⁡a[Q(s,a)P(s,a)⋅∑bN(s,b)1N(s,a)⋅(c1log(∑bN(s,b)c21c2))]a^k = \displaystyle\argmax_a [Q(s,a) P(s,a)⋅\frac {\sqrt{\sum_b N(s,b)}}{1 N(s,a)}⋅(c_1 log(\frac {\sum_bN(s,b) c_2 1} {c_2}))]ak=aargmax​[Q(s,a) P(s,a)⋅1 N(s,a)∑b​N(s,b)​​⋅(c1​ log(c2​∑b​N(s,b) c2​ 1​))] (2)

常数c1和c2用于控制相对于价值Q(s,a)Q(s,a)Q(s,a) ,先验的P(s,a)P(s,a)P(s,a) 对其影响。在我们的实验中,c1=1.25,c2=19652。

对于k<lk<lk<l ,下一个状态和奖励在状态转移和奖励表sk=S(sk−1,ak)s^k = S(s^{k-1},a^k)sk=S(sk−1,ak),rk=R(sk−1,ak)r^k = R(s^{k-1}, a^k)rk=R(sk−1,ak) 中查找。

扩展(Expansion):在模拟的最后一个时间步lll,通过动力学函数rl,sl=gθ(sl−1,al)r^l, s^l = g_θ(s^{l-1}, a^l)rl,sl=gθ​(sl−1,al) 计算奖励和状态,并将其存储在相应的表R(sl−1,al)=rlR(s^{l-1}, a^l) = r^lR(sl−1,al)=rl,S(sl−1,al)=slS(s^{l-1}, a^l)=s^lS(sl−1,al)=sl 中。通过预测函数pl,vl=fθ(sl)p^l, v^l=f_θ(s^l)pl,vl=fθ​(sl) 计算策略和价值。一个新的节点,对应于状态sls^lsl 被添加到搜索树中。来自新扩展节点的每条边(sl,a)(s^l, a)(sl,a) 被初始化为{N(sl,a)=0,Q(sl,a)=0,P(sl,a)=pl}\{N(s^l, a)=0, Q(s^l, a)=0, P(s^l,a)=p^l\}{N(sl,a)=0,Q(sl,a)=0,P(sl,a)=pl} 。请注意,搜索算法每次模拟最多分别调用一次动力学函数和预测函数;计算成本与AlphaZero中的阶数相同。

备份(Backup):在模拟结束时,将更新沿轨迹的统计信息。将备份推广到环境可以给出中间奖励、且折扣不为1、价值估计为无界3^33的情况。对于k=l,...,0k=l,...,0k=l,...,0 ,由价值函数vlv^lvl 自举,我们形成累积折扣奖励的l−kl-kl−k 步的估计,

Gk=∑τ=0l−1−kγτrk1τγl−kvlG^k=\displaystyle\sum_{τ=0}^{l-1-k}γ^τr_{k 1 τ} γ^{l-k}v^lGk=τ=0∑l−1−k​γτrk 1 τ​ γl−kvl (3)

对于k=l,...,1k=l,...,1k=l,...,1 ,我们更新模拟路径中每个边(sk−1,ak)(s^{k-1}, a^k)(sk−1,ak) 的统计信息,如下所示,

Q(sk−1,ak):=N(sk−1,ak)⋅Q(sk−1,ak)GkN(sk−1,ak)1Q(s^{k-1}, a^k):=\frac {N(s^{k-1}, a^k)⋅Q(s^{k-1}, a^k) G^k} {N(s^{k-1}, a^k) 1}Q(sk−1,ak):=N(sk−1,ak) 1N(sk−1,ak)⋅Q(sk−1,ak) Gk​

N(sk−1,ak):=N(sk−1,ak)1N(s^{k-1}, a^k):=N(s^{k-1}, a^k) 1N(sk−1,ak):=N(sk−1,ak) 1 (4)

3^33在棋盘游戏中,假定折扣为1,没有中间奖励。

在两人零和对策中,假设价值函数在[0,1][0,1][0,1] 区间内有界。这种选择允许我们使用pUCT规则(公式2)将价值估计与概率结合起来。但是,由于在许多环境中,价值是无界的,因此有必要调整pUCT规则。一个简单的解决方案是使用在环境中可以观测到的最大分数来重新缩放价值或适当设置pUCT常数[33]。然而,这两种解决方案都是针对特定游戏的,需要向MuZero算法添加先验知识。为了避免这种情况,MuZero通过使用在该点之前在搜索树中观测到的最小值 - 最大值来计算标准化Q值用于估计Qˉ∈[0;1]\bar{Q}∈[0;1]Qˉ​∈[0;1] 。当在选择(Selection)阶段到达一个节点时,该算法使用以下等式计算其边的标准化Qˉ\bar{Q}Qˉ​ 值,用于pUCT规则,公式如下:

Qˉ(sk−1,ak)=Q(sk−1,ak)−mins,a∈TreeQ(s,a)maxs,a∈TreeQ(s,a)−mins,a∈TreeQ(s,a)\bar{Q}(s^{k-1}, a^k)=\frac {Q(s^{k-1}, a^k)-min_{s,a∈Tree}Q(s,a)} {max_{s,a∈Tree}Q(s,a)-min_{s,a∈Tree}Q(s,a)}Qˉ​(sk−1,ak)=maxs,a∈Tree​Q(s,a)−mins,a∈Tree​Q(s,a)Q(sk−1,ak)−mins,a∈Tree​Q(s,a)​ (5)

为了简单起见,我们优先使用与之前的工作中相同的体系结构选项和超参数。特别是,我们从AlphaZero的网络架构和搜索选择开始[39]。对于棋盘游戏,我们使用与AlphaZero相同的UCB常数、Dirichlet探索噪声和每次搜索800次模拟。

由于Atari中的分支因子要小得多,策略也简单得多,我们每次搜索只使用50次模拟来加速实验。如图3B所示,算法对这个选择不是很敏感。我们还使用与R2D2相同的折扣(0.997)和价值转换(见网络架构部分)[21]。

文中未提及的参数值请参考伪代码。

为了生成训练数据,网络的最新检查点(每1000个训练步骤更新一次)使用与MCTS进行游戏。在棋盘游戏围棋,国际象棋和日本将棋中,每一步搜索800次模拟来选择一个动作;在Atari中,由于动作空间小得多,每一步50次模拟就足够了。

对于棋盘游戏,游戏一结束就送到训练任务。由于Atari游戏的长度要大得多(最多30分钟或108000帧),中间序列每200步发送一次。在棋盘游戏中,训练任务在内存重放缓冲区保存最近收到的100万个游戏;在Atari中,视觉观察较大,保存最近12.5万个长度为200的序列。

棋盘游戏领域,在产生经验的过程中,使用了与AlphaZero[39]中描述的相同的探索方案。Atari领域,则使用此方案的一个变体,在每个游戏期间,从访问计数分布中对动作进行采样,而不仅仅是前kkk 个动作。此外,访问计数分布使用温度参数TTT 参数化:

pα=N(α)1/T∑bN(b)1/Tp_α=\frac{N(α)^{1/T}}{\sum_bN(b)^{1/T}}pα​=∑b​N(b)1/TN(α)1/T​ (6)

TTT 衰减为网络训练步数的函数。具体来说,前500k训练步骤的温度为1,接下来250k训练步骤的温度为0.5,其余250k训练步骤的温度为0.25。这确保了动作选择随着训练的进行而变得更加贪婪。

表征函数

作为围棋、国际象棋和日本将棋表征函数输入的棋盘历史状态类似于AlphaZero[39]。在围棋和日本将棋中,我们将最后8个棋盘状态编码为与AlphaZero中的相同;在国际象棋中,我们将历史记录增加到最后100个棋盘状态,以便正确预测平局。

对于Atari,表征函数的输入包括分辨率为96x96的最后32个RGB帧以及导致每个帧的最后32个动作。我们对历史动作进行编码是因为与棋盘游戏不同,Atari中的动作不一定对观测有明显的影响。RGB帧被编码为每种颜色一个平面,分别为红色、绿色和蓝色重新缩放到范围[0,1][0,1][0,1] 。我们不执行其他规范化,白化或其他预处理的RGB输入。历史动作被编码为简单的偏置平面,按a/18a/18a/18 缩放(Atari中总共有18个动作)。

动力学函数

动力学函数的输入是表征函数生成的或之前应用动力学函数生成的隐藏状态,与动作表征级联。动作在与隐藏状态具有相同分辨率的平面中进行空间编码。在Atari中,这个分辨率是6x6(请参阅网络架构部分中的下采样说明),在棋盘游戏中,这个分辨率与棋盘大小相同(围棋是19x19,国际象棋是8x8,日本将棋是9x9)。

在围棋中,一个正常的动作(在棋盘落棋子)被编码为一个全零平面,其中一个在被玩棋子的位置。过程被编码为全零平面。

在国际象棋中,8个平面被用来编码动作。第一个one-hot平面编码棋子从哪个位置移动。接下来的两个平面对棋子移动到的位置进行编码:一个one-hot平面用于编码目标位置(如果在棋盘上),另一个二进制平面用于指示目标是否有效(在棋盘上)。这是必要的,因为为简单起见,我们的策略动作空间枚举了所有可能动作的超集,并非所有操作都是合法的,并且我们使用相同的动作空间进行策略预测和对动态函数输入进行编码。剩下的五个二进制平面用于表示提升的类型,如果有的话(皇后、骑士、主教、车、无)。

日本将棋的编码是相似的,总共有11个平面。我们使用前8个平面来指示棋子从何处移动-要么是棋盘位置(第一个one-hot平面)要么是七种囚徒类型中的一种(剩余的7个二进制平面)。接下来的两个平面用于对目标进行编码,就像在国际象棋中一样。剩下的二进制平面表示移动是否是升级。

在Atari中,一个动作被编码为一个one-hot向量,它被适当地平铺到平面中。

预测函数pk,vk=fθ(sk)p^k,v^k=f_θ(s^k)pk,vk=fθ​(sk) 使用与AlphaZero相同的架构:一个或两个卷积层保留分辨率,但减少了平面的数量,然后是一个完全连接层转为输出的大小。

对于Atari中的价值和回报预测,我们遵循[30],缩放目标使用可逆变换h(x)=sign(x)(∣x∣1−1εx)h(x)=sign(x)(\sqrt{|x| 1}-1 εx)h(x)=sign(x)(∣x∣ 1​−1 εx) ,其中ε=0:001(在我们所有的实验中)。然后,我们对标量奖励和价值目标应用变换θ\thetaθ ,以获得等价的范畴表示。我们使用一个大小为601的离散支持集,每个支持集包含一个介于 -300 和 300 之间的整数。在这种变换下,每个标量被表示为其两个相邻支撑的线性组合,使得原始值可以通过公式恢复:x=xlow∗plowxhigh∗phighx=x_{low}*p_{low} x_{high}*p_{high}x=xlow​∗plow​ xhigh​∗phigh​ 。例如,3.7这个目标可以表示为在支持3的权重为0.3,支持4的权重为0.7。网络的价值和奖励输出也使用大小为601的softmax输出来建模。在推演过程中,通过首先计算它们在各自的softmax分布下的期望值,然后通过反转标度变换来获得实际值和奖励。价值和回报的缩放和转换在网络端透明进行,其他算法不可见。

表征函数和动力学函数都使用与AlphaZero相同的架构,但是使用16个而不是20个残差块[15]。我们使用3x3个内核和256个隐藏平面进行每个卷积。

对于Atari,观测值具有较大的空间分辨率,表征函数以stide为2的卷积序列开始,以降低空间分辨率。具体地说,从分辨率96x96和128个平面的输入观测开始(每个平面有3个彩色通道的32个历史帧,与广播到平面的相应32个动作相连),我们按如下方式进行下采样:

·1个卷积,步幅2和128个输出平面,输出分辨率48x48。 ·2个残差块,128个平面 ·1个卷积,步长2和256个输出平面,输出分辨率24x24。 ·3个残差块,256个平面。 ·步长为2的平均池,输出分辨率为12x12。 ·3个残差块,256个平面。 ·stide为2的平均池,输出分辨率为6x6。

所有操作的内核大小都是3x3。

对于动力学函数(始终以6x6的下采样分辨率运行),首先将动作编码为图像,然后与上一步的隐藏状态一起沿平面维度叠加。

在训练过程中,将MuZero网络展开K个假设步骤,并与MCTS参与者生成的轨迹采样序列对齐。序列是通过从回放缓冲区中的任何游戏中采样一个状态,然后从该状态展开KKK 步来选择的。在Atari中,样本是根据优先级回放[35]提取的,优先级P(i)=Piα∑kPkαP(i)=\frac{P_i^\alpha}{{\sum_k}P_k^\alpha}P(i)=∑k​Pkα​Piα​​ ,其中pi=∣vi−zi∣pi=|v_i-z_i|pi=∣vi​−zi​∣,vvv 是搜索价值,zzz 是观测到的n步回报。为了校正优先采样引入的采样偏差,我们使用重要性采样率来衡量损失wi=(1N⋅1p(i))w_i=(\frac 1 N⋅ \frac 1 {p(i)})wi​=(N1​⋅p(i)1​)。在我们所有的实验中,我们设置α=β=1\alpha=\beta=1α=β=1。对于棋盘游戏,状态是统一抽样的。

序列上的每个观测点oto_tot​ 也有相应的MCTS策略πt\pi_tπt​ 、估计价值vtv_tvt​ 和环境奖励utu_tut​。在每个展开的步骤k,网络相对该步骤的价值、策略和奖励目标都有一个损失,求和得出MuZero网络的总损失(见公式1)。注意,在没有中间奖励的棋盘游戏中,我们忽略了奖励预测损失。对于棋盘游戏,我们直接自举到游戏结束,相当于预测最终结果;对于Atari,我们向未来自举n=10n=10n=10 步。

为了在不同的展开步骤中保持大致相似的梯度幅度,我们在两个不同的位置缩放梯度:

·我们将每个压头的损失按1/K1/K1/K 进行缩放,其中KKK 是展开步骤的数量。这确保了无论展开多少步,总梯度都具有相似的大小。

·我们还将动力学函数开始处的梯度缩放 1/2 。这样可以确保应用于动力学函数的总梯度保持不变。

在本文报告的实验中,我们总是展开K=5K=5K=5 步。有关详细说明,请参见图1。

为了改进学习过程并限制激活,我们还将隐藏状态扩展到与动作输入相同的范围([0;1]):sscaled=s−min(s)max(s)−min(s)([0;1]): s_{scaled}=\frac {s-min(s)}{max(s)-min(s)}([0;1]):sscaled​=max(s)−min(s)s−min(s)​。

所有实验都是使用第三代Google云TPUs进行的[12]。每一个棋盘游戏,我们用16个TPU进行训练,1000个TPU用于自我对弈。在Atari的每一场游戏中,我们使用8个TPU进行训练,32个TPU进行自我对弈。在Atari中,TPU所占的比例要小得多,这是因为对每次移动进行模拟的次数较少(50次而不是800次),并且与表征函数相比,动力学函数的大小较小。

为了提高MuZero的采样效率,我们引入了算法的第二个变体,MuZero重分析。MuZero重分析再次访问过去的时点,并使用最新的模型参数重新执行其搜索,可能导致比原来的搜索更高质量的策略。这个新策略用作MuZero训练期间80%更新的策略目标。此外,目标网络[25],v−=fθ−(s0)v^-=f_{\theta^-}(s^0)v−=fθ−​(s0) ,基于最近的参数θ−\theta^-θ− ,为价值函数提供了一个新的、稳定的n步自举目标,zt=ut1γut2...γn−1utnγnvtn−z_t=u_{t 1} \gamma u_{t 2} ... \gamma^{n-1}u_{t n} \gamma^nv^-_{t n}zt​=ut 1​ γut 2​ ... γn−1ut n​ γnvt n−​ 。此外,还调整了其他几个超参数,主要是为了增加样本重用和避免过度拟合价值函数的。具体来说,每个状态抽取2.0个样本,而不是0.1;价值目标的权重降至0.25,而策略和奖励目标的权重为1.0;n步回报率降至n=5n=5n=5 步,而不是n=10n=10n=10 步。

我们通过测量每个玩家的Elo等级来评估MuZero(图2)在棋类游戏中的相对强度。我们估计玩家a打败玩家b的概率,是通过逻辑函数p(a打败b)=(110(celo(e(b)−e(a))))−1p(a打败b)=(1 10^{(celo(e(b)-e(a)))})^{-1}p(a打败b)=(1 10(celo(e(b)−e(a))))−1,并通过贝叶斯逻辑回归来估计等级e()e()e() ,由BayesElo程序[6]使用标准常数celo=1/400c_{elo}=1/400celo​=1/400 来计算。

Elo评分是根据训练期间MuZero和基线玩家(分别是Stockfish、Elmo或AlphaZero)迭代之间800次模拟每一步比赛的结果计算出来的。基线玩家每次移动的搜索时间相当于100毫秒。基线参与者的Elo评级基于公开的价值观[39]。

THE END
0.OptimalStatevsLoveMadeMeABetterMan:分析面板•lichess.org[Event "rated Chess960 game"] [Site "https://lichess.org/BkluXvwz"] [Date "2021.06.10"] [White "OptimalState"] [Black "LoveMadeMeABetterMan"] [Result "1-0"] [GameId "BkluXvwz"] [UTCDate "2021.06.10"] [UTCTime "18:35:53"] [WhiteElo "1771"] [BlackElo "1692"] [WhiteRatingjvzquC41nkiig|x0qtm0DtqwZx}{1kqcem
1.免費國際象棋謎題和分析工具助您提升棋藝通过互动学习、强大工具和充满活力的玩家社区,提升您的国际象棋技能。 立即对战尝试一道谜题 10K+ 每日解决的谜题 5K+ 活跃玩家 50K+ 已分析的对局 100+ 覆盖的国家 全面掌握国际象棋的关键功能 旨在提高您的战术意识和战略理解的综合性国际象棋学习工具 jvzquC41ejktuwtpuvuq0lto1
2.2025及未来5年中国磁力国际象棋市场分析及数据监测研究报告.docx2025及未来5年中国磁力国际象棋市场分析及数据监测研究报告目录一、行业概述与市场背景 41、磁力国际象棋定义与特性 4产品技术原理 4与传统棋类产品差异 52、市场发展阶段与政策环境 6行业发展历程及周期判断 6国家政策导向与支持措施 7二、市场规模与消费需求分析 91、市场规模预测(2025-2030) 9销售额及增长率预测 jvzquC41yy}/tnstgpjpe7hqo1vbrnw16:<49=7;60nuou
3.Charti查看所有1327个对局•lichess.org界面简洁的免费在线国际象棋平台。免注册,无广告,无需插件。与电脑,朋友或随机对手一起对战吧!jvzquC41nkiig|x0qtm0B8Hjctzj1jqn
4.国际象棋"肛珠作弊案"结局!没找到肛珠,却揪出更多作弊者?!|尼曼|报告给出了2020年他和伦施的聊天记录,为了保住账号,他当时向首席国际象棋官道歉(平台规定,承认作弊可以减轻惩罚)。 明明一切记录都在,不明白为什么尼曼前不久撒谎,说自己只作弊过两次…… Chess.com的反作弊工具主要应对线上比赛,但通过分析排名分数,它发现尼曼的线下比赛也很可疑。 “除开线上比赛,如果我们仅看汉 jvzq<84m0uooc7hqo0io1jwvkerfa;:6;4899:9a;9l34=fc23?13=:680nuou
5.象棋书籍象棋入门象棋棋谱国际象棋经典对局分析战术讲解书籍当当育博彦图书专营店在线销售正版《【2021正版新书】2018全国象棋个人赛精彩对局解析 象棋书籍 象棋入门象棋棋谱 国际象棋经典对局分析战术讲解书籍 体育竞技运动书全新》。最新《【2021正版新书】2018全国象棋个人赛精彩对局解析 象棋书籍 象棋入门象棋棋谱 国际象棋经典jvzq<84rtqjve}3fcpmecwl0eqs08?;;5;8627mvon
6.国际象棋分析工具国际象棋分析工具: 一款利用MCP后端分析PGN文件并提供棋局洞察的国际象棋AI教练工具,适用于棋手提升棋艺。……jvzquC41yy}/oluyqtre0lto1|n0fnyckn52f;;;677f3Bi46dld8
7.国际象棋分析软件下载ChessOKAquariumPro2019v12免费特别版附ChessOK Aquarium Pro 2019 v12特别版将为用户免费提供先进的分析功能,游戏评论,搜索,强大的象棋树,游戏,数据库等等。Interactive Deep Analysis是目前最先进的国际象棋分析方法。无限分析比分析预设更灵活。查找失误和游戏分析以分析整个游戏。也是目前用户最喜欢的应用软件之一,需要的用户不要错过哦! jvzquC41yy}/lk:30pku1|thv1<82A:70jznn
8.鹏飞象棋移动版下载鹏飞象棋移动版最新版v1.0.289安卓版(3)强大的算法:该应用程序使用世界领先的AI技术,根据情况提供智能分析和提示。 除了支持普通国际象棋练习、游戏和观看外,(4)功能全面:还提供了启动库、国际象棋频谱库、智能提示等多项附加功能。 (5)在线对弈和观赛:用户可以和全世界其他象棋爱好者玩网络游戏,通过观看功能可以看到其他高手的大国。 (6)多样化的学习方式: jvzq<84yyy4qkynmwp4dqv4cpfxpkm4uqhz05:9260nuou
9.最新国际象棋相关文章2025-2031年中国国际象棋行业市场竞争态势及未来前景研判报告 《2025-2031年中国国际象棋行业市场竞争态势及未来前景研判报告》共十章,包含2020-2024年中国国际象棋行业上下游主要行业发展现状分析,2025-2031年中国国际象棋行业发展预测分析,国际象棋行业投资前景研究及销售战略分析等内容。 文化产业 2024-2030年中国国际jvzquC41yy}/eq~zz0ipo8yci1mvqsnzkcthsr
10.国际象棋的规则范文这些研究体现以下特点:1. 停留在实践层面上,以经验总结为主;2. 缺乏足够的实验数据支持和理论分析;3. 实验研究主要在中小学青少年阶段,而幼儿园层面的实验研究较少。 本研究目的是:通过设实验组和比较组,探索国际象棋活动对幼儿心理发展的影响,为幼儿园开展国际象棋教育活动提供一定的理论支持与参考。jvzquC41yy}/i€~qq0ipo8mcqyko1::;746/j}rn
11.象棋ai分析排行榜软件大全象棋ai分析排行榜推荐下载PP助手为您提供象棋ai分析软件排行榜大全推荐,在这里我们为您提供象棋ai分析软件排行榜软件下载资源,象棋ai分析软件排行榜安卓版本、官方版本&老版本下载地址合集,还可查阅相关象棋ai分析软件排行榜攻略大全,欢迎到PP助手下载。jvzquC41ycv/ry3ep1zprrh1:487294
12.涌现:AI大模型赋能千行百业它采用了基于规则的专家系统、人工神经网络、遗传算法等多种人工智能技术,通过学习大量的国际象棋棋谱和人类专家的棋局分析资料,不断优化自身的棋局判断和决策能力。此外,深蓝还采用了机器学习技术,通过自我对弈来不断提高自身的棋艺水平。在其他领域也有类似的最高荣誉得主,比如DeepMind公司的AlphaGo等。jvzquC41yy}/gyzdkv4dqv4dqqqEg}fknuEjfFZD::k56m=:7ck2g
13.幼儿园发展计划与思路5篇(2)建立二个平台:以家长委员会、家长开放日为平台,以家园联系册和中国幼儿在线家园共育网站为纽带,在家园互动中形成教育改革共识,营建和谐的互动氛围。 (3)规范三项评估:教师教学质量评估;幼儿发展性评估;家长满意度调查。 2、完善课程园本实施方案 (1)整理和收集实践已有的国际象棋游戏课程 jvzquC41yy}/z~jzkng/exr1hyt0ixsi|wukkqzczwkykjt1e3:62<830jznn
14.构建实时国际象棋在线游戏平台:Node.jsExpress和Socket.IO实战简介:本项目介绍了一款基于Web的实时国际象棋游戏平台——“chess: 国际象棋在线”,它利用Node.js、Express和Socket.IO技术栈实现了一个流畅的在线对弈体验。项目中包括服务器端Node.js环境、Express框架后端服务、Socket.IO实时通信,并涉及棋盘游戏逻辑、前端界面设计和实时数据处理等关键环节。开发者可以通过学习该项目jvzquC41dnuh0lxfp0tfv8|gkzooa=77:6;988ftvkimg8igvcomu86645832A: