AlphaGo的政策网络和价值网络之间的区别


25

我正在阅读有关Google AlphaGo的高级摘要(http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html),并且遇到了“政策”一词。网络”和“价值网络”。在较高的层次上,我了解到策略网络用于建议行动,价值网络用于“减少搜索树的深度[并估计]每个位置的获胜者,而不是一直搜索到游戏结束。”

这两个网络对我来说似乎是多余的。如果策略网络未使用价值网络修剪其策​​略,该怎么做?显而易见,价值网络是一种深度学习神经网络。政策网络只是理论上的抽象,而不是实际的神经网络吗?价值网络的目标变量似乎是赢/输。策略网络是否有目标变量?如果是这样,那是什么?策略网络试图优化什么?

可以在以下位置找到《自然》杂志上发表的Google论文的完整pdf:https//vk.com/doc-44016343_437229031?dl = 56ce06e325d42fbc72


快速说明:策略网络的目标变量是概率分布。从论文中得出:“该神经网络(价值网络)的结构与政策网络类似,但是输出的是单个预测而不是概率分布”
Zimano

3
如果有人像我一样偶然发现了这个老问题,您将很高兴知道AlphaGo的后继者“ AlphaGo Zero”以及其后继者“ AlphaZero”确实仅通过训练其结果的一个网络确实摆脱了冗余。服务于政策网络(在可能的举动上给出概率分布)和价值网络(在给定董事会下获胜的概率)的功能。此处的博客文章:deepmind.com/blog/alphago-zero-learning-scratch,并且本文链接在其中。
凯文·王

Answers:


11

简而言之,每个网络都有您所提到的不同目的:

  • 在叶节点使用值网络来减少树搜索的深度。
  • 策略网络用于减少从节点进行搜索的广度(指导有希望的立即行动)。

通常,您可以使用价值函数方法来找到最佳策略,或者直接在策略空间中搜索以优化参数化的策略函数(当然有优缺点)。在每种情况下,都可以使用函数逼近器(例如Deep Nets)。我看到主要是您对保单网络感到困惑,因此我将答案集中在此。

政策网首先是:

受过训练,可以执行在给定板状态下人类最有可能执行的动作(因此输入是板状态,而输出是直方图,表示在给定状态下每个动作的概率)。网络可以近似于从状态到动作的映射所基于的概率函数。毕竟,考虑从可用数据开始构建策略是合理的。经过专家培训后,政策网络可以充分发挥作用(尽管距离硕士水平还很远)。简而言之,您试图捕获专业玩家的一般行动选择模式。

然后,

为了与先前学习的策略最优化,它与对手进行了游戏训练。这次使用REINFORCE算法更新了其权重。通过这样做,您可以更新净参数,以实现预期奖励的最大化。最终,您将拥有一个网,不仅可以选择像专业玩家这样的动作,而且还可以赢得比赛(但是无法计划!)。

在此步骤之后,他们通过回归(输入是状态板,并以游戏的结果为目标)来近似学习策略的一些嘈杂版本的价值函数。您可以使用此网络来影响叶子节点评估。

从概念上讲,政策网使您更有可能采取行动,但这并不表示您最终会赢得胜利。AlphaGo有一些“盲点”,并且在比赛中做出了一些非常糟糕的举动,但是这也是人类从未想过的异常举动。

最后,您可以将规划算法(MCTS)与这些网络结合使用。为什么我们要采取所有这些步骤?简而言之,没有任何“直觉”的简单MCTS将会失败。


我刚刚回到这个问题,了解了Actor-Critic,以及它如何抵消纯基于价值的方法与基于策略的方法之间的成本/收益。我认为这个答案最接近于解释这个细节,但是在David Silver的演讲中已经很好地涵盖了:www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf(第7课,在YouTube-youtube.com/…上也可以使用。
尼尔·斯莱特

但是,基于纯MCTS的方法已证明是成功的,因此在更广泛的背景下,我不会说它会失败。
Zimano

1
我仅指的是围棋游戏,也指达到游戏大师水平。实际上,大卫·西弗(David Silver)和其他研究人员自从攻读博士学位以来就一直在与MCTS合作解决围棋游戏。但是,只有结合以上方法,才能在最高水平上竞争。
君士坦丁堡州

9

这是我理解两个不同网络的简洁思考过程。

首先,目标是在不使用详尽搜索的情况下找到最佳解决方案(或非常接近最优),这无疑是一项挑战。

对于每个位置或状态,将有N个可能的移动,并且在完整搜索树中,每个移动都会有其自己的深度D。从理论上或数学上都可以遍历所有路径并找到最佳解决方案。但是,我们不想进行完整搜索。

现在,我们有两个独立的问题来开发近似方法。

Q1。我们如何跳过或不理会每个头寸中N点的一些变动?(即减少呼吸)

Q2。我们如何才能在搜索树中停留在中间深度,而不是一直走到游戏结束,而又不会找到最佳解决方案?(即深度减少)

策略网络的主要目的是从N中过滤掉无用的移动,而又不会找到最佳解决方案。在这里,该网络最初依赖于人类专家的动作,即SL,后来被RL改进。

价值网络主要用于无需全面搜索即可找到获胜概率。

这两个网络的共同目标是寻找最佳解决方案。但是,在每个战略选择中,每个网络都扮演着不同的角色。

我只是希望这会有所帮助。我知道它仍然会处于较高水平。


您的两种方式解释非常简洁。
蒂姆(Tim

6

我认为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将需要更多的计算资源来融合(如果有的话)。
  • 您可以将其视为贝叶斯分析

我认为这为内部机制提供了更深刻的见解。我仍然不确定是否可以解释这两个网络的原因。我的问题是“假设评估网络...是完美的”。如果真是这样,那么策略网络确实是冗余的。只要展望未来(针对所有可能的行动),然后选择具有最高价值网络评估的行动即可。当然,价值网络并不完美,我怀疑随着游戏的深入发展,它会变得更加准确。。。但我不知道这是多么真实/有用,或者它是否能完整回答这个问题。
尼尔·斯莱特

@NeilSlater好的。网络并不完美,但是我在这里拥有的原因仍然很好,只是我们需要更多的MC模拟。
SmallChess '16

@StudentT很好地解释了一些关键方程式。我将做一个小小的更改:说“您需要看到十个动作”来理解“蒙特卡洛树搜索”中的位置并没有多大意义。MCTS是一种深度优先的证明编号搜索,而且我们从未真正达到过象棋中的迭代加深那样的固定深度。即使在价值网络,使我们的节点评价比赛结束前,我们仍然没有在广度优先的方式实现这些,并没有最小-最大评价节点,等等
伊姆兰

@Imran随时编辑我的帖子。
SmallChess

3

策略网络:通过向游戏提供特定输入来学习给出确定输出的网络称为策略网络。

价值网络:价值网络通过计算当前状态的预期累积得分,为游戏状态分配价值/得分s。每个州都通过价值网络。获得更多奖励的州显然会在网络中获得更多价值。

动画有更好的理解转到此处:强化学习中的政策网络与价值网络

在此处输入图片说明


0

据我了解,差异在于输出。在政策网络输出所有可能动作的概率分布的情况下,价值网络将返回一个实际值,该实际值可以解释为在此板配置下获胜的概率。从那里开始,通过取前K个移动来执行蒙特卡洛树搜索,然后通过取前K个值网络输出再次缩小搜索树的范围。

如果我错了,有义务纠正我。


2
您没看错AFAIK,但我认为这不能回答问题。OP似乎意识到RL中基于价值的模型或基于策略的模型之间的区别。这两种方法确实具有不同的输出。但是,更常见的是看到一个或另一个而不是两者,并且这两个模型通常是多余的,因为“ Value_maxarg(S')== Policy_maxarg(S,A)”,其中S是当前状态,A是对取,S'为结果状态。也就是说,即使输出不同,在更常见的RL设置中,两个网络也只会产生相同的结果。
尼尔·史莱特
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.