在强化学习值函数近似中,蒙特卡罗方法对参数的更新公式是()。A. w = w + alpha (G_t(s_t) - x(s_t)^T w) cdot x(s_t)B. w = w + alpha (G_t(s_t) + x(s_t)^T w) cdot G(s_t)C. w = w + alpha (G_t(s_t) - G(s_t)^T w) cdot x(s_t)D. w = w + alpha (G_t(s_t) - x(s_t)^T w) cdot G(s_t)
A. $w = w + \alpha (G_t(s_t) - x(s_t)^T w) \cdot x(s_t)$
B. $w = w + \alpha (G_t(s_t) + x(s_t)^T w) \cdot G(s_t)$
C. $w = w + \alpha (G_t(s_t) - G(s_t)^T w) \cdot x(s_t)$
D. $w = w + \alpha (G_t(s_t) - x(s_t)^T w) \cdot G(s_t)$
题目解答
答案
解析
本题考查强化学习值函数近似中蒙特卡罗方法对参数的更新公式这一知识点。解题思路是明确蒙特卡罗方法在值函数近似时的基本原理,即通过不断用实际的回报值来更新参数,以使得近似值函数尽可能接近真实值函数。
在值函数近似中,我们使用一个参数化的函数 $\hat{v}(s, w)$ 来近似真实的值函数 $v_{\pi}(s)$,这里的 $w$ 是参数向量,$x(s)$ 是状态 $s$ 的特征向量,通常 $\hat{v}(s, w)=x(s)^T w$。
蒙特卡罗方法是基于完整的轨迹来更新值函数的。对于 $t$ 时刻的实际回报值为 $G_t(s_t)$,它是从状态 $s_t$ 开始到该轨迹结束所获得的实际累积奖励。
我们的目标是最小化实际回报值 $G_t(s_t)$ 与近似值函数 $\hat{v}(s_t, w)=x(s_t)^T w$ 之间的误差。采用梯度下降的方法来更新参数 $w$,梯度下降的更新公式为 $w = w+\alpha\nabla_w\delta_t$,其中 $\alpha$ 是学习率,$\delta_t$ 是误差项,$\delta_t = G_t(s_t)-\hat{v}(s_t, w)=G_t(s_t)-x(s_t)^T w$。
对 $\delta_t$ 关于 $w$ 求梯度,根据求导公式 $\frac{\partial (a^T w)}{\partial w}=a$(这里 $a = x(s_t)$),可得 $\nabla_w\delta_t=\nabla_w(G_t(s_t)-x(s_t)^T w)=-x(s_t)$。
将 $\delta_t$ 和 $\nabla_w\delta_t$ 代入梯度下降更新公式,得到 $w = w+\alpha(G_t(s_t)-x(s_t)^T w)(-(-x(s_t)))=w + \alpha (G_t(s_t) - x(s_t)^T w) \cdot x(s_t)$。