没有终端状态的策略梯度的蒙特卡洛更新

人工智能 深度学习 政策梯度 函数逼近
2021-10-30 11:17:51

考虑一些没有终端状态的 MDP。我们可以应用引导方法(如 TD(0))在这些情况下学习没有问题,但在只有简单的蒙特卡罗更新的策略梯度算法中,它需要我们提供完整的轨迹(没有终端状态这是不可能的) )。

自然地,可以让 MDP 运行 1000 个周期,然后作为近似值终止。如果我们将这些轨迹输入到蒙特卡洛更新中,我想时间段 t=1,2,...,100 的样本会因为折扣因子而对价值函数给出非常好的估计。但是,在时间段 997、998、999、1000 中,由于接近 1000 的截止点,我们对这些轨迹的期望值与 V(s) 相差甚远。

问题是这样的:

  1. 当我们更新我们的函数逼近时,我们是否应该包括这些后来出现的数据点?

或者

  1. 是否假设这些点在我们的更新中变得非常稀疏,所以它们对我们的训练没有太大影响?

或者

  1. 通常是否暗示轨迹中的最终数据奖励在这些情况下是自举的(即,在这种情况下,我们有一些类似 TD(0) 的行为)?

或者

  1. 由于这个问题,策略梯度算法的蒙特卡罗更新是否甚至适用于非终止 MDP?
1个回答

自然地,可以让 MDP 运行 1000 个周期,然后作为近似值终止。如果我们将这些轨迹输入到蒙特卡洛更新中,我想时间段 t=1,2,...,100 的样本会因为折扣因子而对价值函数给出非常好的估计。但是,在时间段 997、998、999、1000 中,由于接近 1000 的截止点,我们对这些轨迹的期望值与 V(s) 相差甚远。

我认为你的直觉是……部分就在这里,但并不完全准确。回想一下价值函数V(S)通常被定义为(省略一些不重要的细节,如指定策略):

V(Si)=E[t=0γtRi+t].

“时间段样本”t=1,2,,100你提到的不是这个全价值函数的估计。它们是相应单个术语的估计值Ri+t. 确实,总的来说,您的直觉是正确的,它们越接近“起点”i,他们就越有可能成为准确的估计者。这是因为更大t通常与大量的随机状态转换和随机决策相关联,因此通常表现出更高的方差。

  1. 当我们更新我们的函数逼近时,我们是否应该包括这些后来出现的数据点?

从理论上讲,你绝对应该。假设你有一个环境,几乎所有的奖励都等于0,并且只有在 1000 步之后,您才能真正观察到非零奖励。如果你不包括这个,你什么都学不到!在实践中,虽然不那么重要,但通常是一个好主意。这已经通过选择折扣因子自动发生γ<1.

  1. 通常是否暗示轨迹中的最终数据奖励在这些情况下是自举的(即,在这种情况下,我们有一些类似 TD(0) 的行为)?

或者

  1. 由于这个问题,策略梯度算法的蒙特卡罗更新是否甚至适用于非终止 MDP?

是的,有可能在最后做某种形式的引导,切断,然后有一个训练有素的价值函数来预测剩余的奖励是什么。时差(λ) 和λ相近1在行为上比 TD 更接近真正的 MC 更新(0) 尽管。无论哪种方式,仍然将其称为蒙特卡洛在技术上是不正确的,它将不再是纯粹的蒙特卡洛。所以,是的,严格意义上的蒙特卡罗更新并不真正适用于无限集。