《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch9 策略梯度方法 -9.3.1

ops/2024/11/17 22:30:41/

之前看了 2 次视频,公式有点多, 还是没整理出来。
这个版本是以下步骤后的版本

  • 基本把相关的核心论文过了一遍,代码整理了部分
  • PDF 资料 整理 v3 链接
  • 视频 链接
  • 习题 策略梯度方法需要估计值

函数近似: 状态/动作 价值、策略

参数化的策略: π ( a ∣ s , θ ) \pi(a|s,\theta) π(as,θ),其中 θ ∈ R m \theta\in{\mathbb R}^m θRm 是一个参数向量

其它形式: π θ ( s , a ) \pi_\theta(s,a) πθ(s,a) π ( a , s , θ ) \pi(a,s,\theta) π(a,s,θ)

在这里插入图片描述
策略梯度法的优点:它在处理大的状态/动作空间时更有效。它具有更强的泛化能力,因此在样本使用方面更有效。

9.1 策略表示: 表格 ——> 函数

表示形式表格函数
如何定义最优策略?如果策略可以最大化每个状态的价值,则将其定义为最优策略。如果策略可以最大化某些标量指标,则将其定义为最优策略。
如何更新策略?直接更改表中的条目改变参数 θ θ θ
如何检索一个动作的概率?查找表中的相应条目在函数中输入 ( s , a ) (s, a) (s,a) 来计算其概率(见图 9.2(a))。
根据函数的结构,我们还可以输入一个状态,然后输出所有动作的概率(见图 9.2(b))。[见 下图]

在这里插入图片描述

假设 J ( θ ) J(\theta) J(θ) 是一个标量度量

θ t + 1 = θ t + α ∇ θ J ( θ t ) \theta_{t+1}=\theta_t+\alpha\nabla_\theta J(\theta_t) θt+1=θt+αθJ(θt)

∇ θ J \nabla_\theta J θJ J J J 关于 θ \theta θ 的梯度
t t t: 时间步
α \alpha α: 优化学习率

接下来回答 3 个问题:

  • 应该使用什么指标? (9.2 节)
  • 如何计算指标的梯度? (9.3 节)
  • 如何使用经验样本计算梯度? (9.4 节)

9.2 定义最优策略 的指标

基于状态价值
基于即时奖励

指标 1: 状态价值 的加权平均

v ˉ π = ∑ s ∈ S d ( s ) v π ( s ) \bar v_\pi=\sum\limits_{s\in{\cal S}}d(s)v_\pi(s) vˉπ=sSd(s)vπ(s)

其中 d ( s ) d(s) d(s) 为状态 s s s 的权值。

  • 满足 对任意 s ∈ S s\in {\cal S} sS, 均有 d ( s ) ≥ 0 d(s)\geq 0 d(s)0,且 ∑ s ∈ S d ( s ) = 1 \sum_{s\in{\cal S}}d(s)=1 sSd(s)=1
  • d ( s ) d(s) d(s) s s s 的概率分布, 状态 s s s 被选中的概率。

v ˉ π = E S ∈ d [ v π ( S ) ] \bar v_\pi={\mathbb E}_{S\in d}[v_\pi(S)] vˉπ=ESd[vπ(S)]

如何选择 d ( s ) d(s) d(s) ?

情形 1: d d d 与 策略 π \pi π 无关。

  • 认为所有状态同等重要: d 0 ( s ) = 1 ∣ S ∣ d_0(s)=\frac{1}{|\cal S|} d0(s)=S1
  • 只对特定的某个状态 s 0 s_0 s0 感兴趣。 (极端情况: 代理总是 从 状态 s 0 s_0 s0 开始)。 d 0 ( s 0 ) = 1 , d 0 ( s ≠ s 0 ) = 0 d_0(s_0)=1,~~~~~~d_0(s\neq s_0)=0 d0(s0)=1,      d0(s=s0)=0
    v ˉ π = v π ( s 0 ) \bar v_\pi=v_\pi(s_0) vˉπ=vπ(s0)

情形 2: d d d 依赖于 策略 π \pi π
d π d_\pi dπ: 策略 π \pi π 下的平稳分布

d π T P π = d π T d_\pi^TP_\pi=d_\pi^T dπTPπ=dπT

其中 P π P_\pi Pπ 是状态转移概率矩阵

〔 主要是计算关于 θ \theta θ 的梯度时有区别。〕

Box 8.1: 关于 平稳分布

已整理的文档 链接

平稳分布 反映了马尔可夫过程在给定策略下的长期行为。

  • 如果一个状态长期被频繁访问,那么它就更重要,应该得到更高的权重;
  • 如果一个状态很少被访问,那么它的重要性很低,应该得到较低的权重。

v ˉ π \bar v_\pi vˉπ: 状态价值的权重平均

v ˉ π \bar v_\pi vˉπ 在文献中的另两种形式
————————
形式一: J ( θ ) = E [ ∑ t = 0 ∞ γ t R t + 1 ] J(\theta)={\mathbb E}\bigg[\sum\limits_{t=0}^\infty\gamma^tR_{t+1}\bigg] J(θ)=E[t=0γtRt+1]
~  
E [ ∑ t = 0 ∞ γ t R t + 1 ] = ∑ s ∈ S d ( s ) E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s ] = ∑ s ∈ S d ( s ) v π ( s ) = v ˉ π \begin{aligned}{\mathbb E}\bigg[\sum\limits_{t=0}^\infty\gamma^tR_{t+1} \bigg]&=\textcolor{blue}{\sum\limits_{s\in{\cal S}}d(s)}{\mathbb E}\bigg[\sum\limits_{t=0}^\infty\gamma^tR_{t+1}\bigg|\textcolor{blue}{S_0=s} \bigg]\\ &=\sum\limits_{s\in{\cal S}}d(s)\textcolor{blue}{v_\pi(s)}\\ &=\bar v_\pi\end{aligned} E[t=0γtRt+1]=sSd(s)E[t=0γtRt+1 S0=s]=sSd(s)vπ(s)=vˉπ
~  
在这里插入图片描述
————————
形式二:两个向量的内积
v π = [ ⋯ , v π ( s ) , ⋯ ] T ∈ R ∣ S ∣ v_\pi=[\cdots,v_\pi(s),\cdots]^T~~\in {\mathbb R}^{|\cal S|} vπ=[,vπ(s),]T  RS
d = [ ⋯ , d ( s ) , ⋯ ] T ∈ R ∣ S ∣ d=[\cdots,d(s),\cdots]^T~~\in {\mathbb R}^{|\cal S|} d=[,d(s),]T  RS
~  
v ˉ π = d T v π \bar v_\pi=d^Tv_\pi vˉπ=dTvπ

在这里插入图片描述

指标 2: 平均一步奖励

平均 one-step 奖励

r ˉ π ≐ ∑ s ∈ S d π ( s ) r π ( s ) = E S ∼ d π [ r π ( S ) ] \begin{aligned}\bar r_\pi&\doteq \sum\limits_{s\in {\cal S}}d_\pi(s)r_\pi(s)\\ &={\mathbb E}_{S\sim d_\pi}[r_\pi(S)]\end{aligned} rˉπsSdπ(s)rπ(s)=ESdπ[rπ(S)]

  • 其中 d π d_\pi dπ 为平稳分布

r π ( s ) ≐ ∑ a ∈ A π ( a ∣ s , θ ) r ( s , a ) = E A ∼ π ( s , θ ) [ r ( s , A ) ∣ s ] r_\pi(s)\doteq\sum\limits_{a\in{\cal A}}\pi(a|s,\theta)r(s,a)={\mathbb E}_{A\sim\pi(s,\theta)}[r(s,A)|s]~~~~~ rπ(s)aAπ(as,θ)r(s,a)=EAπ(s,θ)[r(s,A)s]      即时奖励的期望

后面的 A A A 和 前面的 a a a 的区别是? ——> a a a 来自状态 s s s 的可选动作集合 A \cal A A A A A 抽样自 π ( s , θ ) \pi(s,\theta) π(s,θ)
——> 这样转换的目的是? ——> 计算

r ( s , a ) ≐ E [ R ∣ s , a ] = ∑ r r p ( r ∣ s , a ) r(s,a)\doteq {\mathbb E}[R|s,a]=\sum_rrp(r|s,a) r(s,a)E[Rs,a]=rrp(rs,a)

在这里插入图片描述

r ˉ π \bar r_\pi rˉπ 在文献中的另两种形式
————————
形式一: J ( θ ) = lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ] J(\theta)=\lim\limits_{n\to\infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}\bigg]~~~~~~~ J(θ)=nlimn1E[t=0n1Rt+1]        平均奖励
~  
lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ] = ∑ s ∈ S d π ( s ) r π ( s ) = r ˉ π \begin{aligned}\lim\limits_{n\to\infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}\bigg]&=\sum\limits_{s\in{\cal S}}d_\pi(s)r_\pi(s)\\ &=\bar r_\pi\end{aligned}~~~~~~ nlimn1E[t=0n1Rt+1]=sSdπ(s)rπ(s)=rˉπ      Box 9.1:证明
————————
形式二:两个向量的内积
r π = [ ⋯ , r π ( s ) , ⋯ ] T ∈ R ∣ S ∣ r_\pi=[\cdots,r_\pi(s),\cdots]^T~~\in {\mathbb R}^{|\cal S|} rπ=[,rπ(s),]T  RS
d π = [ ⋯ , d π ( s ) , ⋯ ] T ∈ R ∣ S ∣ d_\pi=[\cdots,d_\pi(s),\cdots]^T~~\in {\mathbb R}^{|\cal S|} dπ=[,dπ(s),]T  RS
~  
r ˉ π = ∑ s ∈ S d π ( s ) r π ( s ) = d π T r π \bar r_\pi=\sum\limits_{s\in{\cal S}}d_\pi(s)r_\pi(s)=d_\pi^Tr_\pi rˉπ=sSdπ(s)rπ(s)=dπTrπ

在这里插入图片描述

跑了无穷多步后,从哪里开始变得无关紧要。

在这里插入图片描述

r ˉ π \bar r_\pi rˉπ: 是对 即时奖励求平均,不求 return,因而也无需考虑 折扣因子 γ \gamma γ
则 不管是折扣情形还是无折扣情形,式子均保持一致。〕

Box 9.1:证明 式 (9.5)

在这里插入图片描述
证明:

对任意状态分布 d d d

lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ] = lim ⁡ n → ∞ 1 n ∑ s ∈ S d ( s ) E [ ∑ t = 0 n − 1 R t + 1 ∣ S 0 = s ] = ∑ s ∈ S d ( s ) lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ∣ S 0 = s ] ⏟ 观察发现若是能证明该式  = r ˉ π ,则证毕 = ∑ s ∈ S d ( s ) r ˉ π = r ˉ π \begin{aligned}\lim\limits_{n\to \infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}\bigg]&=\lim\limits_{n\to \infty}\frac{1}{n}\textcolor{blue}{\sum\limits_{s\in {\cal S}}d(s)}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}|\textcolor{blue}{S_0=s}\bigg]\\ &=\sum\limits_{s\in {\cal S}}d(s)\underbrace{\lim\limits_{n\to \infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}|S_0=s\bigg]}_{观察发现若是能证明该式~=~\bar r_\pi,则证毕}\\ &=\sum\limits_{s\in {\cal S}}d(s)\bar r_\pi\\ &=\bar r_\pi\end{aligned} nlimn1E[t=0n1Rt+1]=nlimn1sSd(s)E[t=0n1Rt+1S0=s]=sSd(s)观察发现若是能证明该式 = rˉπ,则证毕 nlimn1E[t=0n1Rt+1S0=s]=sSd(s)rˉπ=rˉπ

接下来,只需证明 下式 对任意起始状态 s 0 ∈ S s_0\in{\cal S} s0S 成立

lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ∣ S 0 = s 0 ] = r ˉ π ( 9.6 ) \lim\limits_{n\to \infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}|S_0=s_0\bigg]=\bar r_\pi~~~~~~~~~~(9.6) nlimn1E[t=0n1Rt+1S0=s0]=rˉπ          (9.6)

lim ⁡ n → ∞ 1 n E [ ∑ t = 0 n − 1 R t + 1 ∣ S 0 = s 0 ] = lim ⁡ n → ∞ 1 n ∑ t = 0 n − 1 E [ R t + 1 ∣ S 0 = s 0 ] = lim ⁡ t → ∞ E [ R t + 1 ∣ S 0 = s 0 ] \begin{aligned}\lim\limits_{n\to \infty}\frac{1}{n}{\mathbb E}\bigg[\sum\limits_{t=0}^{n-1}R_{t+1}|S_0=s_0\bigg]&=\lim\limits_{n\to \infty}\frac{1}{n}\sum\limits_{t=0}^{n-1}\textcolor{blue}{{\mathbb E}}\big[R_{t+1}|S_0=s_0\big]\\ &=\lim\limits_{t\to\infty}{\mathbb E}[R_{t+1}|S_0=s_0]\end{aligned} nlimn1E[t=0n1Rt+1S0=s0]=nlimn1t=0n1E[Rt+1S0=s0]=tlimE[Rt+1S0=s0]

Cesaro 均值 〔Cesaro mean / Cesaro summation〕

  • 如果 { a k } k = 1 ∞ \{a_k\}_{k=1}^\infty {ak}k=1 是一个收敛序列,则 lim ⁡ k → ∞ a k \lim\limits_{k\to\infty}a_k klimak 存在;
  • { 1 n ∑ k = 1 n a k } n = 1 ∞ \bigg\{\frac{1}{n}\sum\limits_{k=1}^n a_k\bigg\}_{n=1}^\infty {n1k=1nak}n=1 也是一个收敛数列,使得 lim ⁡ n → ∞ 1 n ∑ k = 1 n a k = lim ⁡ k → ∞ a k \lim\limits_{n\to\infty}\frac{1}{n}\sum\limits_{k=1}^n a_k=\lim\limits_{k\to\infty}a_k nlimn1k=1nak=klimak

E [ R t + 1 ∣ S 0 = s 0 ] = ∑ s ∈ S E [ R t + 1 ∣ S t = s , S 0 = s 0 ] p ( t ) ( s ∣ s 0 ) = ∑ s ∈ S E [ R t + 1 ∣ S t = s ] p ( t ) ( s ∣ s 0 ) 马尔可夫无记忆性 = ∑ s ∈ S r π ( s ) p ( t ) ( s ∣ s 0 ) \begin{aligned}{\mathbb E}[R_{t+1}|S_0=s_0]&=\sum\limits_{s\in{\cal S}}{\mathbb E}[R_{t+1}|S_t=s, S_0=s_0]p^{(t)}(s|s_0)\\ &=\sum\limits_{s\in{\cal S}}{\mathbb E}[R_{t+1}|S_t=s]p^{(t)}(s|s_0)~~~~~\textcolor{blue}{马尔可夫无记忆性}\\ &=\sum\limits_{s\in{\cal S}}\textcolor{blue}{r_\pi(s)}p^{(t)}(s|s_0)\end{aligned} E[Rt+1S0=s0]=sSE[Rt+1St=s,S0=s0]p(t)(ss0)=sSE[Rt+1St=s]p(t)(ss0)     马尔可夫无记忆性=sSrπ(s)p(t)(ss0)

  • 其中 p ( t ) ( s ∣ s 0 ) p^{(t)}(s|s_0) p(t)(ss0) 表示从 s 0 s_0 s0 转移到 s s s 恰好经过 t t t 个时间步的概率。

马尔可夫无记忆性:下一个时间步获得的奖励只取决于当前状态,而不取决于前一个状态。

根据平稳分布的定义, 有 lim ⁡ t → ∞ p ( t ) ( s ∣ s 0 ) = d π ( s ) \lim\limits_{t\to \infty}p^{(t)}(s|s_0)=d_\pi(s) tlimp(t)(ss0)=dπ(s)
因此, 起始状态 s 0 s_0 s0 无影响,则

lim ⁡ t → ∞ E [ R t + 1 ∣ S 0 = s 0 ] = lim ⁡ t → ∞ ∑ s ∈ S r π ( s ) p ( t ) ( s ∣ s 0 ) = ∑ s ∈ S r π ( s ) d π ( s ) = r ˉ π \lim\limits_{t\to\infty}{\mathbb E}[R_{t+1}|S_0=s_0]=\lim\limits_{t\to\infty}\sum\limits_{s\in{\cal S}}r_\pi(s)p^{(t)}(s|s_0)=\sum\limits_{s\in{\cal S}}r_\pi(s)d_\pi(s)=\bar r_\pi tlimE[Rt+1S0=s0]=tlimsSrπ(s)p(t)(ss0)=sSrπ(s)dπ(s)=rˉπ

得证。

Lemma 9.1:证明 r ˉ π = ( 1 − γ ) v ˉ π \bar r_\pi=(1-\gamma)\bar v_\pi rˉπ=(1γ)vˉπ

引理 9.1 ( v ˉ π ( θ ) \bar v_\pi(\theta) vˉπ(θ) r ˉ π ( θ ) \bar r_\pi(\theta) rˉπ(θ) 的等效性):
当折扣因子 γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ(0,1) 时, 有 r ˉ π = ( 1 − γ ) v ˉ π \bar r_\pi=(1-\gamma)\bar v_\pi rˉπ=(1γ)vˉπ

r ˉ π \bar r_\pi rˉπ: 近视,仅考虑 即时奖励
v ˉ π \bar v_\pi vˉπ : 考虑全部时间步的总奖励 〕

证明:

注意到 v ˉ π ( θ ) = d π T v π \bar v_\pi(\theta)=d_\pi^Tv_\pi vˉπ(θ)=dπTvπ r ˉ π ( θ ) = d π T r π \bar r_\pi(\theta)=d_\pi^Tr_\pi rˉπ(θ)=dπTrπ
其中 v π v_\pi vπ r π r_\pi rπ 满足 贝尔曼公式 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 v π = d π T r π + γ d π T P π v π d_\pi^Tv_\pi=d_\pi^Tr_\pi+\gamma d_\pi^T P_\pi v_\pi dπTvπ=dπTrπ+γdπTPπvπ
~  
v ˉ π = r ˉ π + γ d π T P π ⏟ 式  ( 8.10 ) , = d π T v π = r ˉ π + γ d π T v π = r ˉ π + γ v ˉ π \bar v_\pi=\bar r_\pi+\gamma \underbrace{d_\pi^T P_\pi}_{式 ~(8.10), ~=d_\pi^T } v_\pi=\bar r_\pi+\gamma d_\pi^T v_\pi=\bar r_\pi+\gamma \bar v_\pi vˉπ=rˉπ+γ (8.10), =dπT dπTPπvπ=rˉπ+γdπTvπ=rˉπ+γvˉπ

整理即得 r ˉ π = ( 1 − γ ) v ˉ π \bar r_\pi=(1-\gamma)\bar v_\pi rˉπ=(1γ)vˉπ。 证毕。

9.3 指标的梯度

定理 9.1 (策略梯度理论)
J ( θ ) J(\theta) J(θ) 的梯度为: ∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) ( 9.8 ) \nabla_\theta J(\theta)=\sum\limits_{s\in{\cal S}}\eta (s)\sum\limits_{a\in{\cal A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a)~~~~~~~~~~(9.8) θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)          (9.8)

  • 其中 η \eta η 是状态分布
  • ∇ θ π \nabla_\theta \pi θπ π \pi π 关于 θ \theta θ 的梯度

另一种形式: ∇ θ 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)}\Big[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\Big]~~~~~~~~~~(9.9) θJ(θ)=ESη,Aπ(S,θ)[θlnπ(AS,θ)qπ(S,A)]          (9.9)

η \eta η 在不同的场景可能不同。

在这里插入图片描述

⭐⭐⭐ 式(9.8) 可用 式(9.9) 表示
~  
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E S ∼ η [ ∑ a ∈ A ∇ θ π ( a ∣ S ) q π ( S , a ) ] \begin{aligned}\nabla_\theta J(\theta)&=\sum\limits_{s\in{\cal S}}\eta (s)\sum\limits_{a\in{\cal A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a)\\ &={\mathbb E}_{S\sim \eta}\bigg[\sum\limits_{a\in {\cal A}}\nabla _\theta \pi(a|S)q_\pi(S,a)\bigg]\end{aligned} θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)=ESη[aAθπ(aS)qπ(S,a)]

  • 转成 期望,便于使用 梯度下降 之类的方法

此外 ∇ θ ln ⁡ π ( a ∣ s , θ ) = ∇ θ π ( a ∣ s , θ ) π ( a ∣ s , θ ) \nabla_\theta \ln\pi(a|s,\theta)=\frac{\nabla_\theta \pi(a|s,\theta)}{\pi(a|s,\theta)} θlnπ(as,θ)=π(as,θ)θπ(as,θ)
即有 ∇ θ π ( a ∣ s , θ ) = π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) \nabla_\theta \pi(a|s,\theta)=\pi(a|s,\theta)\nabla_\theta \ln\pi(a|s,\theta) θπ(as,θ)=π(as,θ)θlnπ(as,θ)
则原式
∇ θ J ( θ ) = E S ∼ η [ ∑ a ∈ A π ( a ∣ S , θ ) ∇ θ ln ⁡ π ( a ∣ S , θ ) ⏟ ∇ θ π ( a ∣ S , θ ) q π ( S , a ) ] = E S ∼ η , A ∼ π ( S , θ ) [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned}\nabla_\theta J(\theta)&={\mathbb E}_{S\sim \eta}\bigg[\sum\limits_{a\in {\cal A}}\underbrace{\textcolor{blue}{\pi(a|S,\theta)\nabla_\theta \ln\pi(a|S,\theta)}}_{\nabla_\theta \pi(a|S,\theta)}q_\pi(S,a)\bigg]\\ &={\mathbb E}_{S\sim \eta,A\sim\pi(S,\theta)}\bigg[\nabla_\theta \ln\pi(A|S,\theta)q_\pi(S,A)\bigg]\end{aligned} θJ(θ)=ESη[aAθπ(aS,θ) π(aS,θ)θlnπ(aS,θ)qπ(S,a)]=ESη,Aπ(S,θ)[θlnπ(AS,θ)qπ(S,A)]

  • π ( a ∣ s , θ ) \pi(a|s,\theta) π(as,θ) 必须为正,保证 ln ⁡ π ( a ∣ s , θ ) \ln \pi(a|s,\theta) lnπ(as,θ) 有效 ——> 使用 softmax 函数 ( − ∞ , ∞ ) → ( 0 , 1 ) (-\infty, \infty) \to(0,1) (,)(0,1) π ( a ∣ s , θ ) = e h ( s , a , θ ) ∑ a ′ ∈ A e h ( s , a ′ , θ ) , a ∈ A ( 9.12 ) \pi(a|s,\theta)=\frac{e^{h(s,a,\theta)}}{\sum\limits_{a^\prime\in{\cal A}}e^{h(s,a^\prime,\theta)}},~~~a\in {\cal A}~~~~~~~~~~(9.12) π(as,θ)=aAeh(s,a,θ)eh(s,a,θ),   aA          (9.12)
  • 式中 h ( s , a , θ ) h(s,a,θ) h(s,a,θ) 是表示 在状态 s s s 时选择 动作 a a a 的偏好的函数。〔 特征函数 〕
    式 (9.12) 中的策略对于任意 s ∈ S s \in {\cal S} sS,满足 π ( a ∣ s , θ ) ∈ ( 0 , 1 ) π(a|s,θ) \in (0,1) π(as,θ)(0,1) Σ a ∈ A π ( a ∣ s , θ ) = 1 Σ_{a\in {\cal A}}\pi(a|s,θ) = 1 ΣaAπ(as,θ)=1,该策略可以通过神经网络实现。网络的输入为 s s s,输出层为 softmax 层,因此网络对所有 a a a 输出 π ( a ∣ s , θ ) π(a|s,θ) π(as,θ),输出之和等于 1。如图 9.2(b) 所示。

在这里插入图片描述

9.3.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|S_t=s] vπ(s)=E[Rt+1+γRt+2+γ2Rt+3+St=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|S_t=s,A_t=a] qπ(s,a)=E[Rt+1+γRt+2+γ2Rt+3+St=s,At=a]

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) 且 状态价值满足贝尔曼公式。
在这里插入图片描述

之前的 引理 9.1 已经证明 r ˉ π ( θ ) = ( 1 − γ ) v ˉ π ( θ ) \bar r_\pi(\theta)=(1-\gamma)\bar v_\pi(\theta) rˉπ(θ)=(1γ)vˉπ(θ)

Lemma 9.2 (Gradient of v π ( s ) v_\pi(s) vπ(s)).
在折扣情形, 对于任意 s ∈ S s\in{\cal S} sS, 有
~  
∇ θ v π ( s ) = ∑ s ′ ∈ S Pr π ( s ′ ∣ s ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) ( 9.14 ) \nabla _\theta v_\pi(s)=\sum\limits_{s^\prime\in{\cal S}}\text{Pr}_\pi(s^\prime|s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s^\prime,\theta)q_\pi(s^\prime,a)~~~~~~~~~~(9.14) θvπ(s)=sSPrπ(ss)aAθπ(as,θ)qπ(s,a)          (9.14)

  • 其中 Pr π ( s ′ ∣ s ) ≐ ∑ k = 0 ∞ γ k [ P π k ] s s ′ = [ ( I n − γ P π ) − 1 ] s s ′ \text{Pr}_\pi(s^\prime|s)\doteq\sum\limits_{k=0}^\infty\gamma^k[P_\pi^k]_{ss^\prime}=[(I_n-\gamma P_\pi)^{-1}]_{ss^\prime} Prπ(ss)k=0γk[Pπk]ss=[(InγPπ)1]ss 是策略 π \pi π 下从 s s s 过渡到 s ′ s^\prime s 的折扣总概率。
    这里, [ ⋅ ] s s ′ [·]_{ss^\prime} []ss 表示第 s s s 行第 s ′ s^\prime s 列的条目, [ P π k ] s s ′ [P_\pi^k]_{ss^\prime} [Pπk]ss 是在 π π π 下恰好经过 k k k 个时间步从 s s s 过渡到 s ′ s' s 的概率。
Lemma 9.2: (Gradient of v π ( s ) v_\pi(s) vπ(s)) 的证明

Box 9.2: Proof of Lemma 9.2
对任意 s ∈ S s\in {\cal S} sS, 有
~  
∇ θ 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 \bigg[\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)q_\pi(s,a)\bigg]\\ &=\sum\limits_{a\in {\cal A}}\bigg[\nabla_\theta \pi(a|s,\theta)·q_\pi(s,a)+\pi(a|s,\theta)\underbrace{\nabla_\theta q_\pi(s,a)}_{\textcolor{blue}{接下来求解这一项}}\bigg]~~~~~~~~~~(9.15)~~~\textcolor{blue}{求导法则}\end{aligned} θvπ(s)=θ[aAπ(as,θ)qπ(s,a)]=aA[θπ(as,θ)qπ(s,a)+π(as,θ)接下来求解这一项 θqπ(s,a)]          (9.15)   求导法则
~  
其中动作价值 q π ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v π ( s ′ ) q_\pi(s,a)=r(s,a)+\gamma\sum\limits_{s^\prime\in{\cal S}}p(s^\prime|s,a)v_\pi(s^\prime) qπ(s,a)=r(s,a)+γsSp(ss,a)vπ(s)
~  
因为 r ( s , a ) = ∑ r r p ( r ∣ s , a ) r(s,a)=\sum\limits_r rp(r|s,a) r(s,a)=rrp(rs,a) θ \theta θ 无关,则
~  
∇ θ q π ( s , a ) = 0 + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) \nabla_\theta q_\pi(s,a)=0 + \gamma \sum\limits_{s^\prime \in {\cal S}}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime) θqπ(s,a)=0+γsSp(ss,a)θvπ(s)
~  
原式
∇ θ v π ( s ) = ∑ a ∈ A [ ∇ θ π ( a ∣ s , θ ) ⋅ q π ( s , a ) + π ( a ∣ s , θ ) γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) ] = ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) ⋅ q π ( s , a ) + γ ∑ a ∈ A π ( a ∣ s , θ ) ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∇ θ v π ( s ′ ) ( 9.16 ) 对每项分别求和 \begin{aligned}\textcolor{blue}{\nabla_\theta v_\pi}(s)&=\sum\limits_{a\in {\cal A}}\bigg[\nabla_\theta \pi(a|s,\theta)·q_\pi(s,a)+\pi(a|s,\theta)\gamma \sum\limits_{s^\prime \in {\cal S}}p(s^\prime|s,a)\nabla_\theta v_\pi(s^\prime)\bigg]\\ &=\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)·q_\pi(s,a)+\gamma\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)\sum\limits_{s^\prime \in {\cal S}}p(s^\prime|s,a)\textcolor{blue}{\nabla_\theta v_\pi}(s^\prime)~~~~~~~~~~(9.16)~~~\textcolor{blue}{对每项分别求和}\end{aligned} θvπ(s)=aA[θπ(as,θ)qπ(s,a)+π(as,θ)γsSp(ss,a)θvπ(s)]=aAθπ(as,θ)qπ(s,a)+γaAπ(as,θ)sSp(ss,a)θvπ(s)          (9.16)   对每项分别求和
~  
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 ′ ) = ∑ 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)=\sum\limits_{s^\prime\in {\cal S}}[P_\pi]_{ss^\prime}\nabla_\theta v_\pi(s^\prime) aAπ(as,θ)sSp(ss,a)θvπ(s)=sSp(ss)θvπ(s)=sS[Pπ]ssθvπ(s)
~  
将 式 (9.16) 写成 矩阵形式:
[ ⋮ ∇ θ v π ( s ) ⋮ ] ⏟ ∇ θ v π ∈ R m n = [ ⋮ u ( s ) ⋮ ] ⏟ u ∈ R m n + γ ( 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}}+\gamma (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) +γ(PπIm)θvπRmn θvπ(s)
~  
简写为:
~  
∇ θ v π = u + γ ( P π ⊗ I m ) ∇ θ v π \nabla_\theta v_\pi=u+\gamma (P_\pi\otimes I_m)\nabla_\theta v_\pi θvπ=u+γ(PπIm)θvπ

  • 其中 n = ∣ S ∣ n=|\cal S| n=S m m m 为参数向量 θ \theta θ 的维度。
    ~  
    整理上式
    ~  
    ( I n m − γ ( P π ⊗ I m ) ) ∇ θ v π = u \Big(I_{nm}-\gamma (P_\pi\otimes I_m)\Big)\nabla_\theta v_\pi=u (Inmγ(PπIm))θvπ=u
    ~  
    ∇ θ v π = ( I n m − γ P π ⊗ I m ) − 1 u = ( I n ⊗ I m − γ P π ⊗ I m ) − 1 u = [ ( I n − γ P π ) − 1 ⊗ I m ] u \begin{aligned}\nabla_\theta v_\pi&= (I_{nm}-\gamma P_\pi\otimes I_m)^{-1}u\\ &=(I_n\otimes I_m-\gamma P_\pi\otimes I_m)^{-1}u\\ &=\big[(I_n -\gamma P_\pi)^{-1}\otimes I_m\big]u\end{aligned} θvπ=(InmγPπIm)1u=(InImγPπIm)1u=[(InγPπ)1Im]u
    ~  
    ∇ θ v π ( s ) = ∑ s ′ ∈ S [ ( I n − γ P π ) − 1 ] s s ′ u ( s ′ ) 注意矩阵形式与原形式的对应记法 = ∑ s ′ ∈ S [ ( I n − γ P π ) − 1 ] s s ′ ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) ( 9.18 ) \begin{aligned}\nabla_\theta v_\pi(s)&=\sum\limits_{s^\prime\in {\cal S}}\Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime}u(s^\prime)~~~~~\textcolor{blue}{注意矩阵形式与原形式的对应记法}\\ &=\sum\limits_{s^\prime\in {\cal S}}\Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime}\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s^\prime,\theta)q_\pi(s^\prime,a)~~~~~~~~~~(9.18)\end{aligned} θvπ(s)=sS[(InγPπ)1]ssu(s)     注意矩阵形式与原形式的对应记法=sS[(InγPπ)1]ssaAθπ(as,θ)qπ(s,a)          (9.18)

关于 [ ( I n − γ P π ) − 1 ] s s ′ \Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime} [(InγPπ)1]ss 的概率解释
~  
因为 ( I n − γ P π ) − 1 = I + γ P π + γ 2 P π 2 + ⋯ (I_n -\gamma P_\pi)^{-1}=I+\gamma P_\pi+\gamma^2 P_\pi^2+\cdots (InγPπ)1=I+γPπ+γ2Pπ2+
~  
[ ( I n − γ P π ) − 1 ] s s ′ = [ I ] s s ′ + γ [ P π ] s s ′ + γ 2 [ P π 2 ] s s ′ + ⋯ = ∑ k = 1 ∞ γ k [ P π k ] s s ′ \Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime}=[I]_{ss^\prime}+\gamma [P_\pi]_{ss^\prime}+\gamma^2[P_\pi^2]_{ss^\prime}+\cdots=\sum\limits_{k=1}^\infty\gamma^k[P_\pi^k]_{ss^\prime} [(InγPπ)1]ss=[I]ss+γ[Pπ]ss+γ2[Pπ2]ss+=k=1γk[Pπk]ss
~  
注意, [ P π k ] s s ′ [P_\pi^k]_{ss^\prime} [Pπk]ss 是恰好经过 k k k 个时间步从 s s s 过渡到 s ′ s' s 的概率。
因此, [ ( I n − γ P π ) − 1 ] s s ′ \Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime} [(InγPπ)1]ss 是使用任意步数从 s s s 过渡到 s ′ s' s 的折扣总概率。
通过定义 [ ( I n − γ P π ) − 1 ] s s ′ ≐ Pr π ( s ′ ∣ s ) \Big[(I_n -\gamma P_\pi)^{-1}\Big]_{ss^\prime}\doteq \text{Pr}_\pi(s'|s) [(InγPπ)1]ssPrπ(ss),式 (9.18) 变为 (9.14)。

定理 9.2: 折扣情形下 v ˉ π 0 \bar v_\pi^0 vˉπ0 的梯度

在折扣因子 γ ∈ ( 0 , 1 ) \gamma\in (0,1) γ(0,1) 的情形下, v ˉ π 0 = d 0 T v π \bar v_\pi^0=d_0^Tv_\pi vˉπ0=d0Tvπ 的梯度为:
~  
∇ θ v ˉ π 0 = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \nabla_\theta \bar v_\pi^0={\mathbb E}\Big[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\Big] θvˉπ0=E[θlnπ(AS,θ)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\limits_{s^\prime\in {\cal S}}d_0(s^\prime)\text{Pr}(s|s^\prime),~~~~~s\in{\cal S}~~~~~~~~~~(9.19) ρπ(s)=sSd0(s)Pr(ss),     sS          (9.19)

  • 其中 Pr ( s ∣ s ′ ) = ∑ k = 0 ∞ γ k [ P π k ] s ′ s = [ ( I − γ P π ) − 1 ] s ′ s \text{Pr}(s|s^\prime)=\sum\limits_{k=0}^\infty\gamma^k [P_\pi^k]_{s^\prime s}=\Big[(I -\gamma P_\pi)^{-1}\Big]_{s^\prime s} Pr(ss)=k=0γk[Pπk]ss=[(IγPπ)1]ss 是在策略 π \pi π 下从 s ′ s^\prime s 转移到 s s s 的 折扣概率。
Box 9.3: Proof of Theorem 9.2

由于 d 0 ( s ) d_0(s) d0(s) 与策略 π \pi π 无关,则
~  
∇ θ v ˉ π 0 = ∇ θ ∑ s ∈ S d 0 ( s ) v π ( s ) = ∑ s ∈ S d 0 ( s ) ∇ θ v π ( s ) = ∑ s ∈ S d 0 ( s ) ∑ s ′ ∈ S Pr π ( s ′ ∣ s ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) ⏟ 引理  9.2 ,式  9.14 = ∑ s ′ ∈ S ( ∑ s ∈ S d 0 ( s ) Pr π ( s ′ ∣ s ) ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) = ∑ s ′ ∈ S ρ π ( s ′ ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) = ∑ s ∈ S ρ π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) 将  s ′ 换成  s = ∑ s ∈ S ρ π ( s ) ∑ a ∈ A π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned}\nabla_\theta\bar v_\pi^0=\nabla_\theta\sum\limits_{s\in {\cal S}}d_0(s)v_\pi(s)&=\sum\limits_{s\in{\cal S}}d_0(s)\textcolor{blue}{\nabla_\theta} v_\pi(s)\\ &=\sum\limits_{s\in{\cal S}}d_0(s)\underbrace{\sum\limits_{s^\prime\in{\cal S}}\text{Pr}_\pi(s^\prime|s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s^\prime,\theta)q_\pi(s^\prime,a)}_{引理 ~9.2,式~9.14}\\ &=\sum\limits_{s^\prime\in{\cal S}}\Bigg(\sum\limits_{s\in{\cal S}}d_0(s)\text{Pr}_\pi(s^\prime|s)\Bigg)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s^\prime,\theta)q_\pi(s^\prime,a)\\ &=\sum\limits_{s^\prime\in{\cal S}}\rho_\pi(s^\prime)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s^\prime,\theta)q_\pi(s^\prime,a)\\ &=\sum\limits_{s\in{\cal S}}\rho_\pi(s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)~~~~~~\textcolor{blue}{将~ s^\prime~ 换成~ s}\\ &=\sum\limits_{s\in{\cal S}}\rho_\pi(s)\sum\limits_{a\in {\cal A}} \textcolor{blue}{\pi(a|s,\theta)\nabla_\theta \ln \pi(a|s,\theta)}q_\pi(s,a)\\ &={\mathbb E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)]\end{aligned} θvˉπ0=θsSd0(s)vπ(s)=sSd0(s)θvπ(s)=sSd0(s)引理 9.2,式 9.14 sSPrπ(ss)aAθπ(as,θ)qπ(s,a)=sS(sSd0(s)Prπ(ss))aAθπ(as,θ)qπ(s,a)=sSρπ(s)aAθπ(as,θ)qπ(s,a)=sSρπ(s)aAθπ(as,θ)qπ(s,a)       s 换成 s=sSρπ(s)aAπ(as,θ)θlnπ(as,θ)qπ(s,a)=E[θlnπ(AS,θ)qπ(S,A)]

  • 其中 S ∼ ρ π S\sim \rho_\pi Sρπ A ∼ π ( S , θ ) A\sim \pi(S,\theta) Aπ(S,θ)

证毕。

定理 9.3 折扣情形下 r ˉ π \bar r_\pi rˉπ v ˉ π \bar v_\pi vˉπ 的梯度

在折扣因子为 γ ∈ ( 0 , 1 ) \gamma\in (0,1) γ(0,1) 的情形下, r ˉ π \bar r_\pi rˉπ v ˉ π \bar v_\pi vˉπ 的梯度为:
∇ θ r ˉ π = ( 1 − γ ) ∇ θ v ˉ π ≈ ∑ s ∈ S d π ( s ) ∑ a ∈ 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\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)]\end{aligned} θrˉπ=(1γ)θvˉπsSdπ(s)aAθπ(as,θ)qπ(s,a)=E[θlnπ(AS,θ)qπ(S,A)]

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

这里,当 γ \gamma γ 更接近 1 时, 近似更精确。

Box 9.4: Proof of Theorem 9.3

∇ θ v ˉ π = ∇ θ ∑ s ∈ S d π ( s ) v π ( s ) = ∑ s ∈ S ∇ θ d π ( s ) v π ( s ) + ∑ s ∈ S d π ( s ) ∇ θ v π ( s ) ( 9.20 ) 求导法则 \begin{aligned}\nabla_\theta \bar v_\pi&=\nabla_\theta\sum\limits_{s\in {\cal S}}d_\pi(s)v_\pi(s)\\ &=\sum\limits_{s\in {\cal S}}\nabla_\theta d_\pi(s)v_\pi(s)+\sum\limits_{s\in {\cal S}}d_\pi(s)\nabla_\theta v_\pi(s)~~~~~~~~~~(9.20)~~~~\textcolor{blue}{求导法则}\end{aligned} θvˉπ=θsSdπ(s)vπ(s)=sSθdπ(s)vπ(s)+sSdπ(s)θvπ(s)          (9.20)    求导法则
对第 2 项,将式 (9.17) 代入
在这里插入图片描述
~  
∑ s ∈ S d π ( s ) ∇ θ v π ( s ) = ( d π T ⊗ I m ) ∇ θ v π = ( d π T ⊗ I m ) [ ( I n − γ P π ) − 1 ⊗ I m ] u = [ d π T ( I n − γ P π ) − 1 ] ⊗ I m u ( 9.21 ) = 1 1 − γ d π T ⊗ I m u = 1 1 − γ ∑ s ∈ S d π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) ⏟ u \begin{aligned}\sum\limits_{s\in {\cal S}}d_\pi(s)\nabla_\theta v_\pi(s)=(d_\pi^T\otimes I_m)\nabla_\theta v_\pi&=(d_\pi^T\otimes I_m)\big[(I_n-\gamma P_\pi)^{-1}\otimes I_m\big]u\\ &=\big[d_\pi^T(I_n-\gamma P_\pi)^{-1}\big]\otimes I_m u~~~~~~~~~~(9.21)\\ &=\frac{1}{1-\gamma}d_\pi^T\otimes I_m u\\ &=\frac{1}{1-\gamma}\sum\limits_{s\in {\cal S}}d_\pi(s)\underbrace{\sum\limits_{a\in {\cal A}}\nabla _\theta \pi(a|s,\theta)q_\pi(s,a)}_{u}\end{aligned} sSdπ(s)θvπ(s)=(dπTIm)θvπ=(dπTIm)[(InγPπ)1Im]u=[dπT(InγPπ)1]Imu          (9.21)=1γ1dπTImu=1γ1sSdπ(s)u aAθπ(as,θ)qπ(s,a)

对于 d π T ( I n − γ P π ) − 1 = 1 1 − γ d π T d_\pi^T(I_n-\gamma P_\pi)^{-1}=\frac{1}{1-\gamma}d^T_\pi dπT(InγPπ)1=1γ1dπT
两边同乘 I n − γ P π I_n-\gamma P_\pi InγPπ, 得 d π T = 1 1 − γ d π T ( I n − γ P π ) = 1 1 − γ ( 1 − γ ) d π T d_\pi^T=\frac{1}{1-\gamma}d^T_\pi(I_n-\gamma P_\pi)=\frac{1}{1-\gamma}(1-\gamma)d^T_\pi dπT=1γ1dπT(InγPπ)=1γ1(1γ)dπT

第一项:由于第 2 项包含 1 1 − γ \frac{1}{1-\gamma} 1γ1, 当 γ → 1 \gamma\to 1 γ1 时, 第 2 项占据主导, 因此
~  
∇ θ v ˉ π ≈ 1 1 − γ ∑ s ∈ S d π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta \bar v_\pi\approx \frac{1}{1-\gamma}\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) θvˉπ1γ1sSdπ(s)aAθπ(as,θ)qπ(s,a)
~  
∇ θ r ˉ π = ( 1 − γ ) ∇ θ v ˉ π ≈ ∑ s ∈ S d π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s ∈ S d π ( s ) ∑ a ∈ A π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( 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\limits_{s\in {\cal S}}d_\pi(s)\sum\limits_{a\in {\cal A}}\nabla _\theta \pi(a|s,\theta)q_\pi(s,a)\\ &=\sum\limits_{s\in {\cal S}}d_\pi(s)\sum\limits_{a\in {\cal A}}\pi(a|s,\theta)\nabla _\theta \ln \pi(a|s,\theta)q_\pi(s,a)\\ &={\mathbb E}[\nabla_\theta\ln \pi(A|S,\theta)q_\pi(S,A)]\end{aligned} θrˉπ=(1γ)θvˉπsSdπ(s)aAθπ(as,θ)qπ(s,a)=sSdπ(s)aAπ(as,θ)θlnπ(as,θ)qπ(s,a)=E[θlnπ(AS,θ)qπ(S,A)]
~  
上式的近似要求当 γ → 1 \gamma→1 γ1 时,第一项不趋于无穷。


http://www.ppmy.cn/ops/117793.html

相关文章

django开发流程1

一、官方网站: Django documentation | Django documentation | Djangohttps://docs.djangoproject.com/en/5.1/ 1.安装 django : pip install django 2. django项目的配置文件 (settings.py) BASE_DIR 项目根路径 DEBUG 调试模式 INSTALLE…

URI和URL的区别

1: 将 URI 转换为 URL import java.net.URI; import java.net.URL;public class UriToUrlExample {public static void main(String[] args) {// 创建一个 URI 对象URI uri = new URI("http://example.com/path/to/resource");// 将 URI 转换为 URLtry {URL url = u…

【机器学习案列】基于随机森林和xgboost的二手车价格回归预测

一、项目分析 1.1 项目任务 kaggle二手车价格回归预测项目,目的根据各种属性预测二手车的价格。 1.2 评估准则 评估的标准是均方根误差: 1.3 数据介绍 数据连接https://www.kaggle.com/competitions/playground-series-s4e9/data?selecttrain.csv 其…

华为OD机试真题------分糖果

题目描述: 小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。小明最少需要多少次(取出、放…

2024!再见前端!

各位朋友大家晚上好,夜深了,睡不着,想想还是写一篇文章和大家说再见吧! 自2014年入行前端以来,满打满算差不多整整十年了,这十年可以说是见证了中国整个互联网的起飞到全盛时期。这期间经历了电商、金融、…

mfc异步TCP Client通信向主线程发送接收消息

通信是个基础的问题,通常要具有连接、断开及消息的发送和接收,一个功能完备的TCP类应该具有连接断开和消息接收的对外接口。现在有一个项目通过TCP实现进程间通信,通过解析发送的字符串识别、执行彼此的命令。现使用c Asio独立库实现功能&…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第二篇-着色器制作】

在上一篇文章中,我们已经理顺了实现流程。 接下来,我们将在UE5中,从头开始一步一步地构建一次流程。 通过这种方法,我们可以借助一个熟悉的开发环境,使那些对着色器不太熟悉的朋友们更好地理解着色器的工作原理。 这篇…

第九节 Opencv自带颜色表操作

知识点:Look Up lTable(LUT)查找表 了解LUT查找表的作用与用法,代码实现与API介绍 -applyColorMap(src,dst,COLORMAP) -src表示输入图像 -dst表示输出图像 匹配到的颜色LUT,Opencv支持13种…