[RL Notes] 估计策略的梯度
策略梯度定理给出了计算策略梯度的简单方法
∇r(π)=∑sμπ(s)∑a∇π(a|s,θ)qπ(s,a)
其中的 ∑sμπ(s) 需要对所有状态求和,在实际场景中,智能体与环境交互产生一系列轨迹
S0,A0,R1,S1,A1,⋯,St,At,Rt+1,⋯
对所有状态求和并不实际。
回顾使用随机梯度下降进行状态价值函数预测的更新公式
wt+1≐wt+α[Ut–ˆv(St,wt)]∇ˆv(St,wt)
如果 Ut 是 vπ(St) 的无偏估计,那么 wt 会收敛到一个局部最优解。
类似地,注意到式 (1) 实际上是一个期望
∇r(π)=∑sμπ(s)∑a∇π(a|s,θ)qπ(s,a)=Eμ[∑a∇π(a|s,θ)qπ(s,a)]
实际上,我们在策略 π 下观察到的状态序列服从 μ(s) 规定的分布,在状态 St 上计算得到的梯度是式 (2) 所示期望的无偏估计,因此可以去掉式 (1) 中对每个状态的求和,而使用在策略 π 下观察到的样本代替,得到策略参数的随机梯度下降更新公式
θt+1≐θt+α∑a∇π(a|St,θt)qπ(St,a)
更进一步地,考虑 ∑a∇π(a|St,θt)qπ(St,a) 这一项,它也可以写成期望的形式
∑a∇π(a|St,θt)qπ(St,a)=∑aπ(a|St,θ)1π(a|St,θ)∇π(a|St,θt)qπ(St,a)=Eπ[∇π(At|St,θt)π(At|St,θt)qπ(St,At)]用采样At∼π替换a
由此消除了式 (3) 中对动作的求和,得到新的策略参数的更新公式
θt+1≐θt+α∇π(At|St,θt)π(At|St,θt)qπ(St,At)
上式也可以写成
θt+1≐θt+α∇lnπ(At|St,θt)qπ(St,At)
由于策略及其参数化是已知的,容易计算 ∇lnπ(At|St,θt)。qπ(St,At) 一项可以使用 TD 等方法进行逼近。