Answers:
TD学习和DP的主要问题在于,它们的步长更新在学习参数的初始条件上存在偏差。自举过程通常使用后继值Q(s',a')中的当前估计值更新后继值Q(s',a')的函数或查找Q(s,a)。显然,在学习之初,这些估计就不包含来自任何实际奖励或状态转换的信息。
如果学习按预期进行,那么偏差将在多次迭代中渐近减小。但是,偏差可能会导致严重的问题,尤其是对于非策略方法(例如Q学习)以及使用函数逼近器时。这种组合很可能无法融合,因此在萨顿与巴特(Sutton&Bart)中被称为致命三合会。
蒙特卡洛控制方法不会受到这种偏差的影响,因为每次更新都是使用真实的Q(s,a)样本进行的。但是,蒙特卡洛方法可能会出现高方差,这意味着与TD相比,需要更多样本才能实现相同程度的学习。
在实践中,如果可以克服致命三合会的问题,TD学习似乎可以更有效地学习。使用经验重播和分阶段的“冻结”估算器的最新结果提供了解决问题的变通方法,例如,这就是Atari游戏DQN学习器的构建方式。
如果您使用的是基于价值的方法(而不是基于策略的方法),那么在实践中通常会更多地使用TD学习,或者使用TD(λ)之类的TD / MC组合方法会更好。
在MC的“实践优势”方面?蒙特卡洛学习在概念上简单,健壮且易于实施,尽管通常比TD慢。我通常不会将其用于学习控制器引擎(除非急着为简单的环境实现某些东西),但是我会认真考虑将其用于策略评估,以便比较多个代理,例如,这是因为无偏测量,这对于测试很重要。
本质上,它取决于您的环境。
TD利用Markov属性,即流程的未来状态仅依赖于当前状态,因此在Markov环境中使用TD通常更为有效。
MC不会利用马尔可夫属性,因为它会在整个学习过程中建立奖励,这很适合非马尔可夫环境。