AlphaZero纸中Dirichlet噪声的目的


10

在DeepMind的AlphaGo ZeroAlphaZero论文中,他们描述了在蒙特卡洛树搜索中,将Dirichlet噪声添加到根节点(板状态)的先验概率上:

通过将Dirichlet噪声添加到根节点的先验概率来实现额外的探索,特别是,其中和\ varepsilon = 0.25 ; 这种噪音确保可以尝试所有动作,但是搜索可能仍会否决不良动作。 P 小号= 1 - ε p 一个 + ε η 一个 η 风向0.03 ε = 0.25s0P(s,a)=(1ε)pa+εηaηDir(0.03)ε=0.25

(AlphaGo零)

和:

Dirichlet噪声Dir(α)已添加到根节点中的先验概率;这与典型位置中合法移动的近似数量成反比例,即α={0.3,0.15,0.03}用于国际象棋,将棋和围棋。

(零零)

我不明白的两件事:

  1. P(s, a)是维向量。是的简写与狄利克雷分布参数,每个的值是?风向α ñ αnDir(α)nα

  2. 我只遇到Dirichlet作为多项式分布的共轭形式。为什么在这里挑选呢?

就上下文而言,P(s, a)只是给定状态/动作的PUCT(多项式上置信度树,置信度上限的一种变体)计算的一个组成部分。它用一个常数和一个度量标准进行缩放,以确定在MCTS期间在同级中已选择给定操作多少次,并添加到估算的操作值中Q(s, a)

  • PUCT(s, a) = Q(s, a) + U(s, a)
  • U(s,a)=cpuctP(s,a)bN(s,b)1+N(s,a)

1
好吧,Dir(a)的确表示Dir(a,a,...)。对于<1,它将集中在R ^ n的标准基向量附近(越小,越紧密)。因此Dirichlet(a)帮助(1)保持参数之和恒定,(2)集中在基向量附近,(3)都不选择它们。
和尚

Answers:


6

问题1很简单,这里是给定值重复的向量。(由Max S.回答)α

问题2更有趣:在这种情况下,狄利克雷分布具有以下相关解释:当是从具有结果概率某些(未知)分类分布中得出的结果计数的观察向量时,则是是实际基础分布的可能性,因为您观察到为计数。(这基本上是对偶分布的定义。)απd一世[RαπC一个Ťπα

现在P(s,a)估计,一个优秀的球员将发挥概率as,那是他的绝对分布,这AlphaZero想学习的参数。因此,如果我们观察到良好的球员打法α次,d一世[Rα将为p一世=采样合理的估计值。但是,如果一些α = 0,则所有的π d - [R α 具有π = 0P(s,a)αα一世=0πd一世[Rαπ一世=0,防止探索。通过将噪声他们认为他们观察到每一个动作被播放一些少数倍的α(这里选择0.3,0.15,0.03)。

至于他们如何得到常数,我猜他们假设他们在每局比赛中都观察到了大约10次随机下注:在国际象棋中,d一世[R0.3假设您看到每一步都进行了0.3次。假设根据Allis提供了约35个移动,作者假设您在每个节点中都看到了约10个随机移动。在Go中,如果我们假设平均约有270次合法移动(361个板位中的3/4),则相当于观察了约8个随机移动。(我没有将棋的数据。)


3

对于第一个问题,答案是肯定的,是向量,但是在这种情况下,所有值都相同。根据维基百科,这被称为对称Dirichlet分布,并且在“没有先验知识偏爱一个组件胜过另一个组件”时使用。在这种情况下,这意味着您不想向任何特定组件添加更多的噪声。α

对于问题2,从Dirichlet分布中抽取的样本具有元素将求和为1的属性。我假设他们正在使用此属性来确保在添加噪声后元素仍将求和为1。


谢谢。除了求和(我们也可以通过缩放一组任意分布来做到)外,它更喜欢标准基向量。这似乎很有用。
和尚
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.