这篇文章包含许多描述 on-policy 与 off-policy 之间区别的答案。
您的书可能指的是当前(基于 DQN)的最先进 (SOTA) 算法,例如Ape-X、R2D2、Agent57在技术上是如何“脱离策略”的,因为它们使用(非常大!) 重播缓冲区,通常以分布式方式填充。这有很多好处,例如重用经验和不忘记重要的经验。
另一个好处是你可以分布式地收集大量经验。由于 RL 通常不受训练计算的瓶颈,而是收集经验的瓶颈,Ape-X 中的分布式重放缓冲区可以实现更快的训练,以秒为单位而非样本复杂度。
但是,重要的是要强调这些重播缓冲区方法几乎是 on-policy,因为重播缓冲区会不断更新新体验。因此,回放缓冲区中的策略与您当前的策略“没有太大不同”(仅几步之遥)。最重要的是,这允许政策从自己的错误中吸取教训,如果它犯了任何...
通常,离策略学习也可以指批处理 RL(又名离线 RL),在其中为您提供来自另一个行为策略的经验数据集,您的目标是对其进行改进。值得注意的是,您无法以任何方式推出您当前的政策!在这种情况下,与重放缓冲区(如 DQN、SAC)配合良好的算法会惨遭失败,因为当它们在数据集的“支持”之外推断时高估了动作的价值。请参阅BCQ 论文,该论文说明了当“两个策略之间的距离很大”时,许多“离策略”算法(如 DQN)如何失败。对于这个任务,
还值得注意的是,重要性采样可以将 off-policy 梯度纠正为 on-policy;但是您的目标策略越远,方差越大。这对于长视界任务(通常称为视界诅咒)尤其致命。
总而言之,使用 replay-buffer(这使得算法脱离策略),尤其是分布式的,可以提供比纯粹的策略上算法更多的好处。但是,这是一类非常特殊的离策略算法,其中行为策略与您的策略接近。
但总的来说,off-policy 比 on-policy 困难得多;如果您使用基于 DQN 的方法,您将遭受外推偏差,如果您使用重要性采样来纠正它,您将遭受指数方差放大。