如果无法访问模型,时间差异和蒙特卡洛方法如何工作?

人工智能 强化学习 蒙特卡罗方法 时差法 基于模型的方法 无模型方法
2021-11-13 09:44:36

在价值迭代中,我们有一个环境动态模型,即p(s,rs,a),我们用它来更新价值函数的估计。

在时间差分和蒙特卡洛方法的情况下,我们不使用p(s,rs,a),但是这些方法是如何工作的呢?

1个回答

主要思想是你可以估计Vπ(s), 状态值s在给定的政策下π,即使您没有环境模型,通过访问该状态s并遵守政策π在那个状态之后。如果你多次重复这个过程,你会得到很多轨迹样本s有一些与他们相关的总回报。如果对它们进行平均,您将获得基于样本的估计Vπ(s). 以类似的方式,您可以使用基于样本的方法来估计Qπ(s,a), 你从哪里开始s, 采取一些任意行动a,然后继续关注π. 在您收集了许多样本后,您还可以平均收益以获得基于样本的估计Qπ(s,a). 一旦你有足够好的估计Qπ(s,a),你可以看到很容易改进当前的策略π获得新政策π总是在任何给定状态下选择最佳动作:π(s)=argmaxa Qπ(s,a).

我在上一段中描述的过程中,您对整个轨迹进行采样并等到情节结束来估计回报,这就是蒙特卡洛方法。相比之下,TD 利用贝尔曼方程的递归特性来学习,甚至在剧集结束之前。例如,您可以像这样估计价值函数:Vπ(s0)=r0+γVπ(s1), 在哪里r0来自经验,而不是收集更多rt直到这一集结束,你都依赖于你对下一个状态值的估计(你也可以从经验中得到)。一开始,您的估计可能是随机的,但经过多次迭代后,该过程会收敛到良好的估计。利用这种递归结构的相同想法可用于估计Qπ(s,a). 我想这种方法被称为时间差异,因为你采样r0这在某种意义上是时间上的差异s0s1.