Q-learning 与强化学习中的值迭代有何不同?
我知道 Q-learning 是无模型的,训练样本是过渡(s, a, s', r)
。但是,既然我们知道 Q 学习中的转换和每个转换的奖励,那么它与基于模型的学习不一样吗?在基于模型的学习中,我们知道状态和动作对的奖励,以及状态中每个动作的转换(即它是随机的还是确定性的)?我不明白其中的区别。
你说得100%正确,如果我们知道Q学习中每次转换的转换概率和奖励,那么我们就不清楚为什么我们要使用它而不是基于模型的学习,或者它会有什么根本不同。毕竟,转移概率和奖励是价值迭代中使用的模型的两个组成部分 - 如果你拥有它们,你就拥有了一个模型。
关键是,在 Q-learning 中,智能体不知道状态转换概率或奖励。当智能体这样做并收到奖励时,它才会发现通过给定的动作从一种状态转到另一种状态会得到奖励。类似地,它只是通过结束在给定状态并查看其选项来找出从给定状态可以进行哪些转换。如果状态转换是随机的,它通过观察不同转换发生的频率来了解状态之间转换的概率。
这里可能造成混乱的原因是,作为程序员,您可能确切地知道奖励和状态转换是如何设置的。事实上,当您第一次设计系统时,您很可能会这样做,因为这对于调试和验证您的方法是否有效非常重要。但你永远不会告诉代理任何这些 - 相反,你强迫它通过反复试验自行学习。如果您想要创建一个能够进入您没有任何先验知识并弄清楚该怎么做的新情况的代理,这一点很重要。或者,如果你不关心代理的自主学习能力,如果状态空间太大而无法重复枚举,Q 学习也可能是必要的。让代理在没有任何起始知识的情况下进行探索可以在计算上更容易处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)