AlphaGo Zero 策略如何决定执行什么动作?

人工智能 强化学习 政策 深思熟虑 阿尔法零 阿尔法戈
2021-10-23 22:05:07

我正在阅读AlphaGo Zero 论文,我试图理解所有内容,但我就是无法弄清楚这个公式:

π(as0)=N(s0,a)1τbN(s0,b)1τ

有人可以解读政策如何按照这个公式做出决定吗?我非常了解论文的所有其他部分,而且温度参数对我来说也很清楚。

这可能是一个简单的问题,但无法弄清楚。

2个回答

有问题的公式使用了一个函数 N(state, action),它定义了一个状态-动作对的访问计数(在第 3 页介绍)。为了描述它是如何使用的,让我们首先将 AlphaGo Zero 的步骤作为一个整体来描述。

如图 2 所示,AlphaGo Zero 中的 Monte-Carlo 树搜索有 4 个“阶段”。前 3 个阶段扩展和更新树,一起是 AlphaGo Zero 中的 Monte-Carlo 树“搜索”中的“搜索”。

  1. 在树中选择具有最大动作值 Q(加上置信上限 U)的边(动作)

  2. 使用网络扩展和评估叶子节点

  3. 更新备份操作值 Q 以跟踪子树中值的评估。

  4. 播放——“搜索”完成后,返回的搜索概率与树节点的访问次数成正比。*

*这是有问题的公式发挥作用的地方(双关语)。在“搜索”期间,看起来不错的节点被扩展,因此它们的访问计数被更新。所以公式本质上就是在描述这个逻辑:

好的节点具有较高的计数,因此经常选择具有较高计数的节点

但是,如果有一个非常好的节点但它没有被访问过很多所以它没有被选中怎么办?

这是温度参数的来源:

  • 如果温度为 1,则此选择与其访问次数成比例移动。
  • 如果温度为 0(实际上不是,而是接近 0 的无穷小),并且添加了一些噪音,它“确保可以尝试所有移动,但搜索可能仍会否决坏移动。”

总而言之,这个公式是说:大部分时间都选择好东西

公式的数学评估描述如下:

AlphaGo Zero 通过该公式定义每个动作(也称为策略)的概率。如果有 3 个节点 A、B 和 C,并且它们分别被访问了 10、70 和 20 次(总共 100 次),那么采取这些行动的概率为:

  • P(A) = 10/100 = .10
  • P(B) = 70/100 = .7
  • P(C) = 20/100 = .2

直观地说:

  1. Q 越大意味着选择节点 (s'|s,a) 的概率越大。当我们选择访问最多的节点时,我们选择了一个 Q 值好的节点。
  2. 更多的访问次数意味着更准确的估计。即使经过比其他节点更多的试验,所选节点也证明自己是一个不错的选择。
  3. 在某些情况下计算更少(整数/长与浮点/双精度)