3. Policy Gradient Theorem#
[!theorem] Theorem 9.1 - Policy Gradient Theorem
本章不同指标、不同折扣设定下的策略梯度都可以概括为相似形式。具体的 J ( θ ) J(\theta) J ( θ ) 、状态权重 η \eta η 以及等号是严格成立还是近似成立,要分别查看 Theorem 9.2、9.3 和 9.5。
求和形式为:
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) . (9.8) \nabla_\theta J(\theta)
=\sum_{s\in\mathcal S}\eta(s)
\sum_{a\in\mathcal A}
\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a).
\tag{9.8} ∇ θ J ( θ ) = s ∈ S ∑ η ( s ) a ∈ A ∑ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) . ( 9.8 ) 期望形式为:
∇ θ J ( θ ) = E S ∼ η , A ∼ π ( S , θ ) [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] . (9.9) \nabla_\theta J(\theta)
=\mathbb E_{S\sim\eta,\,A\sim\pi(S,\theta)}
\left[
\nabla_\theta\ln\pi(A\mid S,\theta)q_\pi(S,A)
\right].
\tag{9.9} ∇ θ J ( θ ) = E S ∼ η , A ∼ π ( S , θ ) [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] . ( 9.9 ) 其中:
η \eta η :由具体指标和折扣情形决定的状态权重;
A ∼ π ( S , θ ) A\sim\pi(S,\theta) A ∼ π ( S , θ ) :动作必须按当前策略分布抽取;
∇ θ ln π ( A ∣ S , θ ) \nabla_\theta\ln\pi(A\mid S,\theta) ∇ θ ln π ( A ∣ S , θ ) :score function,指出怎样改变参数能提高所选动作概率;
q π ( S , A ) q_\pi(S,A) q π ( S , A ) :为这个方向赋予正负和大小。
3.1 从求和式到期望式# 按期望定义,式 (9.8) 可写成:
∇ θ J ( θ ) = E S ∼ η [ ∑ a ∈ A ∇ θ π ( a ∣ S , θ ) q π ( S , a ) ] . (9.10) \nabla_\theta J(\theta)
=\mathbb E_{S\sim\eta}
\left[
\sum_{a\in\mathcal A}
\nabla_\theta\pi(a\mid S,\theta)q_\pi(S,a)
\right].
\tag{9.10} ∇ θ J ( θ ) = E S ∼ η [ a ∈ A ∑ ∇ θ π ( a ∣ S , θ ) q π ( S , a ) ] . ( 9.10 ) 对数导数恒等式为:
∇ θ ln π ( a ∣ s , θ ) = ∇ θ π ( a ∣ s , θ ) π ( a ∣ s , θ ) . \nabla_\theta\ln\pi(a\mid s,\theta)
=\frac{\nabla_\theta\pi(a\mid s,\theta)}
{\pi(a\mid s,\theta)}. ∇ θ ln π ( a ∣ s , θ ) = π ( a ∣ s , θ ) ∇ θ π ( a ∣ s , θ ) . 因而:
∇ θ π ( a ∣ s , θ ) = π ( a ∣ s , θ ) ∇ θ ln π ( a ∣ s , θ ) . (9.11) \nabla_\theta\pi(a\mid s,\theta)
=\pi(a\mid s,\theta)
\nabla_\theta\ln\pi(a\mid s,\theta).
\tag{9.11} ∇ θ π ( a ∣ s , θ ) = π ( a ∣ s , θ ) ∇ θ ln π ( a ∣ s , θ ) . ( 9.11 ) 代入式 (9.10),内层求和正好成为对 A ∼ π ( S , θ ) A\sim\pi(S,\theta) A ∼ π ( S , θ ) 的期望,从而得到式 (9.9)。这一步把无法直接枚举的真实梯度转化为可采样形式。
3.2 Softmax 策略# 为了使 ln π ( a ∣ s , θ ) \ln\pi(a\mid s,\theta) ln π ( a ∣ s , θ ) 对所有状态-动作对都有效,需要 π ( a ∣ s , θ ) > 0 \pi(a\mid s,\theta)>0 π ( a ∣ s , θ ) > 0 。教材采用 softmax:
π ( a ∣ s , θ ) = e h ( s , a , θ ) ∑ a ′ ∈ A e h ( s , a ′ , θ ) , a ∈ A . (9.12) \pi(a\mid s,\theta)
=\frac{e^{h(s,a,\theta)}}
{\sum_{a'\in\mathcal A}e^{h(s,a',\theta)}},
\qquad a\in\mathcal A.
\tag{9.12} π ( a ∣ s , θ ) = ∑ a ′ ∈ A e h ( s , a ′ , θ ) e h ( s , a , θ ) , a ∈ A . ( 9.12 ) h ( s , a , θ ) h(s,a,\theta) h ( s , a , θ ) 是在状态 s s s 选择动作 a a a 的偏好(preference)。Softmax 保证:
0 < π ( a ∣ s , θ ) < 1 , ∑ a π ( a ∣ s , θ ) = 1. 0<\pi(a\mid s,\theta)<1,
\qquad
\sum_a\pi(a\mid s,\theta)=1. 0 < π ( a ∣ s , θ ) < 1 , a ∑ π ( a ∣ s , θ ) = 1. 策略因此是随机且具有探索性的;它不直接返回唯一动作,而是返回采样动作所依据的概率分布。神经网络实现时,可输入 s s s ,用输出层 softmax 同时产生所有动作概率。
4. 折扣情形下的梯度推导# 本节设 γ ∈ ( 0 , 1 ) \gamma\in(0,1) γ ∈ ( 0 , 1 ) ,价值定义为:
v π ( s ) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s ] , v_\pi(s)
=\mathbb E[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots\mid S_t=s], v π ( s ) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s ] , q π ( s , a ) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s , A t = a ] . q_\pi(s,a)
=\mathbb E[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots
\mid S_t=s,A_t=a]. q π ( s , a ) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s , A t = a ] . 并且 v π ( s ) = ∑ a π ( a ∣ s , θ ) q π ( s , a ) v_\pi(s)=\sum_a\pi(a\mid s,\theta)q_\pi(s,a) v π ( s ) = ∑ a π ( a ∣ s , θ ) q π ( s , a ) 。
4.1 Lemma 9.1:v ˉ π \bar v_\pi v ˉ π 与 r ˉ π \bar r_\pi r ˉ π 等价#
[!theorem] Lemma 9.1 - 折扣情形下两个指标的关系
r ˉ π = ( 1 − γ ) v ˉ π . (9.13) \bar r_\pi=(1-\gamma)\bar v_\pi.
\tag{9.13} r ˉ π = ( 1 − γ ) v ˉ π . ( 9.13 ) 证明从 Bellman 方程开始:
v π = r π + γ P π v π . v_\pi=r_\pi+\gamma P_\pi v_\pi. v π = r π + γ P π v π . 左乘 d π T d_\pi^T d π T ,利用 d π T P π = d π T d_\pi^TP_\pi=d_\pi^T d π T P π = d π T :
v ˉ π = r ˉ π + γ d π T P π v π = r ˉ π + γ v ˉ π , \bar v_\pi
=\bar r_\pi+\gamma d_\pi^TP_\pi v_\pi
=\bar r_\pi+\gamma\bar v_\pi, v ˉ π = r ˉ π + γ d π T P π v π = r ˉ π + γ v ˉ π , 移项即得式 (9.13)。因此在折扣情形下,最大化其中一个也会最大化另一个。
4.2 Lemma 9.2:单个状态价值的梯度#
[!theorem] Lemma 9.2 - ∇ θ v π ( s ) \nabla_\theta v_\pi(s) ∇ θ v π ( s )
∇ θ v π ( s ) = ∑ s ′ ∈ S Pr π ( s ′ ∣ s ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . (9.14) \nabla_\theta v_\pi(s)
=\sum_{s'\in\mathcal S}\Pr_\pi(s'\mid s)
\sum_{a\in\mathcal A}
\nabla_\theta\pi(a\mid s',\theta)q_\pi(s',a).
\tag{9.14} ∇ θ v π ( s ) = s ′ ∈ S ∑ π Pr ( s ′ ∣ s ) a ∈ A ∑ ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . ( 9.14 ) 这里:
Pr π ( s ′ ∣ s ) : = ∑ k = 0 ∞ γ k [ P π k ] s s ′ = [ ( I n − γ P π ) − 1 ] s s ′ \Pr_\pi(s'\mid s)
:=\sum_{k=0}^{\infty}\gamma^k[P_\pi^k]_{ss'}
=\left[(I_n-\gamma P_\pi)^{-1}\right]_{ss'} π Pr ( s ′ ∣ s ) := k = 0 ∑ ∞ γ k [ P π k ] s s ′ = [ ( I n − γ P π ) − 1 ] s s ′ 是从 s s s 出发、经过任意步数到达 s ′ s' s ′ 的折扣总转移权重。
4.3 Box 9.2:Lemma 9.2 的证明# 对 v π ( s ) = ∑ a π ( a ∣ s , θ ) q π ( s , a ) v_\pi(s)=\sum_a\pi(a\mid s,\theta)q_\pi(s,a) v π ( s ) = ∑ a π ( a ∣ s , θ ) q π ( s , a ) 求导:
∇ θ v π ( s ) = ∇ θ [ ∑ a ∈ A π ( a ∣ s , θ ) q π ( s , a ) ] = ∑ a ∈ A [ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) + π ( a ∣ s , θ ) ∇ θ q π ( s , a ) ] . (9.15) \begin{aligned}
\nabla_\theta v_\pi(s)
&=\nabla_\theta
\left[\sum_{a\in\mathcal A}\pi(a\mid s,\theta)q_\pi(s,a)\right]\\
&=\sum_{a\in\mathcal A}
\left[
\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a)
+\pi(a\mid s,\theta)\nabla_\theta q_\pi(s,a)
\right].
\end{aligned}
\tag{9.15} ∇ θ v π ( s ) = ∇ θ [ a ∈ A ∑ π ( a ∣ s , θ ) q π ( s , a ) ] = a ∈ A ∑ [ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) + π ( a ∣ s , θ ) ∇ θ q π ( s , a ) ] . ( 9.15 ) 动作价值满足:
q π ( s , a ) = r ( s , a ) + γ ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) . q_\pi(s,a)
=r(s,a)+\gamma\sum_{s'}p(s'\mid s,a)v_\pi(s'). q π ( s , a ) = r ( s , a ) + γ s ′ ∑ p ( s ′ ∣ s , a ) v π ( s ′ ) . 环境奖励和转移模型不依赖 θ \theta θ ,所以:
∇ θ q π ( s , a ) = γ ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . \nabla_\theta q_\pi(s,a)
=\gamma\sum_{s'}p(s'\mid s,a)\nabla_\theta v_\pi(s'). ∇ θ q π ( s , a ) = γ s ′ ∑ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . 令:
u ( s ) : = ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) , u(s):=\sum_a\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a), u ( s ) := a ∑ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) , 则:
∇ θ v π ( s ) = u ( s ) + γ ∑ s ′ p ( s ′ ∣ s ) ∇ θ v π ( s ′ ) . (9.16) \nabla_\theta v_\pi(s)
=u(s)+\gamma\sum_{s'}p(s'\mid s)\nabla_\theta v_\pi(s').
\tag{9.16} ∇ θ v π ( s ) = u ( s ) + γ s ′ ∑ p ( s ′ ∣ s ) ∇ θ v π ( s ′ ) . ( 9.16 ) 因为每个 ∇ θ v π ( s ) \nabla_\theta v_\pi(s) ∇ θ v π ( s ) 是 m m m 维向量,堆叠后使用 Kronecker product:
∇ θ v π = u + γ ( P π ⊗ I m ) ∇ θ v π . \nabla_\theta v_\pi
=u+\gamma(P_\pi\otimes I_m)\nabla_\theta v_\pi. ∇ θ v π = u + γ ( P π ⊗ I m ) ∇ θ v π . 解该线性方程:
∇ θ v π = ( I n m − γ P π ⊗ I m ) − 1 u = [ ( I n − γ P π ) − 1 ⊗ I m ] u . (9.17) \begin{aligned}
\nabla_\theta v_\pi
&=(I_{nm}-\gamma P_\pi\otimes I_m)^{-1}u\\
&=\left[(I_n-\gamma P_\pi)^{-1}\otimes I_m\right]u.
\end{aligned}
\tag{9.17} ∇ θ v π = ( I nm − γ P π ⊗ I m ) − 1 u = [ ( I n − γ P π ) − 1 ⊗ I m ] u . ( 9.17 ) 取对应状态 s s s 的分块:
∇ θ v π ( s ) = ∑ s ′ [ ( I n − γ P π ) − 1 ] s s ′ u ( s ′ ) = ∑ s ′ [ ( I n − γ P π ) − 1 ] s s ′ ∑ a ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . (9.18) \begin{aligned}
\nabla_\theta v_\pi(s)
&=\sum_{s'}
\left[(I_n-\gamma P_\pi)^{-1}\right]_{ss'}u(s')\\
&=\sum_{s'}
\left[(I_n-\gamma P_\pi)^{-1}\right]_{ss'}
\sum_a\nabla_\theta\pi(a\mid s',\theta)q_\pi(s',a).
\end{aligned}
\tag{9.18} ∇ θ v π ( s ) = s ′ ∑ [ ( I n − γ P π ) − 1 ] s s ′ u ( s ′ ) = s ′ ∑ [ ( I n − γ P π ) − 1 ] s s ′ a ∑ ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . ( 9.18 ) 最后使用 Neumann series:
( I n − γ P π ) − 1 = I n + γ P π + γ 2 P π 2 + ⋯ , (I_n-\gamma P_\pi)^{-1}
=I_n+\gamma P_\pi+\gamma^2P_\pi^2+\cdots, ( I n − γ P π ) − 1 = I n + γ P π + γ 2 P π 2 + ⋯ , 便得到式 (9.14) 的概率解释。
[!tip] 推导的核心思想
对策略求导后,∇ θ v π \nabla_\theta v_\pi ∇ θ v π 会再次出现在下一状态价值中。把递归关系写成线性方程,再用 ( I − γ P π ) − 1 (I-\gamma P_\pi)^{-1} ( I − γ P π ) − 1 汇总所有未来传播路径,就能消除递归。
4.4 Theorem 9.2:v ˉ π 0 \bar v_\pi^0 v ˉ π 0 的严格梯度# 当 d 0 d_0 d 0 与策略无关时:
∇ θ v ˉ π 0 = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , \nabla_\theta\bar v_\pi^0
=\mathbb E
\left[
\nabla_\theta\ln\pi(A\mid S,\theta)q_\pi(S,A)
\right], ∇ θ v ˉ π 0 = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , 其中 S ∼ ρ π S\sim\rho_\pi S ∼ ρ π 、A ∼ π ( S , θ ) A\sim\pi(S,\theta) A ∼ π ( S , θ ) ,且:
ρ π ( s ) = ∑ s ′ ∈ S d 0 ( s ′ ) Pr π ( s ∣ s ′ ) , s ∈ S . (9.19) \rho_\pi(s)
=\sum_{s'\in\mathcal S}d_0(s')\Pr_\pi(s\mid s'),
\qquad s\in\mathcal S.
\tag{9.19} ρ π ( s ) = s ′ ∈ S ∑ d 0 ( s ′ ) π Pr ( s ∣ s ′ ) , s ∈ S . ( 9.19 ) 4.5 Box 9.3:Theorem 9.2 的证明# 因为 d 0 d_0 d 0 不依赖 θ \theta θ :
∇ θ v ˉ π 0 = ∑ s d 0 ( s ) ∇ θ v π ( s ) . \nabla_\theta\bar v_\pi^0
=\sum_sd_0(s)\nabla_\theta v_\pi(s). ∇ θ v ˉ π 0 = s ∑ d 0 ( s ) ∇ θ v π ( s ) . 代入 Lemma 9.2,交换 s , s ′ s,s' s , s ′ 的求和次序:
∇ θ v ˉ π 0 = ∑ s ′ ( ∑ s d 0 ( s ) Pr π ( s ′ ∣ s ) ) ∑ a ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) = ∑ s ′ ρ π ( s ′ ) ∑ a ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . \begin{aligned}
\nabla_\theta\bar v_\pi^0
&=\sum_{s'}
\left(\sum_sd_0(s)\Pr_\pi(s'\mid s)\right)
\sum_a\nabla_\theta\pi(a\mid s',\theta)q_\pi(s',a)\\
&=\sum_{s'}\rho_\pi(s')
\sum_a\nabla_\theta\pi(a\mid s',\theta)q_\pi(s',a).
\end{aligned} ∇ θ v ˉ π 0 = s ′ ∑ ( s ∑ d 0 ( s ) π Pr ( s ′ ∣ s ) ) a ∑ ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) = s ′ ∑ ρ π ( s ′ ) a ∑ ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) . 再用式 (9.11) 和期望定义得到定理结论。
[!info] 推论:ρ π \rho_\pi ρ π 更像折扣访问权重
按式 (9.19) 和教材对 Pr π \Pr_\pi Pr π 的定义可推出 ∑ s ρ π ( s ) = 1 / ( 1 − γ ) \sum_s\rho_\pi(s)=1/(1-\gamma) ∑ s ρ π ( s ) = 1/ ( 1 − γ ) 。因此它不是通常归一化为 1 的概率分布,而是未归一化的 discounted occupancy weights。教材仍使用 S ∼ ρ π S\sim\rho_\pi S ∼ ρ π 和 expectation 的记号,未另行讨论归一化;本文保留原式,不擅自加入缺失的归一化因子。
4.6 Theorem 9.3:r ˉ π \bar r_\pi r ˉ π 与 v ˉ π \bar v_\pi v ˉ π 的近似梯度# 折扣情形下:
∇ θ r ˉ π = ( 1 − γ ) ∇ θ v ˉ π ≈ ∑ s d π ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , \begin{aligned}
\nabla_\theta\bar r_\pi
&=(1-\gamma)\nabla_\theta\bar v_\pi\\
&\approx\sum_sd_\pi(s)
\sum_a\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a)\\
&=\mathbb E
\left[
\nabla_\theta\ln\pi(A\mid S,\theta)q_\pi(S,A)
\right],
\end{aligned} ∇ θ r ˉ π = ( 1 − γ ) ∇ θ v ˉ π ≈ s ∑ d π ( s ) a ∑ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , 其中 S ∼ d π S\sim d_\pi S ∼ d π 、A ∼ π ( S , θ ) A\sim\pi(S,\theta) A ∼ π ( S , θ ) 。该近似在 γ \gamma γ 更接近 1 1 1 时更准确。
4.7 Box 9.4:近似从哪里产生# 因为 d π d_\pi d π 也依赖策略:
∇ θ v ˉ π = ∇ θ ∑ s d π ( s ) v π ( s ) = ∑ s ∇ θ d π ( s ) v π ( s ) + ∑ s d π ( s ) ∇ θ v π ( s ) . (9.20) \begin{aligned}
\nabla_\theta\bar v_\pi
&=\nabla_\theta\sum_sd_\pi(s)v_\pi(s)\\
&=\sum_s\nabla_\theta d_\pi(s)v_\pi(s)
+\sum_sd_\pi(s)\nabla_\theta v_\pi(s).
\end{aligned}
\tag{9.20} ∇ θ v ˉ π = ∇ θ s ∑ d π ( s ) v π ( s ) = s ∑ ∇ θ d π ( s ) v π ( s ) + s ∑ d π ( s ) ∇ θ v π ( s ) . ( 9.20 ) 第二项代入式 (9.17):
∑ s d π ( s ) ∇ θ v π ( s ) = ( d π T ⊗ I m ) ∇ θ v π = [ d π T ( I n − γ P π ) − 1 ⊗ I m ] u . (9.21) \begin{aligned}
\sum_sd_\pi(s)\nabla_\theta v_\pi(s)
&=(d_\pi^T\otimes I_m)\nabla_\theta v_\pi\\
&=\left[d_\pi^T(I_n-\gamma P_\pi)^{-1}\otimes I_m\right]u.
\end{aligned}
\tag{9.21} s ∑ d π ( s ) ∇ θ v π ( s ) = ( d π T ⊗ I m ) ∇ θ v π = [ d π T ( I n − γ P π ) − 1 ⊗ I m ] u . ( 9.21 ) 由稳态关系可验证:
d π T ( I n − γ P π ) − 1 = 1 1 − γ d π T . d_\pi^T(I_n-\gamma P_\pi)^{-1}
=\frac{1}{1-\gamma}d_\pi^T. d π T ( I n − γ P π ) − 1 = 1 − γ 1 d π T . 所以第二项带有 1 / ( 1 − γ ) 1/(1-\gamma) 1/ ( 1 − γ ) 。教材在 γ → 1 \gamma\to1 γ → 1 时把它视为主导项,并忽略式 (9.20) 中含 ∇ θ d π \nabla_\theta d_\pi ∇ θ d π 的第一项,从而得到 Theorem 9.3 的近似。教材明确指出,这要求被忽略的第一项在 γ → 1 \gamma\to1 γ → 1 时不发散。
[!warning] 易错点
r ˉ π = ( 1 − γ ) v ˉ π \bar r_\pi=(1-\gamma)\bar v_\pi r ˉ π = ( 1 − γ ) v ˉ π 是严格关系,因此两边的梯度关系也是严格的;近似发生在用稳态分布加权的 score-function 表达去替代完整梯度时,而不是发生在 Lemma 9.1 本身。
5. 无折扣情形:差分价值与 Poisson 方程# 本节设 γ = 1 \gamma=1 γ = 1 。直接累加 R t + 1 + R t + 2 + ⋯ R_{t+1}+R_{t+2}+\cdots R t + 1 + R t + 2 + ⋯ 可能发散,因此需要减去长期平均奖励。
5.1 重新定义状态价值和动作价值# v π ( s ) : = E [ ∑ k = 1 ∞ ( R t + k − r ˉ π ) ∣ S t = s ] , v_\pi(s)
:=\mathbb E\left[
\sum_{k=1}^{\infty}(R_{t+k}-\bar r_\pi)
\mid S_t=s
\right], v π ( s ) := E [ k = 1 ∑ ∞ ( R t + k − r ˉ π ) ∣ S t = s ] , q π ( s , a ) : = E [ ∑ k = 1 ∞ ( R t + k − r ˉ π ) ∣ S t = s , A t = a ] . q_\pi(s,a)
:=\mathbb E\left[
\sum_{k=1}^{\infty}(R_{t+k}-\bar r_\pi)
\mid S_t=s,A_t=a
\right]. q π ( s , a ) := E [ k = 1 ∑ ∞ ( R t + k − r ˉ π ) ∣ S t = s , A t = a ] . 教材指出,这种 v π v_\pi v π 在文献中也称 differential reward 或 bias。
它满足 Bellman-like equation:
v π ( s ) = ∑ a π ( a ∣ s , θ ) [ ∑ r p ( r ∣ s , a ) ( r − r ˉ π ) + ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ] . (9.22) v_\pi(s)
=\sum_a\pi(a\mid s,\theta)
\left[
\sum_rp(r\mid s,a)(r-\bar r_\pi)
+\sum_{s'}p(s'\mid s,a)v_\pi(s')
\right].
\tag{9.22} v π ( s ) = a ∑ π ( a ∣ s , θ ) [ r ∑ p ( r ∣ s , a ) ( r − r ˉ π ) + s ′ ∑ p ( s ′ ∣ s , a ) v π ( s ′ ) ] . ( 9.22 ) 矩阵形式称为 Poisson equation:
v π = r π − r ˉ π 1 n + P π v π . (9.23) v_\pi
=r_\pi-\bar r_\pi\mathbf 1_n+P_\pi v_\pi.
\tag{9.23} v π = r π − r ˉ π 1 n + P π v π . ( 9.23 ) 5.2 Theorem 9.4:Poisson 方程的解# 定义:
v π ∗ = ( I n − P π + 1 n d π T ) − 1 r π . (9.24) v_\pi^*
=\left(I_n-P_\pi+\mathbf 1_nd_\pi^T\right)^{-1}r_\pi.
\tag{9.24} v π ∗ = ( I n − P π + 1 n d π T ) − 1 r π . ( 9.24 ) 则 v π ∗ v_\pi^* v π ∗ 是 Poisson 方程的一个解,而且任意解都可写成:
v π = v π ∗ + c 1 n , c ∈ R . v_\pi=v_\pi^*+c\mathbf 1_n,
\qquad c\in\mathbb R. v π = v π ∗ + c 1 n , c ∈ R . 所以无折扣差分价值只确定到一个加性常数。
5.3 Box 9.5:Theorem 9.4 的证明结构# Step 1:验证给出的向量确实是解# 令:
A : = I n − P π + 1 n d π T . A:=I_n-P_\pi+\mathbf 1_nd_\pi^T. A := I n − P π + 1 n d π T . 将 v π ∗ = A − 1 r π v_\pi^*=A^{-1}r_\pi v π ∗ = A − 1 r π 代入式 (9.23),再使用 d π T r π = r ˉ π d_\pi^Tr_\pi=\bar r_\pi d π T r π = r ˉ π 、d π T P π = d π T d_\pi^TP_\pi=d_\pi^T d π T P π = d π T 与 P π 1 n = 1 n P_\pi\mathbf 1_n=\mathbf 1_n P π 1 n = 1 n ,可验证等式成立。
Step 2:说明解为什么不唯一# 代入 r ˉ π = d π T r π \bar r_\pi=d_\pi^Tr_\pi r ˉ π = d π T r π :
v π = r π − 1 n d π T r π + P π v π . (9.25) v_\pi
=r_\pi-\mathbf 1_nd_\pi^Tr_\pi+P_\pi v_\pi.
\tag{9.25} v π = r π − 1 n d π T r π + P π v π . ( 9.25 ) 整理为:
( I n − P π ) v π = ( I n − 1 n d π T ) r π . (9.26) (I_n-P_\pi)v_\pi
=(I_n-\mathbf 1_nd_\pi^T)r_\pi.
\tag{9.26} ( I n − P π ) v π = ( I n − 1 n d π T ) r π . ( 9.26 ) 由于 ( I n − P π ) 1 n = 0 (I_n-P_\pi)\mathbf 1_n=0 ( I n − P π ) 1 n = 0 ,矩阵 I n − P π I_n-P_\pi I n − P π 奇异。若 P π P_\pi P π 不可约,则:
Null ( I n − P π ) = span { 1 n } . \operatorname{Null}(I_n-P_\pi)
=\operatorname{span}\{\mathbf 1_n\}. Null ( I n − P π ) = span { 1 n } . 因此给任意一个解加上 c 1 n c\mathbf 1_n c 1 n 仍是解。
Step 3:证明 A A A 可逆# 这一步由 Lemma 9.3 完成。
5.4 Lemma 9.3:矩阵逆的级数表达# 矩阵 I n − P π + 1 n d π T I_n-P_\pi+\mathbf 1_nd_\pi^T I n − P π + 1 n d π T 可逆,且:
[ I n − ( P π − 1 n d π T ) ] − 1 = ∑ k = 1 ∞ ( P π k − 1 n d π T ) + I n . \left[I_n-(P_\pi-\mathbf 1_nd_\pi^T)\right]^{-1}
=\sum_{k=1}^{\infty}(P_\pi^k-\mathbf 1_nd_\pi^T)+I_n. [ I n − ( P π − 1 n d π T ) ] − 1 = k = 1 ∑ ∞ ( P π k − 1 n d π T ) + I n . 关键恒等式是:
( P π − 1 n d π T ) k = P π k − 1 n d π T , k ≥ 1. (9.27) (P_\pi-\mathbf 1_nd_\pi^T)^k
=P_\pi^k-\mathbf 1_nd_\pi^T,
\qquad k\ge1.
\tag{9.27} ( P π − 1 n d π T ) k = P π k − 1 n d π T , k ≥ 1. ( 9.27 ) 它可由归纳法证明。又因为 P π k → 1 n d π T P_\pi^k\to\mathbf 1_nd_\pi^T P π k → 1 n d π T :
( P π − 1 n d π T ) k → 0. (P_\pi-\mathbf 1_nd_\pi^T)^k\to0. ( P π − 1 n d π T ) k → 0. 故该矩阵谱半径小于 1 1 1 ,Neumann series 收敛,矩阵可逆。
[!warning] 教材对参考文献的更正
教材明确指出参考文献 [66] 中把逆矩阵写成 ∑ k = 0 ∞ ( P π k − 1 n d π T ) \sum_{k=0}^{\infty}(P_\pi^k-\mathbf 1_nd_\pi^T) ∑ k = 0 ∞ ( P π k − 1 n d π T ) 是不准确的,因为该和式乘 1 n \mathbf 1_n 1 n 为零,因而奇异。Lemma 9.3 的正确表达额外保留了 I n I_n I n ,等价于从 k = 1 k=1 k = 1 开始求和再加 I n I_n I n 。
5.5 为什么平均奖励唯一而差分价值不唯一# 由 Poisson 方程:
r ˉ π 1 n = r π + ( P π − I n ) v π . \bar r_\pi\mathbf 1_n
=r_\pi+(P_\pi-I_n)v_\pi. r ˉ π 1 n = r π + ( P π − I n ) v π . 若 v π = v π ∗ + c 1 n v_\pi=v_\pi^*+c\mathbf 1_n v π = v π ∗ + c 1 n ,则:
( P π − I n ) c 1 n = 0. (P_\pi-I_n)c\mathbf 1_n=0. ( P π − I n ) c 1 n = 0. 未定常数被消掉,所以 r ˉ π \bar r_\pi r ˉ π 唯一;但 v π v_\pi v π 和 v ˉ π \bar v_\pi v ˉ π 在未增加归一化约束时不唯一。因此教材只研究无折扣情形下 r ˉ π \bar r_\pi r ˉ π 的梯度。
5.6 Theorem 9.5:平均奖励的严格梯度# 无折扣情形下:
∇ θ r ˉ π = ∑ s d π ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , (9.28) \begin{aligned}
\nabla_\theta\bar r_\pi
&=\sum_sd_\pi(s)
\sum_a\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a)\\
&=\mathbb E
\left[
\nabla_\theta\ln\pi(A\mid S,\theta)q_\pi(S,A)
\right],
\end{aligned}
\tag{9.28} ∇ θ r ˉ π = s ∑ d π ( s ) a ∑ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln π ( A ∣ S , θ ) q π ( S , A ) ] , ( 9.28 ) 其中 S ∼ d π S\sim d_\pi S ∼ d π 、A ∼ π ( S , θ ) A\sim\pi(S,\theta) A ∼ π ( S , θ ) 。与 Theorem 9.3 不同,这里是严格等式。
5.7 Box 9.6:Theorem 9.5 的证明# 再次从乘积求导开始:
∇ θ v π ( s ) = ∇ θ [ ∑ a π ( a ∣ s , θ ) q π ( s , a ) ] = ∑ a [ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) + π ( a ∣ s , θ ) ∇ θ q π ( s , a ) ] . (9.29) \begin{aligned}
\nabla_\theta v_\pi(s)
&=\nabla_\theta
\left[\sum_a\pi(a\mid s,\theta)q_\pi(s,a)\right]\\
&=\sum_a
\left[
\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a)
+\pi(a\mid s,\theta)\nabla_\theta q_\pi(s,a)
\right].
\end{aligned}
\tag{9.29} ∇ θ v π ( s ) = ∇ θ [ a ∑ π ( a ∣ s , θ ) q π ( s , a ) ] = a ∑ [ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) + π ( a ∣ s , θ ) ∇ θ q π ( s , a ) ] . ( 9.29 ) 无折扣动作价值满足:
q π ( s , a ) = r ( s , a ) − r ˉ π + ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) . q_\pi(s,a)
=r(s,a)-\bar r_\pi
+\sum_{s'}p(s'\mid s,a)v_\pi(s'). q π ( s , a ) = r ( s , a ) − r ˉ π + s ′ ∑ p ( s ′ ∣ s , a ) v π ( s ′ ) . 所以:
∇ θ q π ( s , a ) = − ∇ θ r ˉ π + ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . \nabla_\theta q_\pi(s,a)
=-\nabla_\theta\bar r_\pi
+\sum_{s'}p(s'\mid s,a)\nabla_\theta v_\pi(s'). ∇ θ q π ( s , a ) = − ∇ θ r ˉ π + s ′ ∑ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . 代回式 (9.29),并使用 ∑ a π ( a ∣ s , θ ) = 1 \sum_a\pi(a\mid s,\theta)=1 ∑ a π ( a ∣ s , θ ) = 1 :
∇ θ v π ( s ) = ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) − ∇ θ r ˉ π + ∑ a π ( a ∣ s , θ ) ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . (9.30) \begin{aligned}
\nabla_\theta v_\pi(s)
&=\sum_a\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a)
-\nabla_\theta\bar r_\pi\\
&\quad+\sum_a\pi(a\mid s,\theta)
\sum_{s'}p(s'\mid s,a)\nabla_\theta v_\pi(s').
\end{aligned}
\tag{9.30} ∇ θ v π ( s ) = a ∑ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) − ∇ θ r ˉ π + a ∑ π ( a ∣ s , θ ) s ′ ∑ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) . ( 9.30 ) 令 u ( s ) = ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) u(s)=\sum_a\nabla_\theta\pi(a\mid s,\theta)q_\pi(s,a) u ( s ) = ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) ,堆叠成向量后:
∇ θ v π = u − 1 n ⊗ ∇ θ r ˉ π + ( P π ⊗ I m ) ∇ θ v π . \nabla_\theta v_\pi
=u-\mathbf 1_n\otimes\nabla_\theta\bar r_\pi
+(P_\pi\otimes I_m)\nabla_\theta v_\pi. ∇ θ v π = u − 1 n ⊗ ∇ θ r ˉ π + ( P π ⊗ I m ) ∇ θ v π . 整理并左乘 d π T ⊗ I m d_\pi^T\otimes I_m d π T ⊗ I m 。因为:
d π T 1 n = 1 , d π T P π = d π T , d_\pi^T\mathbf 1_n=1,
\qquad
d_\pi^TP_\pi=d_\pi^T, d π T 1 n = 1 , d π T P π = d π T , 含 ∇ θ v π \nabla_\theta v_\pi ∇ θ v π 的两项相互抵消,得到:
∇ θ r ˉ π = ∑ s d π ( s ) u ( s ) , \nabla_\theta\bar r_\pi
=\sum_sd_\pi(s)u(s), ∇ θ r ˉ π = s ∑ d π ( s ) u ( s ) , 也就是式 (9.28)。
7. Monte Carlo Policy Gradient:REINFORCE# 7.1 从真实梯度到随机梯度# 真实梯度上升为:
θ t + 1 = θ t + α ∇ θ J ( θ t ) = θ t + α E [ ∇ θ ln π ( A ∣ S , θ t ) q π ( S , A ) ] . (9.31) \begin{aligned}
\theta_{t+1}
&=\theta_t+\alpha\nabla_\theta J(\theta_t)\\
&=\theta_t+\alpha\mathbb E
\left[
\nabla_\theta\ln\pi(A\mid S,\theta_t)q_\pi(S,A)
\right].
\end{aligned}
\tag{9.31} θ t + 1 = θ t + α ∇ θ J ( θ t ) = θ t + α E [ ∇ θ ln π ( A ∣ S , θ t ) q π ( S , A ) ] . ( 9.31 ) 期望未知时,用样本 ( s t , a t ) (s_t,a_t) ( s t , a t ) 以及动作价值估计 q t ( s t , a t ) q_t(s_t,a_t) q t ( s t , a t ) 替代:
θ t + 1 = θ t + α ∇ θ ln π ( a t ∣ s t , θ t ) q t ( s t , a t ) . (9.32) \theta_{t+1}
=\theta_t+\alpha
\nabla_\theta\ln\pi(a_t\mid s_t,\theta_t)
q_t(s_t,a_t).
\tag{9.32} θ t + 1 = θ t + α ∇ θ ln π ( a t ∣ s t , θ t ) q t ( s t , a t ) . ( 9.32 ) 当 q t q_t q t 用完整回合的 Monte Carlo return 估计时,该算法称为 REINFORCE 或 Monte Carlo policy gradient。
7.2 更新的数学解释# 使用对数导数恒等式:
θ t + 1 = θ t + α q t ( s t , a t ) π ( a t ∣ s t , θ t ) ∇ θ π ( a t ∣ s t , θ t ) . \theta_{t+1}
=\theta_t+\alpha
\frac{q_t(s_t,a_t)}{\pi(a_t\mid s_t,\theta_t)}
\nabla_\theta\pi(a_t\mid s_t,\theta_t). θ t + 1 = θ t + α π ( a t ∣ s t , θ t ) q t ( s t , a t ) ∇ θ π ( a t ∣ s t , θ t ) . 定义:
β t : = q t ( s t , a t ) π ( a t ∣ s t , θ t ) , \beta_t
:=\frac{q_t(s_t,a_t)}{\pi(a_t\mid s_t,\theta_t)}, β t := π ( a t ∣ s t , θ t ) q t ( s t , a t ) , 则:
θ t + 1 = θ t + α β t ∇ θ π ( a t ∣ s t , θ t ) . (9.33) \theta_{t+1}
=\theta_t+\alpha\beta_t
\nabla_\theta\pi(a_t\mid s_t,\theta_t).
\tag{9.33} θ t + 1 = θ t + α β t ∇ θ π ( a t ∣ s t , θ t ) . ( 9.33 ) 当步长足够小时,对 π ( a t ∣ s t , θ t + 1 ) \pi(a_t\mid s_t,\theta_{t+1}) π ( a t ∣ s t , θ t + 1 ) 作一阶 Taylor 展开:
π ( a t ∣ s t , θ t + 1 ) ≈ π ( a t ∣ s t , θ t ) + ( ∇ θ π ( a t ∣ s t , θ t ) ) T ( θ t + 1 − θ t ) = π ( a t ∣ s t , θ t ) + α β t ∥ ∇ θ π ( a t ∣ s t , θ t ) ∥ 2 2 . \begin{aligned}
\pi(a_t\mid s_t,\theta_{t+1})
&\approx\pi(a_t\mid s_t,\theta_t)
+\left(\nabla_\theta\pi(a_t\mid s_t,\theta_t)\right)^T
(\theta_{t+1}-\theta_t)\\
&=\pi(a_t\mid s_t,\theta_t)
+\alpha\beta_t
\left\lVert\nabla_\theta\pi(a_t\mid s_t,\theta_t)\right\rVert_2^2.
\end{aligned} π ( a t ∣ s t , θ t + 1 ) ≈ π ( a t ∣ s t , θ t ) + ( ∇ θ π ( a t ∣ s t , θ t ) ) T ( θ t + 1 − θ t ) = π ( a t ∣ s t , θ t ) + α β t ∥ ∇ θ π ( a t ∣ s t , θ t ) ∥ 2 2 . 因此:
若 β t ≥ 0 \beta_t\ge0 β t ≥ 0 ,所选动作概率增大;
若 β t < 0 \beta_t<0 β t < 0 ,所选动作概率减小;
∣ β t ∣ \lvert\beta_t\rvert ∣ β t ∣ 越大,局部改变越强。
教材还从 β t = q t / π \beta_t=q_t/\pi β t = q t / π 解释探索与利用:
q t q_t q t 较大时,提高高价值动作概率,体现 exploitation;
在 q t > 0 q_t>0 q t > 0 时,原概率较小会使 β t \beta_t β t 较大,从而更强地提高低概率动作,体现一定程度的 exploration。
7.3 Algorithm 9.1:Policy Gradient by Monte Carlo# 学习最大化 J ( θ ) J(\theta) J ( θ ) 的策略。
初始参数 θ \theta θ ;
折扣因子 γ ∈ ( 0 , 1 ) \gamma\in(0,1) γ ∈ ( 0 , 1 ) ;
学习率 α > 0 \alpha>0 α > 0 。
核心步骤# {s0, a0, r1, ..., sT-1, aT-1, rT}
q_t(st, at) <- Σ_{k=t+1}^{T} γ^(k-t-1) r_k
θ <- θ + α grad_θ ln π(at | st, θ) q_t(st, at)
完整 Monte Carlo 回报为:
q t ( s t , a t ) = ∑ k = t + 1 T γ k − t − 1 r k . q_t(s_t,a_t)
=\sum_{k=t+1}^{T}\gamma^{k-t-1}r_k. q t ( s t , a t ) = k = t + 1 ∑ T γ k − t − 1 r k . 优化后的随机策略 π ( a ∣ s , θ ) \pi(a\mid s,\theta) π ( a ∣ s , θ ) 。
停止条件# 教材按回合重复,没有指定唯一停止规则;实现中可使用固定回合数、指标稳定或参数变化足够小等外部条件。
7.4 怎样采样 S S S 和 A A A # 理论期望要求:
S S S 服从 η \eta η ,即 d π d_\pi d π 或式 (9.19) 的 ρ π \rho_\pi ρ π ;
A A A 服从当前策略 π ( A ∣ S , θ ) \pi(A\mid S,\theta) π ( A ∣ S , θ ) 。
因此基本策略梯度是 on-policy 。实践中的 Algorithm 9.1 先按当前策略生成整条回合,再复用回合中的每个样本多次更新参数。教材指出,这提高了样本利用率,但并不严格遵循每一步都从理想长期分布重新独立采样的方式。
[!note] 补充理解
REINFORCE 的价值估计来自完整回报,因此无需价值网络,但必须等回合结束,而且 Monte Carlo 回报通常方差较大。下一章 Actor-Critic 将引入 critic,用学习到的价值估计替代完整回报。这一联系由教材在总结中指出;有关方差降低的具体技术不在本章展开。
14. 常见误区#
[!warning] 易错点 1:策略梯度不是对动作求梯度
梯度变量是策略参数 θ \theta θ ,不是离散动作 a a a 。动作由策略概率分布采样。
[!warning] 易错点 2:Theorem 9.1 的所有实例并非都严格相等
Theorem 9.2 和无折扣 Theorem 9.5 给出严格结果;Theorem 9.3 的稳态 score-function 表达在教材中是 γ → 1 \gamma\to1 γ → 1 时的近似。
[!warning] 易错点 3:v ˉ π 0 \bar v_\pi^0 v ˉ π 0 与 v ˉ π \bar v_\pi v ˉ π 的权重不同
前者使用与策略无关的 d 0 d_0 d 0 ,后者使用会随参数变化的 d π d_\pi d π 。对后者求导必须注意 ∇ θ d π \nabla_\theta d_\pi ∇ θ d π 。
[!warning] 易错点 4:对数不是改变了优化目标
ln π \ln\pi ln π 来自恒等式 ∇ π = π ∇ ln π \nabla\pi=\pi\nabla\ln\pi ∇ π = π ∇ ln π ,用于把梯度写成策略分布下的期望。
[!warning] 易错点 5:无折扣价值不能直接定义为无限奖励和
该和可能发散,必须使用中心化奖励 R − r ˉ π R-\bar r_\pi R − r ˉ π 。
[!warning] 易错点 6:Poisson 方程的价值解不唯一
v π v_\pi v π 可以整体平移 c 1 n c\mathbf 1_n c 1 n ,但这不影响唯一的平均奖励。
[!warning] 易错点 7:REINFORCE 不是 value-based 方法
虽然更新中使用 q π q_\pi q π 的估计,真正被直接参数化和优化的是策略;Chapter 10 才把 policy-based actor 与 value-based critic 结合起来。