【RL强化学习】求解状态价值函数对策略参数的梯度

概述

基于策略网络的状态价值函数定义:

Vπθ(s)  =  Eπθ ⁣[Rt ∣ st=s] V^{\pi_\theta}(s)\;=\;\mathbb{E}_{\pi_\theta}\!\bigl[R_t \,\big|\,s_t=s\bigr] Vπθ(s)=Eπθ[Rtst=s]

对策略参数 θ\thetaθ 的梯度 ∇θVπθ(s)\nabla_\theta V^{\pi_\theta}(s)θVπθ(s) 的常见两种推导路线:
第一条从 Bellman 方程 出发;
第二条直接把“轨迹-采样”拆开,两种方法最后得到的可采样估计式是相同的

具体求解

在这里插入图片描述
如果上图能看明白,那就不用看下去了,
只需要知道状态价值函数对策略参数的梯度是递归的,可以由前一个状态推出后一个状态,这一点对于循环执行的程序来说是极大的利好

下面是更加严谨的推导

从 Bellman 方程求梯度

Bellman 方程

Vπθ(s)=∑aπθ(a∣s) Qπθ(s,a),Qπθ(s,a)=r(s,a)+γ∑s′P(s′∣s,a) Vπθ(s′). V^{\pi_\theta}(s)=\sum_{a}\pi_\theta(a\mid s)\,Q^{\pi_\theta}(s,a), \quad Q^{\pi_\theta}(s,a)=r(s,a)+\gamma\sum_{s'}P(s'\mid s,a)\,V^{\pi_\theta}(s'). Vπθ(s)=aπθ(as)Qπθ(s,a),Qπθ(s,a)=r(s,a)+γsP(ss,a)Vπθ(s).

对第一式求梯度(注意 PPPθ\thetaθ 无关):

  ∇θVπθ(s)=∑a∇θπθ(a∣s)⏟πθ(a∣s) ∇θlog⁡πθ(a∣s) Qπθ(s,a)+γ∑aπθ(a∣s)∑s′P(s′∣s,a) ∇θVπθ(s′)  (1) \boxed{ \;\nabla_\theta V^{\pi_\theta}(s) =\sum_{a}\underbrace{\nabla_\theta\pi_\theta(a\mid s)}_{\pi_\theta(a\mid s)\,\nabla_\theta\log\pi_\theta(a\mid s)}\,Q^{\pi_\theta}(s,a) +\gamma\sum_{a}\pi_\theta(a\mid s)\sum_{s'}P(s'\mid s,a)\,\nabla_\theta V^{\pi_\theta}(s')\; } \tag{1} θVπθ(s)=aπθ(as)θlogπθ(as)θπθ(as)Qπθ(s,a)+γaπθ(as)sP(ss,a)θVπθ(s)(1)

把它写得更紧凑些:

∇θVπθ(s)=Gθ(s)+γ Ea∼πθ,s′∼P[∇θVπθ(s′)], \nabla_\theta V^{\pi_\theta}(s) =G_\theta(s)+\gamma\,\mathbb{E}_{a\sim\pi_\theta,s'\sim P}\bigl[\nabla_\theta V^{\pi_\theta}(s')\bigr], θVπθ(s)=Gθ(s)+γEaπθ,sP[θVπθ(s)],

其中
Gθ(s)=Ea∼πθ ⁣[∇θlog⁡πθ(a∣s) Qπθ(s,a)]G_\theta(s)=\mathbb{E}_{a\sim\pi_\theta}\!\bigl[\nabla_\theta\log\pi_\theta(a\mid s)\,Q^{\pi_\theta}(s,a)\bigr]Gθ(s)=Eaπθ[θlogπθ(as)Qπθ(s,a)].

关系 (1) 是一个 线性方程组(I−γPπθ) ∇θV=Gθ(\mathbf I-\gamma\mathbf P^{\pi_\theta})\,\nabla_\theta V = G_\theta(IγPπθ)θV=Gθ
理论上可以解出闭式,但实际采样时我们更喜欢把它递归展开

递归展开 → 轨迹形式

s0=ss_0=ss0=s,把 (1) 右侧第二项迭代代入,可得

∇θVπθ(s)=Gθ(s)+γ Es1 ⁣∼ ⁣d1 ⁣[Gθ(s1)]+γ2Es2 ⁣∼ ⁣d2 ⁣[Gθ(s2)]+…=Eπθ ⁣[∑t=0∞γt ∇θlog⁡πθ(at∣st) Qπθ(st,at) ∣ s0=s]. \begin{aligned} \nabla_\theta V^{\pi_\theta}(s) &=G_\theta(s) +\gamma\,\mathbb{E}_{s_1\!\sim\!d_1}\!\bigl[G_\theta(s_1)\bigr] +\gamma^2\mathbb{E}_{s_2\!\sim\!d_2}\!\bigl[G_\theta(s_2)\bigr]+\dots \\ &=\mathbb{E}_{\pi_\theta}\!\Bigl[\sum_{t=0}^{\infty}\gamma^{t}\, \nabla_\theta\log\pi_\theta(a_t\mid s_t)\,Q^{\pi_\theta}(s_t,a_t)\,\Big|\,s_0=s\Bigr]. \end{aligned} θVπθ(s)=Gθ(s)+γEs1d1[Gθ(s1)]+γ2Es2d2[Gθ(s2)]+=Eπθ[t=0γtθlogπθ(atst)Qπθ(st,at)s0=s].

结论 A(完全体)

  ∇θVπθ(s)=Eτ∼πθ[∑t=0∞γt ∇θlog⁡πθ(at∣st) Qπθ(st,at)  ∣  s0=s] \boxed{\; \nabla_\theta V^{\pi_\theta}(s) =\mathbb{E}_{\tau\sim\pi_\theta}\Bigl[\sum_{t=0}^{\infty}\gamma^{t}\, \nabla_\theta\log\pi_\theta(a_t\mid s_t)\,Q^{\pi_\theta}(s_t,a_t)\;\Big|\;s_0=s\Bigr]} θVπθ(s)=Eτπθ[t=0γtθlogπθ(atst)Qπθ(st,at)s0=s]

这个式子与 Policy-Gradient Theorem 完全同型,只是把起点固定在给定状态 sss


用优势函数或回报替代 QQQ

  • 优势函数 Aπ(s,a)=Qπ(s,a)−Vπ(s)A^{\pi}(s,a)=Q^{\pi}(s,a)-V^{\pi}(s)Aπ(s,a)=Qπ(s,a)Vπ(s)

    ∇θVπθ(s)=E[∑t=0∞γt ∇θlog⁡πθ(at ⁣∣ ⁣st) Aπθ(st,at)∣s0=s], \nabla_\theta V^{\pi_\theta}(s) =\mathbb{E}\Bigl[\sum_{t=0}^{\infty}\gamma^{t}\, \nabla_\theta\log\pi_\theta(a_t\!\mid\!s_t)\, A^{\pi_\theta}(s_t,a_t)\Bigm|s_0=s\Bigr], θVπθ(s)=E[t=0γtθlogπθ(atst)Aπθ(st,at)s0=s],

    方差更小,actor–critic 常用

  • 蒙特卡罗回报 Rt=∑k=t∞γk−trkR_t=\sum_{k=t}^{\infty}\gamma^{k-t}r_kRt=k=tγktrk
    若只能采样 RtR_tRt(REINFORCE 风格),可把 QQQ 换成 RtR_tRt 拿到无偏估计,但方差大


与全局目标 J(θ)J(\theta)J(θ) 的联系

若起始状态服从某分布 ρ0\rho_0ρ0,则
J(θ)=Es0∼ρ0[Vπθ(s0)]J(\theta)=\mathbb{E}_{s_0\sim\rho_0}[V^{\pi_\theta}(s_0)]J(θ)=Es0ρ0[Vπθ(s0)]

∇θJ(θ)=Es0∼ρ0[∇θVπθ(s0)], \nabla_\theta J(\theta)=\mathbb{E}_{s_0\sim\rho_0}\bigl[\nabla_\theta V^{\pi_\theta}(s_0)\bigr], θJ(θ)=Es0ρ0[θVπθ(s0)],

把刚得到的 ∇θVπθ(s0)\nabla_\theta V^{\pi_\theta}(s_0)θVπθ(s0) 再取一次期望,就回到标准的策略梯度公式


实际实现要点

  1. 估计 ∇θlog⁡πθ\nabla_\theta\log\pi_\thetaθlogπθ

    • 离散动作:softmax;连续动作:高斯策略常用封闭式梯度
  2. 估计 QQQ/AAA/VVV

    • 单纯时间差分 (TD) 估计,或 GAE-λ(优势);
    • 网络参数与 θ\thetaθ 共享或分离皆可,只要保持无偏梯度
  3. 可向量化实现
    把同一条轨迹自回溯(或 gae 递归)就能一次构造 ∑tγt\sum_t\gamma^ttγt∇θlog⁡πθ(⋅)\nabla_\theta\log\pi_\theta(\cdot)θlogπθ()*Return

  4. 收敛性
    若 critic 有偏差,把它看成控制方差-偏差权衡;在 PPO/TRPO 中通常加上信赖域或 clip,保证近似梯度仍可行


综上

在 policy gradient,得到 ∇θV(s)不难\nabla_\theta V(s)不难θV(s)不难:把基准状态固定为 s0=ss_0=ss0=s 即可

此外,附加Advantage 或 TD-style critic 能显著降低方差

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值