我认为OP对AlphaGo和alpha-beta感到困惑。在alpha-beta中,您确实可以使用策略网络来进行修剪,但是这里没有。再次,没有修剪,因为该算法依赖于蒙特卡洛树搜索(MCTS)。
任何认为我的答案太长的人都可以跳到摘要部分,在该部分中,我说明了为什么这两个网络不是多余的。
在下面的示例中,我将进行一些简化以使我的想法更易于理解。
例:
假设您在一个职位上有两项法律措施。第一步对您来说是个输家,但是,第二步为您带来制胜的优势。
评估网
假设Google为您提供的评估网络是完美的。它可以完美地评估我们示例中的任何叶子位置。在此示例中,我们不会更改我们的价值网络。
为了简化我们的示例,我们假设我们的价值网络具有以下优势:
- -1000对于任何对您造成损失的叶子位置
- +1000的叶子位置对您来说都是胜利
政策网络
假设Google为您提供了两个政策网络。为我们的职位生成的概率为:
- 策略1:第1步为0.9,第2步为0.1
- 策略2:第1步为0.2,第2步为0.8。
请注意,对于我们的示例,我们的第一个策略网络给出了错误的先验概率。它给出了移动1的0.9,这是一个失败的移动。这很好,因为甚至Google都无法训练出完善的政策网络。
玩第一个政策网络
AlphaGo需要使用Monte-Carlo生成模拟,并且需要选择移动1或2。现在,AlphaGo绘制了一个均匀分布的随机变量,它将选择:
- 如果随机数<= 0.9,则移动1
- 如果随机数> 0.9,则移动2
因此,AlphaGo更有可能选择失败的举动进行模拟(在我们的第一个模拟中)。在我们的第一个模拟中,我们还将使用价值网络来获得模拟得分。在本文中,它是:
该值将是-1000,因为此模拟将导致损失。
现在,AlphaGo需要生成第二个模拟。再次,采取第一步的可能性更大。但最终,第二步将被选中,因为:
- 我们第二步的先验概率为0.1,而不是零
- 鼓励AlphaGo尝试尚未探索的动作。在本文中,这是通过以下公式完成的:
请注意,这N
是搜索移动的移动数,并且在分母中。搜索第一步的可能性越大,u
函数越小。因此,选择第二个举动的可能性会提高,因为AlphaGo实际上通过以下等式选择了一个举动:
这是关键等式。请仔细看一下:
- 它具有
P
先验概率的术语(由策略网络提供)
- 它有一个
Q
评价分数的术语(由价值网络赋予)
现在,我们知道我们最终将选择第二步。当确实发生时,价值网络给出+1000。这将增加Q
,这使得在以后的仿真中更有可能选择第二步。
给定足够的模拟,选择第二步进行仿真的次数应大于选择第一步的次数。
最后,AlphaGo决定做出的举动是(摘自本文):
搜索完成后,算法将从根位置选择访问量最大的移动。
玩第二个政策网络
我们的第二个策略网络将需要较少的迭代来选择移动2,因为策略网络给出的先验概率首先是正确的。
备注
这里的一切都与Bayesian
分析非常相似。我们从某个先验概率开始(由策略网络确定),然后生成数据以移动概率分散(由价值网络确定)。
总结
- 策略网络用于生成先验概率,以指导蒙特卡洛搜索应采取的行动
- 价值网络用于生成数据以验证策略网络。如果策略网络不好,则AlphaGo将需要更多的计算资源来融合(如果有的话)。
- 您可以将其视为贝叶斯分析