首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AlphaGo政策网络与价值网络的差异

AlphaGo政策网络与价值网络的差异
EN

Data Science用户
提问于 2016-03-28 16:40:25
回答 7查看 19.3K关注 0票数 28

我读了一篇关于谷歌AlphaGo的高级摘要,我偶然发现了“策略网络”和“价值网络”这两个术语。在高层次上,我理解策略网络被用来建议移动,价值网络被用来,“缩小搜索树的深度( 和估计 )--每个位置的赢家,而不是一直搜索到游戏结束。”

这两个网络在我看来是多余的。如果策略网络没有使用值网络来修剪策略,那么它在做什么呢?很明显,价值网络是一个深度学习的神经网络;政策网络只是一个理论抽象,而不是一个实际的神经网络吗?价值网络的目标变量似乎是输赢。是否有策略网络的目标变量;如果有,是什么?政策网络试图优化什么?

谷歌发表在“自然”杂志上的论文的完整pdf可以在这里上找到。

EN

回答 7

Data Science用户

回答已采纳

发布于 2016-05-12 00:25:00

简而言之,正如您提到的那样,每个网络都有不同的用途:

  • 在叶节点上使用值网络来减少树搜索的深度。
  • 策略网络被用来减少节点搜索的广度(引导人们承诺立即采取行动)。

通常,您可以使用值函数方法来找到最优策略,或者直接在策略空间中搜索来优化参数化的策略函数(当然有优点和缺点)。您可以在每种情况下使用函数逼近器(例如,深网)。我看到你主要是对政策网感到困惑,所以我把我的回答集中在这一点上。

政策网首先是:

训练去做一个人很可能会做的动作(所以输入是一个板状态,输出是一个直方图,它显示了给定状态下每个动作的概率)。网络可以近似于从状态映射到动作的概率函数。从可用的数据开始构建您的策略是合理的。经过监督训练,使用专家移动,策略网可以充分发挥游戏(虽然远离硕士的水平)。简单地说,你试图捕捉职业球员动作选择的一般模式。

然后,

它是在与对手本身的游戏中训练的,以优化以前学过的策略.这一次,它的权重被更新使用加强算法。通过这样做,您可以更新网络参数,以实现预期报酬的最大化。最终,你有了一个网,它不仅能像职业玩家一样选择动作,而且还能赢得比赛(然而,它无法计划!)

在这一步之后,他们通过回归(输入是状态板,并针对游戏的结果),近似出了一些杂乱无章的学习策略的值函数。可以使用此网络影响叶节点的计算。

从概念上讲,策略网给出了比行为更高的概率,但这并不意味着你最终会赢得比赛,状态。AlphaGo有一些“盲点”,在比赛中做了一些非常糟糕的动作,但也有一个人类从未想过的特殊举动。

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

票数 13
EN

Data Science用户

发布于 2017-05-31 16:57:42

以下是我理解这两种不同网络的简明思维过程。

首先,我们的目标是在不使用穷尽搜索的情况下找到最优解(或非常接近最优),这绝对是一种挑战。

每一个位置或状态,将有N个移动可能,在每一个移动将有它自己的深度D在一个完整的搜索树。理论上或数学上都有可能走遍所有的道路,找到一个最优解(S)。然而,我们不想做一个全面的搜索。

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

Q1。我们如何可以跳过或忽略一些移动出N的每个位置?(即呼吸减少)

Q2。我们怎样才能在搜索树的中间深度停留,而不是一直走到游戏结束,而不去寻找最优的解决方案呢?(即减少深度)

策略网络的设计主要是为了过滤掉N中无用的移动,同时又没有找到最优解。在这里,这个网络最初依赖于人类专家的移动,即SL,后来通过RL进行了改进。

价值网络的设计主要是为了在不需要完全搜索的情况下寻找获胜概率。

这两个网络有一个共同的目标是找到一个最优的解决方案,然而,在每一个战略选择的行动,每个网络发挥着不同的作用。

我只希望这能帮上忙。我知道它还在很高的水平上。

票数 10
EN

Data Science用户

发布于 2016-04-02 10:47:21

我认为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,这是一个失败的移动。这很好,因为即使是谷歌也无法培养出一个完美的政策网络。

正在使用第一个策略网络

AlphaGo需要使用蒙特卡罗生成一个模拟,它需要选择移动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将需要更多的计算资源来收敛(如果有的话)。
  • 你可以把它想象成贝叶斯分析
票数 8
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/10932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档