Q学习和价值迭代有什么区别?
artificial-intelligence
machine-learning
5
0

Q学习与强化学习中的价值迭代有何不同?

我知道Q学习是无模型的,训练样本是过渡(s, a, s', r) 。但是由于我们知道Q学习中的过渡和每个过渡的收益,所以它与基于模型的学习不同,在模型学习中,我们知道状态和动作对的收益,以及从状态到每个动作的过渡(是它是随机的还是确定性的)?我不明白区别。

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

您是100%正确的,如果我们知道Q学习中每个过渡的概率和回报,那么我们为什么不使用它而不是基于模型的学习,或者根本不同的原因尚不清楚。毕竟,转移概率和奖励是价值迭代中使用的模型的两个组成部分-如果有,则有一个模型。

关键在于, 在Q学习中,代理不知道状态转换概率或奖励 。代理仅发现通过给定操作从一种状态进入另一种状态并获得奖励时会获得奖励。同样,它只能通过结束给定状态并查看其选项来弄清楚从给定状态可以进行哪些转换。如果状态转换是随机的,则它通过观察不同转换发生的频率来了解状态之间转换的可能性。

这里可能引起混乱的原因是,作为程序员,您可能确切地知道如何设置奖励和状态转换。实际上,当您初次设计系统时,您很有可能会这样做,因为这对于调试和验证您的方法是否有效非常重要。但是您绝不会告诉代理人任何事情-而是强迫其通过反复试验来独立学习。 如果您要创建一个能够进入您没有任何先验知识并弄清楚该怎么做的新情况的代理,那么这一点很重要。或者,如果您不关心代理独立学习的能力, 则如果状态空间太大而无法重复枚举,则还可能需要Q学习。在没有任何初始知识的情况下让代理进行探索在计算上更容易处理。

收藏
评论

当有转移概率时,即表示知道通过动作a从状态x进入状态x'的概率时,将使用值迭代。相比之下,您可能有一个黑匣子可以模拟它,但实际上并没有给定概率。因此,您无需模型。这是您应用Q学习的时候。

同样,学到的东西也不同。通过值迭代,您可以了解到给定状态x时的预期成本。使用q学习,您将在处于状态x并执行操作a时获得预期的折扣成本。

以下是算法:

我目前正在写下有关强化学习考试的大量内容。您可能也对我的讲义感兴趣。但是,它们大多是德语。

收藏
评论

我认为公认的答案没有体现出差异的本质。引用Richard Sutton书的最新版本:

有了q ∗,就可以更加轻松地选择最佳行动。有了q ∗,代理甚至不必进行一步一步搜索:对于任何状态s,它都可以简单地找到使q ∗(s; a; )。操作值功能可有效地缓存所有一步式搜索的结果,它提供最佳的预期长期回报,该值是每个状态{操作对本地可立即获得的值。代表状态函数{动作对,而不只是状态),最佳动作值函数允许选择最佳动作,而不必了解任何有关可能的后继状态及其值的知识,即,不必了解有关环境的动态。

通常在实际问题中,代理人不了解世界(或所谓的转换)动态,但我们肯定知道奖励,因为这些是交互过程中环境所回报的,并且奖励功能实际上是由我们定义的。

q学习和正态值迭代之间真正区别在于 :获得V *后,您仍然需要对后续状态进行一步动作前瞻,以识别该状态的最佳动作。而且,这种前瞻性要求在动作后进行动态过渡。但是,如果您有q *,最佳计划就是从最大q(s,a)对中选择一个

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号