hus*_*olf 20 artificial-intelligence machine-learning reinforcement-learning q-learning
Q学习如何与强化学习中的价值迭代不同?我知道Q学习是无模型的,训练样本是过渡(s, a, s', r).但是,既然我们知道Q学习中每次转换的过渡和奖励,那么它与基于模型的学习不同,我们知道状态和动作对的奖励,以及来自州的每个动作的转换(无论如何)随机的还是确定的)?我不明白其中的区别.
sea*_*erd 37
如果我们知道Q学习中每次转换的转换概率和奖励,那么你是100%正确的,我们很难理解为什么我们会使用它来代替基于模型的学习,或者它甚至会如何根本不同.毕竟,转换概率和奖励是价值迭代中使用的模型的两个组成部分 - 如果你有它们,你就有了一个模型.
关键是,在Q学习中,代理不知道状态转移概率或奖励.代理人只发现当有这样的行为并且收到奖励时,通过给定的动作从一个州到另一个州有奖励.类似地,它只通过在该状态中结束并查看其选项来确定从给定状态可获得的转换.如果状态转换是随机的,它通过观察不同转换发生的频率来学习状态之间转换的概率.
这里可能的混淆源是,作为程序员,您可能确切地知道如何设置奖励和状态转换.实际上,当您第一次设计系统时,您可能会遇到这种情况,因为这对于调试和验证您的方法是否有效非常重要.但是你永远不会告诉代理人 - 而是你强迫它通过反复试验来学习.如果您想创建一个能够进入您没有任何先前知识并想知道该做什么的新情况的代理,这一点很重要.或者,如果您不关心代理自己学习的能力,如果状态空间太大而无法重复枚举,则可能还需要进行Q学习.在没有任何启动知识的情况下探索代理可以在计算上更容易处理.
小智 6
我认为公认的答案没有抓住差异的本质。引用理查德萨顿的书的最新版本:
\n\n\n\n\n"\n 有了 q\xe2\x88\x97 使得选择最优动作变得更加容易。有了 q\xe2\x88\x97,代理甚至不需要进行一步一步的搜索:对于任何状态 s,它可以简单地找到最大化 q\xe2\x88\x97(s; a) 的任何动作。动作值函数有效地缓存所有一步前进搜索的结果。它提供了最佳的预期长期回报作为对于每个状态{动作对,本地且立即可用的值。因此,以表示状态{动作对的函数(而不仅仅是状态)为代价,最佳动作值函数允许在不知道的情况下选择最佳动作关于可能的后继状态及其值的任何信息,也就是说,无需了解有关环境\xe2\x80\x99s 动态的任何信息。 \n "
\n
通常在实际问题中,代理不知道世界(或所谓的转换)动态,但我们肯定知道奖励,因为这些是环境在交互过程中回馈的内容,而奖励函数实际上是由我们定义的。
\n\nq-learning 和正常值迭代之间的真正区别在于:\n在获得 V* 后,您仍然需要对后续状态进行一步操作前瞻,以确定该状态的最佳操作。这种前瞻需要动作之后的过渡动态。但如果你有 q*,最佳计划就是从最大q(s,a)对中选择一个。
\n