如何基于数据估计一个off-policy学习的行为策略?

人工智能 强化学习 政策 策略外方法
2021-10-21 10:56:28

我有一个包含状态、动作和奖励的数据集。数据集包括有关转换的信息,即p(r,ss,a).

有没有办法从这个数据集中估计一个行为策略,以便它可以用于离策略学习算法?

3个回答

您可以简单地从输入中训练策略来预测数据集中的操作。您可以为此使用交叉熵损失,即在给定相应输入时最大化策略分配给数据集中操作的对数概率。这称为行为克隆。

结果是行为策略的近似值,可让您计算动作的概率密度。这是一个近似值,因为数据集是有限的,当您将学习策略限制为一类分布时更是如此,例如高斯分布。

有没有办法从这个数据集中估计一个行为策略,以便它可以用于离策略学习算法?

如果你有足够的例子(s,a)每个实例的对s那么你可以简单地估计

b(a|s)=N(a,s)N(s)

在哪里N计算数据集中的实例数。这可能足以使用带有重要性采样的离策略。

或者,您可以使用不需要重要性抽样的离策略方法。这里最直接的一个是单步 Q 学习。1-step Q-learning 的更新步骤不依赖于行为策略,因为:

  • 正在更新的操作值Q(s,a)已经假设a正在被采取,所以你不需要任何条件概率。

  • TD目标r+γmaxa[Q(s,a)]不需要针对行为策略进行调整,它直接与目标策略一起工作(隐含为π(s)=argmaxa[Q(s,a)])

两步 Q 学习算法需要根据可能性进行调整b(a|s)在 TD 目标中π(a|s)b(a|s)(r+γr+γ2maxa[Q(s,a)])- 通常π(a|s)是 0 或 1,因此使b(a|s)有时无关紧要。但是您仍然希望知道它以尽可能地执行更新。

如果您在离线和离线进行更新,那么单步 Q 学习可能是最简单的方法。总体上需要更多的更新步骤才能达到收敛,但每一步都会更简单。

如果您的数据看起来像这样(s1,a1,r1,s2),(s2,a2,r2,s3),....,然后这个样本取自特定的行为策略。因此,您不需要找到行为策略,只需 Q-Learning 即可在遵循行为策略的同时找到最优策略。

如果 MDP 太大,则考虑应用 Deep Q Learning。在这两种情况下,他们给出的转移概率都没有用。但是如果你使用on-policy learning并且你知道系统的动态(意味着转移概率),我会推荐你​​使用动态规划(如果状态空间不是很大)。但是对于你上面的问题设置,你不能使用动态规划,你只能选择使用off-policy learning。