[RL Notes] 时序差分的目标

1. 半梯度下降

  对于通用 SGD 方法

wt+1wt+α[Utˆv(s,wt)2]ˆv(s,wt)

如果 Ut 是一个无偏估计,即满足对于任意的 t,有 E[Ut|St=s]=vπ(St),那么 w 会收敛到局部最优。

  如果使用将式 (1) 中的 Ut 替换为自举的目标,例如单步时序差分的目标,即

UtRt+1+γˆv(St+1,w)

此时的目标会依赖于当前的价值估计 ˆv(St+1,w),当前的价值估计很可能不等于真实的价值,这就导致 Ut 是有偏的,不能保证 w 收敛到价值误差的局部最优。计算式 (2)w 的梯度,可得

12[Utˆv(St,w)]2=(Utˆv(St,w))(Utˆv(St,w))

注意由式 (2) 可知 Ut 依赖于 w,有

Ut=(Rt+1+γˆv(St+1,w))=γˆv(St+1,w)

如果使用式 (3) 进行“梯度下降”,则在对权重的优化过程中,只考虑了改变权重对估计的影响,而忽略了对目标的影响。由于只包含一部分梯度,这种方法称为半梯度(semi-gradient)方法。

  虽然半梯度方法不能像梯度方法那样稳健地收敛,但它在多数情况下仍能可靠地收敛,而且由于时序差分目标相比收益的采样通常具有较小的方差,这使得它能更快收敛。

2. 半梯度 TD 算法

  使用半梯度的 TD(0) 算法如下所示。


半梯度 TD(0),用于估计 ˆvvπ
输入:待评估的策略 π
输入:一个可微的函数 ˆv:S+×RdR,满足 ˆv(,)=0
算法参数:步长 α>0
对价值函数的权值 wRd 进行任意的初始化(例如 w=0
对每一幕循环:
  初始化 S
  对该幕的每一步循环:
    选取 Aπ(|S)
    采取动作 A,观察 R,S
    ww+α[R+γˆv(S,w)ˆv(S,w)]ˆv(S,w)
    SS
  直到 S 为终止状态