[RL Notes] 同轨预测的目标
Contents [show]
1. 均方价值误差
在使用监督学习的方法学习价值函数时,也可以使用误差平方的方式衡量学习的价值函数与真实价值函数在某个状态上的差异。通常情况下,一个状态的更新会影响许多其他状态,在一个状态上的估计价值较准确就意味着别的状态的估计价值变得不那么准确,此时就需要进行取舍:指定那些状态是我们最关心的,着重优化这些状态。由此得到均方价值误差
¯VE(w)≐∑s∈Sμ(s)[vπ(s)–ˆv(s,w)]2
其中 μ(s)≥0 是状态的分布,满足 ∑sμ(s)=1,表示对每个状态 s 的误差的重视程度。经常被访问到的状态具有较大 μ(s),从而具有较大的权重,而不经常被访问的状态权重较小。
2. 梯度下降
在梯度下降法中,权重向量
w≐(w1,w2,⋯,wd)T
是一个由实数组成的列向量。近似价值函数 ˆv(s,w) 满足对所有 s∈S,函数对 w 都是可微的。
随机梯度下降(stochastic gradient-descent, SGD)方法对于每一个样本,将权重向量朝着能减小这个样本的误差的方向移动一小步
wt+1≐wt–12α∇[vπ(St)–ˆv(St,wt)]2=wt+α[vπ(St)–ˆv(St,wt)]∇ˆv(St,wt)
其中 α 是一个正的步长参数。对于任意关于向量 w 的标量函数 f(w),∇f(w) 为该函数的梯度
∇f(w)≐(∂f(w)∂w1,∂f(w)∂w2,⋯,∂f(w)∂wd)T
在实际问题中,往往无法直接获得真实价值 vπ(s),此时第 t 个训练样本 St↦Ut 的目标输出 Ut∈R 就不是真实的价值 vπ(St),而是它的一个随机近似。由于 vπ(St) 未知,就无法直接使用式 (2) 进行更新,但是可以用 Ut 近似取代 vπ(St),得到用于进行状态价值函数预测的通用 SGD 方法
wt+1≐wt+α[Ut–ˆv(St,wt)]∇ˆv(St,wt)
3. 梯度蒙特卡洛算法
假设样本中的状态是通过策略 π 与环境进行交互得到的,由于状态的价值定义为该状态之后所有回报的期望,蒙特卡洛目标 Ut≐Gt 就是 vπ(St) 的无偏估计,此时通用 SGD 方法会收敛到 vπ(St) 的一个局部最优近似,即蒙特卡洛状态价值函数的梯度下降版本可以保证找到一个局部最优解。完整算法如下所示。
梯度蒙特卡洛算法,用于估计 ˆv≈vπ
输入:待评估的策略 π
输入:一个可微的函数 ˆv:S×Rd→R
算法参数:步长 α>0
对价值函数的权值 w∈Rd 进行任意的初始化(例如 w=0)
无限循环(对每一幕):
根据 π 生成一幕交互数据 S0,A0,R1,S1,A1,⋯,RT,ST
对该幕的每一步 t=0,1,⋯,T−1
w←w+α[Gt–ˆv(St,w)]∇ˆv(St,w)