如何实施在有限范围内学习的 RL 策略?

人工智能 机器学习 强化学习
2021-11-12 19:16:20

我正在为一个叫车系统建模,其中乘客请求不断地进入系统。开发了一个 RL 模型来学习如何有效地将这些请求与驱动程序匹配。

基本上,只要有请求到达,系统就可以无限运行(无限地平线现实)。然而,为了进行 RL 训练,情节长度应限制在某个有限的持续时间,例如[0,T](有限视野训练)。

我的问题是如何实施基于有限视野的学习策略[0,T]到具有无限视界的真实系统[0,]?

我预计会有目标冲突。价值函数接近T在有限范围内被部分切断,在无限范围实施中会被低估并影响政策绩效。为此,我怀疑所学政策的适用性。

1个回答

处理无限范围训练(又称“持续”或“非偶发”)问题的一种正常方法是使用 TD 学习或其他引导方法(其中 DQN 中的 Q-learning 就是一个例子),并处理截止在T将伪剧集作为训练人工制品。

如果当时的状态T真的是一个终端状态,TD目标只是r因为q(sT,)=0根据定义,但这不适用于您的情况。

所以总是使用引导的 TD 目标 - 例如r+γmaxaq^(s,a,θ)对于具有 Q 估计的单步 TD 目标θ作为学习的参数 - 并且不要以任何不同的方式对待地平线数据。

如果您这样做,那么您对低估的担忧应该不是问题。您的伪剧集确实需要足够长以长期观察多个请求的影响是主要问题(设置T太低以至于系统无法达到任何平衡将是一个问题)。

您还可以使用平均奖励设置和微分值函数。从理论的角度来看它稍微好一些,但是如果你不想被它打扰的话,Q-learning 和 DQN 是可以的。相同的基本规则适用 - 忽略构建 TD 目标的“剧集结束”,因为它只是一个训练人工制品。还要确保你设置T足够高,以至于可以观察到政策的长期影响。

如果您的起始状态很特殊(例如,汽车都在固定的地方,并且没有正在进行的请求),这也可能是一个问题,因为现实世界的系统很少会处于该状态,但您会有很多情节开始于它。如果您无法在问题的合理随机初始状态下启动系统,您可能还希望丢弃剧集开始时的数据,并在使用伪剧集的数据进行训练之前留出一段磨合时间。