《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch9 策略梯度方法 9.3.2 无折扣情形下的梯度推导

news2024/12/27 11:47:19

v3 链接

9.3.2 无折扣情形下的梯度推导

平均奖励 r ˉ π \bar r_\pi rˉπ 的定义对折扣和无折扣情况都有效。在折扣情况下的梯度是一个近似值,它在无折扣情况下的梯度更优雅。

因为 无折扣奖励和 E [ R t + 1 + R t + 2 + R t + 3 + ⋯ ∣ S t = s ] {\mathbb E}[R_{t+1}+R_{t+2}+R_{t+3}+\cdots|S_t=s] E[Rt+1+Rt+2+Rt+3+St=s] 可能发散,因此以特别的方式定义 状态价值 和 动作价值:
  ~  
v π ( s ) ≐ E [ ( R t + 1 − r ˉ π ) + ( R t + 2 − r ˉ π ) + ( R t + 3 − r ˉ π ) + ⋯ ∣ S t = s ] v_\pi(s)\doteq{\mathbb E}[(R_{t+1}\textcolor{blue}{-\bar r_\pi})+(R_{t+2}\textcolor{blue}{-\bar r_\pi})+(R_{t+3}\textcolor{blue}{-\bar r_\pi})+\cdots|S_t=s] vπ(s)E[(Rt+1rˉπ)+(Rt+2rˉπ)+(Rt+3rˉπ)+St=s]
  ~  
q π ( s , a ) ≐ E [ ( R t + 1 − r ˉ π ) + ( R t + 2 − r ˉ π ) + ( R t + 3 − r ˉ π ) + ⋯ ∣ S t = s , A t = a ] q_\pi(s,a)\doteq{\mathbb E}[(R_{t+1}-\bar r_\pi)+(R_{t+2}-\bar r_\pi)+(R_{t+3}-\bar r_\pi)+\cdots|S_t=s,A_t=a] qπ(s,a)E[(Rt+1rˉπ)+(Rt+2rˉπ)+(Rt+3rˉπ)+St=s,At=a]

其中 r ˉ π \bar r_\pi rˉπ 是平均奖励,它是在给定策略 π \pi π 下确定的。
在文献中, v π ( s ) v_\pi(s) vπ(s) 有不同的名称,如差异奖励[65]或偏差。可以验证,上面定义的状态值满足如下 Bellman-like 公式:

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\limits_a \pi(a|s,\theta)\Big[\sum\limits_r p(r|s,a)(r-\bar r_\pi)+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\pi(s^\prime)\Big]~~~~~~~~~~(9.22) vπ(s)=aπ(as,θ)[rp(rs,a)(rrˉπ)+sp(ss,a)vπ(s)]          (9.22)

由于 v π ( s ) = ∑ a ∈ A π ( a ∣ s , θ ) q π ( s , a ) v_\pi(s)=\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)q_\pi(s,a) vπ(s)=aAπ(as,θ)qπ(s,a)
q π ( s , a ) = ∑ r p ( r ∣ s , a ) ( r − r ˉ π ) + ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) q_\pi(s,a)=\sum\limits_r p(r|s,a)(r-\bar r_\pi)+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\pi(s^\prime) qπ(s,a)=rp(rs,a)(rrˉπ)+sp(ss,a)vπ(s)

式 (9.22) 的矩阵形式为 v π = r π − r ˉ π 1 n + P π v π            ( 9.23 )      泊松公式 v_\pi=r_\pi-\bar r_\pi{\bf 1}_n + P_\pi v_\pi~~~~~~~~~~(9.23)~~~~\textcolor{blue}{泊松公式} vπ=rπrˉπ1n+Pπvπ          (9.23)    泊松公式

其中 1 n = [ 1 , ⋯   , 1 ] T ∈ R n {\bf 1}_n=[1,\cdots,1]^T\in {\mathbb R}^n 1n=[1,,1]TRn

如何求解 v π v_\pi vπ 呢?

定理 9.4 : 泊松公式的解

v π ∗ = ( I n − P π + 1 n d π T ) − 1 r π            ( 9.24 ) v_\pi^*=(I_n-P_\pi+{\bf 1}_n d_\pi^T)^{-1} r_\pi~~~~~~~~~~(9.24) vπ=(InPπ+1ndπT)1rπ          (9.24)

v π ∗ v_\pi^* vπ 是 式 (9.23) 中的泊松公式的解。

此外,泊松公式的任意解都具有以下形式 v π = v π ∗ + c 1 n v_\pi=v_\pi^*+c{\bf 1}_n vπ=vπ+c1n
其中 c ∈ R c\in {\mathbb R} cR

这个理论表明 泊松公式的解可能不唯一。

Box 9.5: Proof of Theorem 9.4

证明分 3 步
1、证明 式 (9.24) 中的 v π ∗ v_\pi^* vπ 是泊松公式的一个解。

在这里插入图片描述

A ≐ I n − P π + 1 n d π T A\doteq I_n-P_\pi+{\bf 1}_nd_\pi^T AInPπ+1ndπT
根据 式 (9.24),有 v π ∗ = A − 1 r π v_\pi^*=A^{-1}r_\pi vπ=A1rπ A A A 是可逆的,将在第 3 步中证明。
v π ∗ = A − 1 r π v_\pi^*=A^{-1}r_\pi vπ=A1rπ 代入 式 (9.23), 有
在这里插入图片描述
A − 1 r π = r π − 1 n d π T r π + P π A − 1 r π A^{-1}r_\pi=r_\pi-{\bf 1}_n \textcolor{blue}{d_\pi^T r_\pi} + P_\pi A^{-1}r_\pi A1rπ=rπ1ndπTrπ+PπA1rπ
  ~  
( − A − 1 + I n − 1 n d π T + P π A − 1 ) r π = 0 (-A^{-1}+I_n-{\bf 1}_nd_\pi^T+P_\pi A^{-1})r_\pi=0 (A1+In1ndπT+PπA1)rπ=0
  ~  
( − I n + A − 1 n d π T A + P π ) A − 1 r π = 0       (-I_n+A-{\bf 1}_nd_\pi^TA+P_\pi )A^{-1}r_\pi=0~~~~~ (In+A1ndπTA+Pπ)A1rπ=0      A − 1 A^{-1} A1 提出来
  ~  
上式 括号里的项为 0。因为
− I n + A − 1 n d π T A + P π = − I n + ( I n − P π + 1 n d π T ) − 1 n d π T ( I n − P π + 1 n d π T ) + P π = 0       -I_n+A-{\bf 1}_nd_\pi^TA+P_\pi=-I_n+(I_n-P_\pi+{\bf 1}_nd_\pi^T)-{\bf 1}_nd_\pi^T(I_n-P_\pi+{\bf 1}_nd_\pi^T)+P_\pi=0~~~~~ In+A1ndπTA+Pπ=In+(InPπ+1ndπT)1ndπT(InPπ+1ndπT)+Pπ=0      A ≐ I n − P π + 1 n d π T A\doteq I_n-P_\pi+{\bf 1}_nd_\pi^T AInPπ+1ndπT 代入
  ~  
因此 (9.24) 中的 v π ∗ v_\pi^* vπ 是 泊松公式 (9.23) 的一个解。

第 2 步: 解的一般表达式

r ˉ π = d π T r π \bar r_\pi=d_\pi^T r_\pi rˉπ=dπTrπ 代入 (9.24), 得
  ~  
v π = r π − 1 n d π T r π + P π v π            ( 9.25 ) v_\pi=r_\pi-{\bf 1}_n d_\pi^Tr_\pi+P_\pi v_\pi~~~~~~~~~~(9.25) vπ=rπ1ndπTrπ+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-{\bf 1}_n d_\pi^T)r_\pi~~~~~~~~~~(9.26) (InPπ)vπ=(In1ndπT)rπ          (9.26)
  ~  
注意 I n − P π I_n- P_\pi InPπ 是奇异的,因为 对任意 π \pi π, 都有 ( I n − P π ) 1 n = 0 (I_n- P_\pi){\bf 1}_n=0 (InPπ)1n=0注意 P π 1 n = 1 n P_\pi {\bf 1}_n={\bf 1}_n Pπ1n=1n
因此,(9.26) 的解不是唯一的,如果 v π ∗ v_\pi^* vπ 是一个解,那么 v π ∗ + x v_\pi^*+x vπ+x 也是任何 x ∈ Null ( I n − P π ) x \in \text{Null}(I_n - P_\pi) xNull(InPπ) 的解。
P π P_\pi Pπ 不可约时, Null ( I n − P π ) 1 n = span { 1 n } \text{Null}(I_n - P_\pi) {\bf 1}_n= \text{span}\{{\bf 1}_n\} Null(InPπ)1n=span{1n}
那么泊松方程的任何解都可以表示为 v π ∗ + c 1 n v_\pi^*+ c{\bf 1}_n vπ+c1n,其中 c ∈ R c \in {\mathbb R} cR

第 3 步: 证明 A = I n − P π + 1 n d π T A=I_n-P_\pi +{\bf 1}_nd_\pi^T A=InPπ+1ndπT 是可逆的。

由于 v π ∗ v_\pi^* vπ 涉及 A − 1 A^{-1} A1,有必要证明 A A A 是可逆的。

引理 9.3 A 可逆 及其证明

Lemma 9.3. 矩阵 I n − P π + 1 n d π T I_n-P_\pi +{\bf 1}_nd_\pi^T InPπ+1ndπT 是可逆的,且逆矩阵为 ( I n − P π + 1 n d π T ) − 1 = ∑ k = 1 ∞ ( P π k − 1 n d π T ) + I n (I_n-P_\pi +{\bf 1}_nd_\pi^T)^{-1}=\sum\limits_{k=1}^\infty(P_\pi^k-{\bf 1}_nd_\pi^T)+I_n (InPπ+1ndπT)1=k=1(Pπk1ndπT)+In

证明:
首先声明一些基本事实
  ~  
ρ ( M ) \rho(M) ρ(M) 为 矩阵 M M M 的谱半径。
  ~  
如果 ρ ( M ) < 1 \rho(M)< 1 ρ(M)<1 I − M I-M IM 可逆。
  ~  
当且仅当 lim ⁡ k → ∞ M k = 0 \lim\limits_{k\to \infty}M^k=0 klimMk=0 时, ρ ( M ) < 1 \rho(M)< 1 ρ(M)<1
——————————
基于以上事实,接下来证明 lim ⁡ k → ∞ ( P π − 1 n d π T ) k → 0 \lim\limits_{k\to\infty}(P_\pi-{\bf 1}_nd_\pi^T)^k\to 0 klim(Pπ1ndπT)k0
  ~  
( P π − 1 n d π T ) k = P π k − 1 n d π T ,       k ≥ 1            ( 9.27 ) (P_\pi-{\bf 1}_nd_\pi^T)^k=P_\pi^k-{\bf 1}_nd_\pi^T,~~~~~k\geq 1~~~~~~~~~~(9.27) (Pπ1ndπT)k=Pπk1ndπT,     k1          (9.27)
  ~  
通过归纳证明 (9.27)
  ~  
k = 1 k=1 k=1,等式成立。
  ~  
k = 2 k=2 k=2
( P π − 1 n d π T ) 2 = ( P π − 1 n d π T ) ( P π − 1 n d π T ) = P π 2 − P π 1 n d π T − 1 n d π T P π + 1 n d π T 1 n d π T = P π 2 − 1 n d π T \begin{aligned}(P_\pi-{\bf 1}_nd_\pi^T)^2&=(P_\pi-{\bf 1}_nd_\pi^T)(P_\pi-{\bf 1}_nd_\pi^T)\\ &=P_\pi^2-P_\pi{\bf 1}_nd_\pi^T-{\bf 1}_nd_\pi^T P_\pi+{\bf 1}_nd_\pi^T{\bf 1}_nd_\pi^T\\ &=P_\pi^2-{\bf 1}_nd_\pi^T\end{aligned} (Pπ1ndπT)2=(Pπ1ndπT)(Pπ1ndπT)=Pπ2Pπ1ndπT1ndπTPπ+1ndπT1ndπT=Pπ21ndπT
  ~  
其中 最后一个等号成立是由于 P π 1 n = 1 n ,    d π T P π = d π T ,    d π T 1 n = 1 \textcolor{blue}{P_\pi {\bf 1}_n={\bf 1}_n}, ~~d_\pi^TP_\pi=d_\pi^T,~~\textcolor{blue}{d_\pi^T{\bf 1}_n=1} Pπ1n=1n,  dπTPπ=dπT,  dπT1n=1
  ~  
类似地, k ≥ 3 k\geq3 k3
( P π − 1 n d π T ) 3 = ( P π − 1 n d π T ) 2 ( P π − 1 n d π T ) = ( P π 2 − 1 n d π T ) ( P π − 1 n d π T ) = P π 3 − 1 n d π T − 1 n d π T + 1 n d π T = P π 3 − 1 n d π T \begin{aligned}(P_\pi-{\bf 1}_nd_\pi^T)^3&=(P_\pi-{\bf 1}_nd_\pi^T)^2(P_\pi-{\bf 1}_nd_\pi^T)\\ &=(P_\pi^2-{\bf 1}_nd_\pi^T)(P_\pi-{\bf 1}_nd_\pi^T)\\ &=P_\pi^3-{\bf 1}_nd_\pi^T-{\bf 1}_nd_\pi^T+{\bf 1}_nd_\pi^T\\ &=P_\pi^3-{\bf 1}_nd_\pi^T\end{aligned} (Pπ1ndπT)3=(Pπ1ndπT)2(Pπ1ndπT)=(Pπ21ndπT)(Pπ1ndπT)=Pπ31ndπT1ndπT+1ndπT=Pπ31ndπT
  ~  
因为 d π d_\pi dπ 是状态的平稳分布,有 lim ⁡ k → ∞ P π k = d π T 1 n \lim\limits_{k\to\infty}P_\pi^k=d_\pi^T {\bf 1}_n klimPπk=dπT1n,则
  ~  
lim ⁡ k → ∞ ( P π − 1 n d π T ) k = lim ⁡ k → ∞ P π k − d π T 1 n = 0 \lim\limits_{k\to \infty}(P_\pi-{\bf 1}_n d_\pi^T)^k=\lim\limits_{k\to \infty}P_\pi^k-d_\pi^T{\bf 1}_n=0 klim(Pπ1ndπT)k=klimPπkdπT1n=0
  ~  
因此, 若是 ρ ( P π − 1 n d π T ) < 1 \rho(P_\pi -{\bf 1}_n d_\pi^T) < 1 ρ(Pπ1ndπT)<1,则 I n − ( P π − 1 n d π T ) I_n-(P_\pi -{\bf 1}_n d_\pi^T) In(Pπ1ndπT) 可逆。
  ~  
其逆 ( I n − ( P π − 1 n d π T ) ) − 1 = ∑ k = 0 ∞ ( P π − 1 n d π T ) k        ? ? ? = I n + ∑ k = 1 ∞ ( P π − 1 n d π T ) k = I n + ∑ k = 1 ∞ ( P π k − 1 n d π T )                代入 式  ( 9.27 )        L e m m a   9.3  证毕 = ∑ k = 0 ∞ ( P π k − 1 n d π T ) + 1 n d π T \begin{aligned}(I_n-(P_\pi -{\bf 1}_n d_\pi^T))^{-1}&=\sum\limits_{k=0}^\infty(P_\pi -{\bf 1}_nd_\pi^T)^k~~~~~~\textcolor{blue}{???}\\ &=I_n+\sum\limits_{k=\textcolor{blue}{1}}^\infty(P_\pi -{\bf 1}_nd_\pi^T)^k\\ &=I_n+\sum\limits_{k=1}^\infty(P_\pi^k-{\bf 1}_nd_\pi^T)~~~~~~~~~~~~~~\textcolor{blue}{代入~式~(9.27)}~~~~~~Lemma ~9.3 ~证毕\\ &=\sum\limits_{k=\textcolor{blue}{0}}^\infty(P_\pi^k-{\bf 1}_nd_\pi^T)+{\bf 1}_nd_\pi^T\end{aligned} (In(Pπ1ndπT))1=k=0(Pπ1ndπT)k      ???=In+k=1(Pπ1ndπT)k=In+k=1(Pπk1ndπT)              代入  (9.27)      Lemma 9.3 证毕=k=0(Pπk1ndπT)+1ndπT
  ~  
引理 9.3 的证明受到 [66] 的启发。
然而,在 [66] 中给出的结果 ( I n − P π + 1 n d π T ) − 1 = ∑ k = 0 ∞ ( P π k − 1 n d π T ) (I_n-P_\pi+{\bf 1}_nd_\pi^T)^{-1}=\sum\limits_{k=0}^\infty(P_\pi^k-{\bf 1}_nd_\pi^T) (InPπ+1ndπT)1=k=0(Pπk1ndπT) 是不准确的,因为 ∑ k = 0 ∞ ( P π k − 1 n d π T ) 1 n = 0 \sum\limits_{k=0}^\infty (P_\pi^k-{\bf 1}_nd_\pi^T){\bf 1}_n=0 k=0(Pπk1ndπT)1n=0, 则 ∑ k = 0 ∞ ( P π k − 1 n d π T ) \sum\limits_{k=0}^\infty (P_\pi^k-{\bf 1}_nd_\pi^T) k=0(Pπk1ndπT) 是奇异的。【奇异矩阵指的是行列式为零的方阵】
引理 9.3 纠正了这个错误。

梯度的推导

尽管在无折扣情况下 v π v_\pi vπ 的值不是唯一的,如定理 9.4 所示,但 r ˉ π \bar r_\pi rˉπ 的值是唯一的。
特别地,从泊松方程可以得出

在这里插入图片描述

r ˉ π 1 n = r π + ( P π − I n ) v π = r π + ( P π − I n ) ( v π ∗ + c 1 n ) = r π + ( P π − I n ) v π ∗ \begin{aligned}\bar r_\pi{\bf 1}_n&=r_\pi+(P_\pi-I_n)v_\pi\\ &=r_\pi+(P_\pi-I_n)(v_\pi^*+c{\bf 1}_n)\\ &=r_\pi+(P_\pi-I_n)v_\pi^*\end{aligned} rˉπ1n=rπ+(PπIn)vπ=rπ+(PπIn)(vπ+c1n)=rπ+(PπIn)vπ

值得注意的是,待定值 c c c 被消去了,因此 r ˉ π \bar r_\pi rˉπ 是唯一的。
因此,我们可以计算 r ˉ π \bar r_\pi rˉπ 未折扣情况下的梯度。
另外,因为 v π v_\pi vπ 不是唯一的,所以 v ˉ π \bar v_\pi vˉπ 也不是唯一的。
我们不研究未折扣情况下 v ˉ π \bar v_\pi vˉπ 的梯度。
对于感兴趣的读者,值得一提的是,我们可以添加更多的约束来唯一地从泊松方程解 v π v_\pi vπ
例如,假设存在循环状态,则可以确定该循环状态的状态值[65,Section II],从而可以确定 c c c
也有其他的方法来确定。例如,参见 [2] 中的式 (8.6.5)-(8.6.7)。

定理 9.5 无折扣情形下 r ˉ π \bar r_\pi rˉπ 的梯度

在无折扣情形下, r ˉ π \bar r_\pi rˉπ 的梯度为:
∇ θ r ˉ π = ∑ s ∈ S d π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ]            ( 9.28 ) \begin{aligned}\nabla_\theta \bar r_\pi&=\sum\limits_{s\in {\cal S}}d_\pi(s)\sum\limits_{a\in {\cal A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a)\\ &={\mathbb E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)]~~~~~~~~~~(9.28)\end{aligned} θrˉπ=sSdπ(s)aAθπ(as,θ)qπ(s,a)=E[θlnπ(AS,θ)qπ(S,A)]          (9.28)

  • 其中 S ∼ d π S\sim d_\pi Sdπ A ∼ π ( S , θ ) A\sim \pi(S,\theta) Aπ(S,θ)
      ~  

严格成立,且 S S S 符合平稳分布。

Box 9.6: Proof of Theorem 9.5

首先, 有 v π ( s ) = ∑ a ∈ A π ( a ∣ s , θ ) q π ( s , a ) v_\pi(s)=\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)q_\pi(s,a) vπ(s)=aAπ(as,θ)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.29 ) \begin{aligned}\nabla_\theta v_\pi(s)&=\nabla_\theta\Big[\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)q_\pi(s,a)\Big]\\ &=\sum\limits_{a\in {\cal A}}\Big[\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)+\pi(a|s,\theta)\nabla_\theta q_\pi(s,a)\Big]\end{aligned}~~~~~~~~~~(9.29) θvπ(s)=θ[aAπ(as,θ)qπ(s,a)]=aA[θπ(as,θ)qπ(s,a)+π(as,θ)θqπ(s,a)]          (9.29)
  ~  
其中 动作价值 q π ( s , a ) = ∑ r p ( r ∣ s , a ) ( r − r ˉ π ) + ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) = r ( s , a ) − r ˉ π + ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) \begin{aligned}q_\pi(s,a)&=\sum\limits_r p(r|s,a)(r-\bar r_\pi)+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\pi(s^\prime)\\ &=r(s,a)-\bar r_\pi+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\pi(s^\prime)\end{aligned} qπ(s,a)=rp(rs,a)(rrˉπ)+sp(ss,a)vπ(s)=r(s,a)rˉπ+sp(ss,a)vπ(s)

  • 最后一个等号中: ∑ r p ( r ∣ s , a ) r = r ( s , a ) ,     ∑ r p ( r ∣ s , a ) ⏟ 1 r ˉ π = r π \sum\limits_r p(r|s,a)r=r(s,a),~~~\underbrace{\sum\limits_r p(r|s,a)}_{1}\bar r_\pi= r_\pi rp(rs,a)r=r(s,a),   1 rp(rs,a)rˉπ=rπ
      ~  
    ∇ θ q π ( s , a ) = 0 − ∇ θ r ˉ π + ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) \nabla_\theta q_\pi(s,a)=0-\nabla_\theta\bar r_\pi+\sum\limits_{s^\prime}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime) θqπ(s,a)=0θrˉπ+sp(ss,a)θvπ(s)

代回式 (9.29)
  ~  
∇ θ v π ( s ) = ∑ a ∈ A [ ∇ θ π ( a ∣ s , θ ) q π ( s , a ) + π ( a ∣ s , θ ) ( − ∇ θ r ˉ π + ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) ) ] = ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) − ∇ θ r ˉ π + ∑ a ∈ A π ( a ∣ s , θ ) ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ )            ( 9.30 ) \begin{aligned}\nabla_\theta v_\pi(s)&=\sum\limits_{a\in {\cal A}}\Big[\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)+\pi(a|s,\theta)\Big(-\nabla_\theta\bar r_\pi+\sum\limits_{s^\prime}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime)\Big)\Big]\\ &=\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)-\nabla_\theta\bar r_\pi+\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)\sum\limits_{s^\prime}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime)~~~~~~~~~~(9.30)\end{aligned} θvπ(s)=aA[θπ(as,θ)qπ(s,a)+π(as,θ)(θrˉπ+sp(ss,a)θvπ(s))]=aAθπ(as,θ)qπ(s,a)θrˉπ+aAπ(as,θ)sp(ss,a)θvπ(s)          (9.30)
  ~  
u ( s ) ≐ ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) u(s)\doteq \sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)q_\pi(s,a) u(s)aAθπ(as,θ)qπ(s,a)
  ~  
因为 ∑ a ∈ A π ( a ∣ s , θ ) ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) = ∑ s ′ ∈ S p ( s ′ ∣ s ) ∇ θ v π ( s ′ ) \sum\limits_{a\in{\cal A}}\pi(a|s,\theta)\sum\limits_{s^\prime\in {\cal S}}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime)=\sum\limits_{s^\prime\in {\cal S}}p(s^\prime|s)\nabla_\theta v_\pi(s^\prime) aAπ(as,θ)sSp(ss,a)θvπ(s)=sSp(ss)θvπ(s)
  ~  
将 式 (9.30) 写成 矩阵形式:
[ ⋮ ∇ θ v π ( s ) ⋮ ] ⏟ ∇ θ v π ∈ R m n = [ ⋮ u ( s ) ⋮ ] ⏟ u ∈ R m n − 1 n ⊗ ∇ θ r ˉ π + ( P π ⊗ I m ) [ ⋮ ∇ θ v π ( s ′ ) ⋮ ] ⏟ ∇ θ v π ∈ R m n \underbrace{\begin{bmatrix}\vdots\\ \nabla_\theta v_\pi(s)\\ \vdots\\\end{bmatrix}}_{\nabla_\theta v_\pi \in{\mathbb R}^{mn}}=\underbrace{\begin{bmatrix}\vdots\\ u(s)\\ \vdots\\\end{bmatrix}}_{u\in{\mathbb R}^{mn}}-{\bf 1}_n\otimes \nabla_\theta \bar r_\pi+(P_\pi \otimes I_m) \underbrace{\begin{bmatrix}\vdots\\ \nabla_\theta v_\pi(s^\prime)\\ \vdots\\\end{bmatrix}}_{\nabla_\theta v_\pi \in{\mathbb R}^{mn}} θvπRmn θvπ(s) =uRmn u(s) 1nθrˉπ+(PπIm)θvπRmn θvπ(s)
  ~  
简写为:
  ~  
∇ θ v π = u − 1 n ⊗ ∇ θ r ˉ π + ( P π ⊗ I m ) ∇ θ v π \nabla_\theta v_\pi=u-{\bf 1}_n\otimes \nabla_\theta \bar r_\pi+(P_\pi\otimes I_m)\nabla_\theta v_\pi θvπ=u1nθrˉπ+(PπIm)θvπ

  • 其中 n = ∣ S ∣ n=|\cal S| n=S m m m 为参数向量 θ \theta θ 的维度。
      ~  

1 n ⊗ ∇ θ r ˉ π = u + ( P π ⊗ I m ) ∇ θ v π − ∇ θ v π {\bf 1}_n\otimes \nabla_\theta \bar r_\pi=u+(P_\pi\otimes I_m)\nabla_\theta v_\pi-\nabla_\theta v_\pi 1nθrˉπ=u+(PπIm)θvπθvπ
  ~  
两边同乘 d π T ⊗ I m d_\pi^T\otimes I_m dπTIm
d π T ⊗ I m 1 n ⊗ ∇ θ r ˉ π = d π T ⊗ I m u + d π T ⊗ I m ( P π ⊗ I m ) ∇ θ v π − d π T ⊗ I m ∇ θ v π d_\pi^T\otimes I_m{\bf 1}_n\otimes \nabla_\theta \bar r_\pi =d_\pi^T\otimes I_mu+d_\pi^T\otimes I_m(P_\pi\otimes I_m)\nabla_\theta v_\pi-d_\pi^T\otimes I_m\nabla_\theta v_\pi dπTIm1nθrˉπ=dπTImu+dπTIm(PπIm)θvπdπTImθvπ
  ~  
d π T 1 n ⊗ ∇ θ r ˉ π = d π T ⊗ I m u d_\pi^T{\bf 1}_n\otimes \nabla_\theta \bar r_\pi =d_\pi^T\otimes I_mu dπT1nθrˉπ=dπTImu
  ~  
∇ θ r ˉ π = d π T ⊗ I m u = ∑ s ∈ S d π ( s ) u ( s )          参考式  ( 9.30 )  的矩阵形式记法 = ∑ s ∈ S d π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \begin{aligned}\nabla_\theta \bar r_\pi &=d_\pi^T \otimes I_m u\\ &=\sum\limits_{s\in {\cal S}}d_\pi(s)u(s)~~~~~~~~\textcolor{blue}{参考 式~(9.30)~的矩阵形式记法}\\ &=\sum\limits_{s\in {\cal S}}d_\pi(s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)\end{aligned} θrˉπ=dπTImu=sSdπ(s)u(s)        参考式 (9.30) 的矩阵形式记法=sSdπ(s)aAθπ(as,θ)qπ(s,a)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2171370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见框架漏洞复现

1、Thinkphp5x远程命令执行及getshell 1、环境配置 靶场:vulhub/thinkphp/5-rce docker-compose up -d 2、漏洞利用 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖&#xff0c;通过覆盖类的核心属性filter导致rce&#xff0c;其攻击点较为…

C++的vector优化

1、C中的动态数组一般是特指vector类 2、vector需要优化的原因之一是当我们push_back元素到数组中时&#xff0c;如果原来分配给动态数组的内存不够用了&#xff0c;那么就会找一块更大的内存空间分配给数组&#xff0c;把旧的内容复制到新的内存中去&#xff0c;这就是导致程…

过流会导致并联电容损坏吗

在电子元器件领域&#xff0c;电容作为重要的储能元件&#xff0c;广泛应用于电路滤波、耦合、解耦等多种场合。然而&#xff0c;当电流超过其额定容量时&#xff0c;过流现象可能对电容造成严重的损坏&#xff0c;特别是在并联电容的应用场景下。这是什么原因呢&#xff1f;一…

考研数据结构——C语言实现归并排序

包含头文件&#xff1a;程序首先包含了标准输入输出库stdio.h&#xff0c;以便使用printf等函数进行输入输出操作。 定义数组和数组大小&#xff1a;定义了一个宏N&#xff0c;其值为5&#xff0c;表示数组q的长度。数组q被初始化为{5, 3, 8, 4, 2}&#xff0c;这是我们要排序…

高性能计算应用优化实践之WRF

WRF&#xff08;Weather Research Forecast&#xff09;模式是由美国国家大气研究中心&#xff08;NCAR&#xff09;、国家环境预报中心&#xff08;NCEP&#xff09;等机构自1997年起联合开发的新一代高分辨率中尺度天气研究预报模式&#xff0c;重点解决分辨率为1&#xff5e…

Android 热点分享二维码功能简单介绍

Android 热点分享二维码 文章目录 Android 热点分享二维码一、前言二、热点二维码1、热点分享的字符串2、代码中热点字符串拼接和设置示例3、一个图片示例 三、其他1、Android 热点分享二维码小结2、Android11 设置默认热点名称和热点密码、密码长度 一、前言 比较新的Android…

智慧教育新篇章:AI如何改变英语学习方式

斯坦福大学最新发布的《2024年人工智能指数报告》指出&#xff0c;2023年全球范围内新推出的大型语言模型数量实现了翻倍增长。人工智能越来越多的被公众使用&#xff0c;并对生产力提升和就业市场产生了深远影响。作为发展新质生产力的重要引擎&#xff0c;人工智能正逐渐渗透…

React表单:formik、final-form和react-hook-form

表单无处不在&#xff0c;它是每个网站的必备部分。在用React构建web应用时&#xff0c;处理表单是不可避免的。 你可以选择自己的方式来处理&#xff0c;或者选择社区中现成的库。然而&#xff0c;当你选择一个第三方库时&#xff0c;你会立即面临一个问题&#xff1a;有太多的…

一文彻底掌握inout双向端口

inout端口信号在FPGA中应用还是很广泛的&#xff0c;特别是一些总线通信、数据交互的场景&#xff0c;比如i2c、spi等等。 一、inout的基本概念 Inout 端口的实现基础是三态门。 三态门具有三种输出状态&#xff0c;即高电平、低电平以及高阻态&#xff08;Z&#xff09;。 …

win11下 keil报错Cannot load driver ‘D:\Keil_v5\ARM\Segger\JL2CM3.dll‘

现象 更新系统后&#xff08;win10->win11&#xff09;,发现Keil编译或者调试居然报错了&#xff1a; 但是在该路径下&#xff0c;还是能找到JL2CM3.dll这个文件的 解决方法 进入系统环境变量设置 在Path添加环境变量JL2CM3.dll所在路径&#xff0c;我这里就是‘D:\Keil_v…

中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系

2024年9月27日&#xff0c;中国新媒体联盟与中运律师事务所举行战略合作协议签字仪式。中国新媒体联盟主任兼中国社会新闻网主编、中法新闻法制网运营中心主任左新发&#xff0c;中运律师事务所高级顾问刘学伟代表双方单位签字。 中国新媒体联盟是由央视微电影中文频道联合多家…

jupyter使用pytorch

1、激活环境 以下所有命令都在Anaconda Prompt中操作。 conda activate 环境名称我的环境名称是myenv 如果不知道自己的pytorch配在哪个环境&#xff0c;就用下面方法挨个试。 2、安装jupyter 1、安装 pip install jupyter2、如果已经安装&#xff0c;检查jupyter是否已…

第五部分:5---三张信号表,信号表的系统调用

目录 信号的递达、未决、阻塞&#xff1a; 进程维护的三张信号表&#xff1a; 普通信号与实时信号的记录&#xff1a; 信号结构的系统调用&#xff1a; bolck表的系统调用&#xff1a; 实例&#xff1a;设置屏蔽信号集中的所有信号都频闭 pending表读取&#xff1a; 信号…

第一本RAG书籍《大模型RAG实战》出版!

随着ChatGPT的爆火&#xff0c;推动了新一轮的AI技术进步。但大模型自身存在幻觉、知识更新难等问题&#xff0c;阻碍了其直接进行落地应用。RAG&#xff08;Retrieval-Augmented Generation&#xff09;技术将LLM与文本信息检索相结合&#xff0c;解决了在一些场景下模型知识不…

数字人直播违规原因究竟是什么?哪些技术可以解决?

随着人工智能时代的来临&#xff0c;以数字人直播为代表的技术应用逐渐被各大中小型企业引进&#xff0c;并成为了它们在直播板块降本增效的利器。不过&#xff0c;从目前的应用情况来看&#xff0c;不少企业都在使用数字人无人直播的过程中遭遇了违规封号的问题。在此背景下&a…

每天分享一个FPGA开源代码(7)- 6种乘法运算实现

​ FPGA开发中经常会遇到各种乘法运算。 这里分享下各种实现&#xff1a; Array Multiplier&#xff08;阵列乘法器&#xff09;、Complex Multiplier&#xff08;复数乘法器&#xff09;、Fraction Multiplier&#xff08;分数乘法器&#xff09;、High Radix Multiplier&a…

基于大数据技术的音乐数据分析及可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

rk3588s android12 自启动 C程序

首先是 拷贝 TEST程序 到android跟文件系统看看能否成功。 首先将需要 在android 系统中 启动的 TEST 程序,拷贝到虚拟机。 这个程序 然后需要拷贝到 android 的文件系统中。 我是这样做的。 改的是这个文件。 然后, 编译+烧写测试。 发现, 在android 系…

detectron2是怎么建立模型的?以SparseInst代码为例

看SparseInst论文发现论文里有些地方没讲清楚&#xff1b;遂找SparseInst源码来看模型结构 我选择从推理代码来找模型结构&#xff1a; 经探索&#xff0c;在SparseInst代码里&#xff0c;推理需要执行代码 python demo.py --config-file configs/sparse_inst_r50_base.yaml …

Verilog基础:时序调度中的竞争(四)(描述时序逻辑时使用非阻塞赋值)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 作为一个硬件描述语言&#xff0c;Verilog HDL常常需要使用语句描述并行执行的电路&#xff0c;但其实在仿真器的底层&#xff0c;这些并行执行的语句是有先后顺序…