何时使用蒙特卡洛方法优于时差方法?


12

最近,我一直在进行大量有关强化学习的研究。我遵循了Sutton&Barto的《强化学习:简介》。

我知道什么是马尔可夫决策过程,以及如何使用动态规划(DP),蒙特卡洛和时间差(DP)学习来解决它们。我遇到的问题是,我不知道蒙特卡洛何时会比TD学习更好的选择。

它们之间的主要区别是TD学习使用自举法来近似动作值函数,而Monte Carlo使用平均值来实现这一点。当这是更好的方法时,我只是真的无法想到一个方案。

我的猜测是,它可能与性能有关,但我找不到任何可以证明这一点的资料。

我是否缺少某些东西?或者一般来说,TD学习是更好的选择吗?

Answers:


8

TD学习和DP的主要问题在于,它们的步长更新在学习参数的初始条件上存在偏差。自举过程通常使用后继值Q(s',a')中的当前估计值更新后继值Q(s',a')的函数或查找Q(s,a)。显然,在学习之初,这些估计就不包含来自任何实际奖励或状态转换的信息。

如果学习按预期进行,那么偏差将在多次迭代中渐近减小。但是,偏差可能会导致严重的问题,尤其是对于非策略方法(例如Q学习)以及使用函数逼近器时。这种组合很可能无法融合,因此在萨顿与巴特(Sutton&Bart)中被称为致命三合会

蒙特卡洛控制方法不会受到这种偏差的影响,因为每次更新都是使用真实的Q(s,a)样本进行的。但是,蒙特卡洛方法可能会出现高方差,这意味着与TD相比,需要更多样本才能实现相同程度的学习。

在实践中,如果可以克服致命三合会的问题,TD学习似乎可以更有效地学习。使用经验重播和分阶段的“冻结”估算器的最新结果提供了解决问题的变通方法,例如,这就是Atari游戏DQN学习器的构建方式。

λλ0101

如果您使用的是基于价值的方法(而不是基于策略的方法),那么在实践中通常会更多地使用TD学习,或者使用TD(λ)之类的TD / MC组合方法会更好。

在MC的“实践优势”方面?蒙特卡洛学习在概念上简单,健壮且易于实施,尽管通常比TD慢。我通常不会将其用于学习控制器引擎(除非急着为简单的环境实现某些东西),但是我会认真考虑将其用于策略评估,以便比较多个代理,例如,这是因为无偏测量,这对于测试很重要。


首先,感谢您的回答。我看到在理论上,无偏算法比有偏算法更可取。但是考虑到蒙特卡洛在训练开始时所能提供的高度差异,我不认为这到底有多重要。蒙特卡洛(Monte Carlo)和TD都将以不准确的近似值开始,并且据我所读,TD将收敛得更快。我只是无法真正提出使用蒙特卡洛的实际优势。(可以避免消灭致命的三合会
Anne-dirk

1
@安-德克如果使用基于值的方法(而不是基于策略的一个),则TD学习通常使用更在实践中,或TD / MC组合方法,例如,TD(λ)可连更好。我不确定“实际优势”是什么意思?蒙特卡洛学习在概念上简单,强大且易于实施。我通常不会将其用于学习控制器引擎(除非急着为简单的环境实现某些东西),但是我会认真考虑将其用于策略评估,以便比较多个代理。
尼尔·斯莱特

@Neul Slater Aaaah我明白了……这就是我一直在寻找的答案:)谢谢您的帮助!
安妮迪尔克

-1

本质上,它取决于您的环境。

TD利用Markov属性,即流程的未来状态仅依赖于当前状态,因此在Markov环境中使用TD通常更为有效。

MC不会利用马尔可夫属性,因为它会在整个学习过程中建立奖励,这很适合非马尔可夫环境。


我认为这是不正确的,或者至少是显而易见的。在RL的上下文中,Markov属性与状态相关联。您能否阐明当不满足Markov属性时,为什么MC算法会更好地工作?
nbro

需要明确的是,我指的是效率。如果可以利用Markov属性,则TD很有用,因为您可以在任何给定的状态,采取和采取行动,并且结果始终是相同的,因此可以高确定性地计算TD错误。对于非MDP,如果您得到部分观察到的状态,则TD可能不是很有效。这并不是说您不能在非MDP中使用TD,但是这样做可能会效率低下,并且使用TD Lambda而非TD(1)可能会获得更好的成功。
BigBadMe '19

“如果您可以利用Markov属性,那么TD很有优势,因为您可以在任何给定的状态下开始,采取行动,结果始终是相同的”,如果环境是确定性的,它将是相同的。这与马尔可夫财产有什么关系?我没有你的要求。您从哪里读到,在POMDP中,TD比MC效率低?
nbro

从字面上看,它与马尔可夫息息相关。如果您处于马尔可夫环境中,那么一旦您建立了处于状态a的动作,它将导致状态为a'的奖励x- 在马尔可夫环境中总是如此,因此您无需对其进行评估一遍又一遍-您可以采取更大的步骤,而TD使您可以利用它。但是在POMDP中情况并非如此,因为您可以具有完全相同的状态,采取相同的操作,但最终会获得完全不同的状态和奖励。
BigBadMe,

“如果您处于马尔可夫环境中,那么一旦您确定采取行动a处于状态a,它将导致将陈述a'奖励x”。没有。仅当环境是确定性的时才如此。环境也可以是随机的。“在马尔可夫环境中将始终如此”,,这是马尔可夫性质的一个正交问题。
nbro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.