为什么我们不在表格 Q-Learning 中使用重要性抽样?

人工智能 强化学习 q学习 重要性抽样 贝尔曼方程
2021-10-24 17:45:23

为什么我们不在 Q-Learning 中使用重要性采样率,即使 Q-Learning 是一种 off-policy 方法?

重要性抽样用于通过使用未从分布中提取的数据来计算随机变量的期望。考虑采用蒙特卡洛平均值来计算E[X].

在数学上,期望定义为

Exp(x)[X]=x=xp(x);
在哪里p(x)表示我们的概率质量函数,我们可以通过
Exp(x)[X]1ni=1nxi;
在哪里xi模拟自p(x).

现在,我们可以将之前的期望重写为

Exp(x)[X]=x=xp(x)=x=xp(x)q(x)q(x)=Exq(x)[Xp(X)q(X)];
所以我们可以使用蒙特卡洛平均来计算期望值
Exp(x)[X]1ni=1nxip(x)q(x);
数据在哪里xi现在从模拟q(x).

当我们使用非策略方法时,通常在 RL 中使用重要性采样,即我们用来计算我们的行为的策略与我们想要评估的策略不同。因此,我想知道为什么我们不在 Q-learning 中使用重要性采样率,即使它被认为是一种离策略的方法?

1个回答

在表格 Q 学习中,更新如下

Q(s,a)=Q(s,a)+α[Rt+1+γmaxaQ(s,a)Q(s,a)].

现在,由于我们有兴趣了解最优策略,这将对应于maxaQ(s,a)TD 目标中的术语,因为这是最优策略选择其动作的方式 - 即π(a|s)=argmaxaQ(s,a),因此由于 Q 学习的保证收敛,最终贪婪的 TD 更新对于最优状态动作值函数将是贪婪的。

那个行动a在更新规则中,即我们在状态中选择的动作s获得奖励Rt+1, 是根据一些非最优策略选择的,例如ϵ-贪婪的。然而,作为Q函数被定义为假设我们处于状态的预期回报s采取了行动a-- 因此我们不需要重要性采样率Rt+1术语,即使它是由最优策略可能没有采取的行动产生的,因为我们只是更新Q状态函数s和行动a,并且根据 a 的定义Q函数假设我们已经采取了行动a我们以此为条件。