连续环境的 on-policy 和 off-policy 有什么区别?

人工智能 强化学习 比较 q学习 策略外方法 策略方法
2021-10-30 19:26:27

我试图理解 RL 应用于具有连续状态空间和离散动作空间的时间序列(因此具有无限的地平线)。

首先,一些初步问题:在这种情况下,最优策略是什么?给定无限的视野,没有最终状态,只有最大化奖励的目标,所以我不能运行超过一集,对吗?

因此,在这个框架下,on-policy 和 off-policy 学习有什么区别?

1个回答

首先,一些初步问题:在这种情况下,最优策略是什么?

它是最大化任何给定时间步的回报的策略Gt. 您需要谨慎对待持续环境中的回报的定义。未来奖励的简单预期总和可能是正无穷大或负无穷大。

有以下三种基本方法:

  • 设置任意有限范围h, 所以Gt=k=1hRt+k

  • 使用折扣,带有折扣因子γ<1, 所以Gt=k=0γkRt+k+1

  • 使用每个时间步的平均奖励, R¯=limh1hk=1hRt+k,这导致了关于不同回报的思考 Gt=k=1(Rt+kR¯)

具有足够大的视野(因此该状态是遍历的)或足够大γ(相近1),这些方法是相似的,应该产生大致相同的策略。不同之处在于您如何详细构建代理以解决最大化价值的问题。

给定无限的视野,没有最终状态,只有最大化奖励的目标,所以我不能运行超过一集,对吗?

术语情节变得毫无意义。不过,以不同的方式考虑这一点可能更简单——您在这里试图解决一个非情节问题,因为该过程没有自然地分离成单独的有意义的情节。没有物理过程实际上是无限的,这只是理论上的精确度。

在实践中,如果您可以在模拟中运行您的环境,或者出于培训目的运行多个版本的环境,那么您确实可以开始和停止伪剧集。您不会在数学上将它们视为情节 - 即没有最终状态,并且您永远无法获得简单的情节返回值。但是,您可以决定停止环境并从不同的状态开始新的环境。

即使只有一个真实环境,您也可以对其中的部分进行采样以进行训练,或者随着时间的推移尝试使用不同的代理,每个代理在本质上都是有限的。

因此,在这个框架下,on-policy 和 off-policy 学习有什么区别?

on-policy 和 off-policy 的概念与偶发环境和持续环境完全分开。

  • On-policy 代理使用单个策略来选择动作(行为策略)和作为学习目标。当学习到的策略更新为立即影响代理行为的新信息时。

  • 离策略代理使用两个或更多策略。那是一个或多个选择动作的行为策略(行为策略),以及学习的目标策略,通常是迄今为止给定数据对最优策略的最佳猜测。

这些事情在间歇性任务和连续性任务之间不会改变,并且在解决间歇性和连续性问题时,许多算法保持不变。例如,DQN 不需要特殊更改来支持持续任务,您只需设置足够高的折扣因子并按原样使用它。

您不能等到一集结束,因此某些更新方法将不起作用。然而,时间差异 (TD) 学习中使用的值引导仍然有效。

在某些情况下,您需要解决退货定义中的差异。例如,使用平均奖励设置通常意味着查看差异回报以计算 TD 目标。