首先回顾价值函数定义与 Bellman 方程Vπθ(s)Qπθ(s,a)=a∈A∑πθ(a∣s)Qπθ(s,a)=s′∈S∑P(s′∣s,a)(r(s,a,s′)+γVπθ(s′)).
下面开始详细推导:对 J(θ) 求梯度得到∇θJ(θ)=Es0∼ρ0[∇θVπθ(s0)].
展开状态价值函数的梯度,建立关于 V 的递推式∇θVπθ(s)=∇θ(a∈A∑πθ(a∣s)Qπθ(s,a))=a∈A∑(∇θπθ(a∣s)Qπθ(s,a)+πθ(a∣s)∇θQπθ(s,a))=a∈A∑⎝⎛∇θπθ(a∣s)Qπθ(s,a)+πθ(a∣s)∇θs′,r∑p(s′,r∣s,a)(r+γVπθ(s′))⎠⎞=a∈A∑⎝⎛∇θπθ(a∣s)Qπθ(s,a)+γπθ(a∣s)s′,r∑p(s′,r∣s,a)∇θVπθ(s′)⎠⎞=a∈A∑(∇θπθ(a∣s)Qπθ(s,a)+γπθ(a∣s)s′∑p(s′∣s,a)∇θVπθ(s′))=简化表示为 ϕ(s)a∈A∑∇θπθ(a∣s)Qπθ(s,a)+a∈A∑γπθ(a∣s)s′∑p(s′∣s,a)∇θVπθ(s′)=ϕ(s)+γa∑πθ(a∣s)s′∑P(s′∣s,a)∇θVπθ(s′)(4)
πθ从 MDP 中诱导出马尔科夫链,定义从状态 s 出发经过 k 步到达状态 x 的概率(k 步转移概率)特别地dπθ(s→x;k):=πθPr(sk=x∣s0=s),k=0,1,2,… dπθ(s→x;1)=Pπθ(x∣s)=a∑πθ(a∣s)P(x∣s,a)
对递推式(4)反复代入展开∇θVπθ(s)=ϕ(s)+γa∑πθ(a∣s)s′∑P(s′∣s,a)∇θVπθ(s′)=ϕ(s)+γs′∑(a∑πθ(a∣s)P(s′∣s,a))∇θVπθ(s′)=ϕ(s)+γs′∑dπθ(s→s′,1)∇θVπθ(s′)=ϕ(s)+γs′∑dπθ(s→s′,1)[ϕ(s′)+γs′′∑dπθ(s′→s′′,1)∇θVπθ(s′′)]=ϕ(s)+γs′∑dπθ(s→s′,1)ϕ(s′)+γ2s′′∑dπθ(s→s′′,2)∇θVπθ(s′′)=ϕ(s)+γs′∑dπθ(s→s′,1)ϕ(s′)+γ2s′′∑dπθ(s→s′′,2)ϕ(s′′)+γ3s′′′∑dπθ(s→s′′′,3)∇θVπθ(s′′′)=⋯=k=0∑∞γkx∈S∑dπθ(s→x,k)ϕ(x)
定义 “策略 πθ 诱导的一条无限长轨迹中状态 s 出现的次数的期望” 为 η(s)=Es0∼ρ0[∑k=0∞γkdπθ(s0→s,k)]∇θJ(θ)=Es0∼ρ0[∇θVπθ(s0)]=Es0∼ρ0[k=0∑∞γks∑dπθ(s0→s;k)ϕ(s)]=s∑(Es0∼ρ0[k=0∑∞γkdπθ(s0→s;k)])ϕ(s)=s∑η(s)ϕ(s)(5)
这里 η(s) 是折扣访问计数,但我们想要的结果应当是关于某个分布的期望,这样我们才能用 MC 方法进行近似。注意到s∑η(s)=Es0[k=0∑∞γks∑Pr(sk=s∣s0)]=k=0∑∞γk=1−γ1
因此只要将其乘以系数 1−γ 即可归一化为合法概率形式,由此定义出 “折扣占用度量”dπθγ(s):=(1−γ)η(s)=(1−γ)Es0∼ρ0[k=0∑∞γkdπθ(s0→s;k)]
带入式(5)得到∇θJ(θ)=s∑η(s)ϕ(s)=1−γ1s∑dπθγ(s)ϕ(s)∝s∑dπθγ(s)ϕ(s)=Es∼dπθγϕ(s)=Es∼dπθγa∈A∑∇θπθ(a∣s)Qπθ(s,a)=Es∼dπθγa∈A∑πθ(a∣s)πθ(a∣s)∇θπθ(a∣s)Qπθ(s,a)=Es∼dπθγ,a∼πθ(⋅∣s)[Qπθ(s,a)∇θlogπθ(a∣s)](6)
至此,得到策略梯度定理的标准形式。Actor-Crtic 算法直接使用该策略梯度进行优化∇θJ(θ)∝Es∼dπθγ, a∼πθ(⋅∣s)[Qπθ(s,a)∇θlogπθ(a∣s)].