使用 Monte Carlo off-policy 学习我们通过使用重要性采样来纠正什么?

人工智能 强化学习 蒙特卡罗方法 策略外方法 重要性抽样
2021-11-04 04:09:26

我不明白重要性抽样与蒙特卡洛离策略学习的联系。

我们使用对整个剧集的抽样来估计一个值,并采用这些值来构建目标策略。

因此,在目标策略中,我们可能有来自不同轨迹的状态值(或状态动作值)。

如果上述情况属实,并且值取决于后续操作(行为策略),那么那里就有问题,或者更好,我不明白。

将这个问题与重要性抽样联系起来,我们是否使用这个 ro 值来纠正这种不一致?

欢迎任何澄清。

2个回答

我们使用对整个剧集的抽样来估计一个值,然后我们用这个值来构建目标策略。

您缺少的关键部分是没有单个值V(s)(或者Q(s,a)) 的状态(或状态动作对)。这些价值函数总是针对某些策略定义的π(a|s)并给出了符号Vπ(s)(或者Qπ(s,a))。

当你有两个策略时,就会出现离策略学习问题:生成策略μ(a|s)和目标政策π(a|s). 您的 MC 采样数据来自以下代理μ, 而你想改进你的目标策略π. 从这里开始非常简单,您需要使用以下因素对计算进行加权π(ai|si)μ(ai|si)- 这就是重要性抽样。

回想一下,价值函数的定义是

vπ(s)=E[Gt|St=s].
也就是说,从状态给出的预期未来回报s有时t当我们遵守我们的政策时π-- 即我们的轨迹是根据π.

使用蒙特卡罗方法,我们通常会通过查看我们在许多训练集中看到的奖励的经验平均值来估计我们的价值函数,即我们将生成许多集,跟踪我们从状态中看到的所有奖励s从我们所有的情节开始(这可能是第一次访问方法或所有访问方法),并使用它们来近似作为我们价值函数的期望。

这里的关键是要以这种方式逼近价值函数,那么情节必须根据我们的策略生成π. 如果我们根据其他策略选择情节中的动作β那么我们就不能使用这些情节来直接逼近期望。例如,这就像尝试使用从 Normal(10, 1) 分布中提取的数据来逼近 Normal(0, 1) 分布的平均值。

为了解释动作来自不同分布的事实,我们必须根据重要性采样率重新加权回报。要了解为什么我们需要重要性抽样,请参阅此问题/答案。