如何将有关目标的某些信息提供给 RL 学习算法?

人工智能 强化学习 人工智能设计
2021-11-08 03:29:28

策略学习是指将代理状态映射到动作以最大化奖励。线性策略,例如在增强随机搜索论文中使用的策略,是指学习状态和奖励之间的线性映射。

当整个状态在每个时间步发生变化时,例如在Continuous Mountain Car OpenAI Gym中,汽车的位置和速度会在每个时间步发生变化。

但是,假设我们还想传达一个或多个目标的恒定位置。所谓“恒定”,我的意思是在训练集中不会改变,但可能会在不同集之间改变。例如,如果Mountain Car的左右两侧各有一个目标。

除了将两个目标的位置附加到状态向量之外,是否有示例说明如何从环境中传达此常量/静态信息?静态/恒定状态可以与随每个动作变化的状态区分开来吗?

1个回答

我看到了三种主要方法来做到这一点,哪一种更有意义将取决于您的应用程序。

一种是将该信息附加到您提到的状态/观察中。虽然此信息对于特定情节是静态的,但在各个情节之间会有所不同,并且策略应学习根据此信息来调整其选择的操作。

另一种方法是完全忽略目标信息,并强制代理学习在目标未知时有效的策略。这可能会更难学习,您最终可能会得到一个策略,该策略会移动到所有目标的平均值或探索并尝试所有目标。

第三种选择,可能是最自然的选择,是有一些智能体可以观察到的上下文提示(例如,通常在对老鼠的实验室实验中,将提示放置在墙上,让老鼠知道该走哪条路来获得奖励)。这类似于第一种方法,除了必须观察提示而不是直接给出提示。对于 Mountain Car 示例,这可能是代理仅在特定位置看到的额外信号,例如山谷底部或靠近特定一侧时。