我们可以使用监督学习用以前的轨迹更新策略网络吗?

人工智能 强化学习 政策梯度 经验回放 策略外方法 策略方法
2021-11-11 07:05:00

我相信可以理解on-policy 方法不能重用从早期策略中收集的轨迹的原因:轨迹分布随策略而变化,并且策略梯度被推导出为对这些轨迹的期望。

来自OpenAI Vanilla Policy Gradient 描述的以下直觉是否确实表明从先前的经验中学习仍然是可能的

策略梯度的关键思想是提高导致更高回报的行动的概率,并降低导致更低回报的行动的概率。

目标是改变动作的概率。在当前政策下,从以前的政策中抽取的行动仍然是可能的。

我看到我们不能重用之前的动作来估计策略梯度。但是我们不能使用监督学习用以前的轨迹更新策略网络吗?根据动作的好坏程度,动作的标签将介于 0 和 1 之间。在最简单的情况下,只有 1 表示好行为,0 表示坏行为。损失可以是带有正则化项的平方差的简单总和。

为什么不使用/可能?我错过了什么?

1个回答

你不能真正做到这一点,因为你无法知道为监督学习制作合理标签的行为到底有多好(这就是我们需要强化学习的全部意义所在)。可能知道这一点的唯一方法是根据您从该操作中获得的回报制作标签,但回报是基于旧政策的旧轨迹。该特定动作的回报取决于轨迹中该动作之后发生的动作,并且这些动作的回报随时间而变化。

为了让事情更清楚,考虑一个简单的案例。假设你采取行动a1你最终进入状态s1有奖赏0. 那么你有两种可能,你采取行动a2并最终处于终端状态s2有奖赏10或者你采取行动a2并最终处于终端状态s2有奖赏10. 假设您使用轨迹a1s1a2s2有回报10学习行动a1. 那么你对那个动作的标签可能是那个动作是坏的,但实际上不是,如果你采取了行动a2a1你的行动回报a1将是10. 所以你知道你的行为是坏的,即使它可能不是。现在,如果以后你知道采取行动a2很好吃a1那么你也会了解到a1可能很好,但如果您继续使用旧数据并返回10你会继续学习a1不好。

您只能使用从当前策略收集的数据来了解它,因为旧数据可能已过时。