《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch10 Actor-Critic 方法 » P1

actor-critic 方法仍然是策略梯度方法。强调结合策略梯度 和 基于价值的方法的结构。

actor:策略更新。 策略用于执行动作
critic: 策略评估 或 价值估计。

10.1 QAC

Q: 动作价值 q t q_t qt

上节课介绍的 策略梯度方法

1) 标量指标 J ( θ ) J(\theta) J(θ) v ˉ π \bar v_\pi vˉπ r ˉ π \bar r_\pi rˉπ

2) 最大化 J ( θ ) J(\theta) J(θ) 的梯度上升算法:

θ t + 1 = θ t + α ∇ θ J ( θ t ) = θ t + α E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) q π ( S , A ) ] \begin{aligned}\theta_{t+1}&=\theta_t + \alpha \nabla_\theta J(\theta_t)\\ &=\theta_t + \alpha {\mathbb E}_{S\sim\eta, A\sim \pi}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)q_\pi(S,A)\Big]\end{aligned} θt+1=θt+αθJ(θt)=θt+αESη,Aπ[θlnπ(AS,θt)qπ(S,A)]

3) 随机梯度上升算法

θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ ) q t ( s t , a t ) \theta_{t+1}=\theta_t+\alpha \nabla _\theta \ln \pi (a_t|s_t,\theta) \textcolor{blue}{q_t(s_t,a_t)} θt+1=θt+αθlnπ(atst,θ)qt(st,at)

算法 : actor
估计 q t ( s t , a t ) q_t(s_t,a_t) qt(st,at) 的算法: critic

在这里插入图片描述

在这里插入图片描述

〔 critic:SARSA + 价值函数近似 〕

10.2 Advantage actor-critic (A2C)

引入一个基线来减小估计方差。

10.2.1 基线不变性

基线不变性是指,下式成立

E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) q π ( S , A ) ] = E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) ( q π ( S , A ) − b ( S ) ) ]            ( 10.3 ) {\mathbb E}_{S\sim\eta, A\sim \pi}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)q_\pi(S,A)\Big]={\mathbb E}_{S\sim\eta, A\sim \pi}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)\Big(q_\pi(S,A)\textcolor{blue}{-b(S)}\Big)\Big]~~~~~~~~~~(10.3) ESη,Aπ[θlnπ(AS,θt)qπ(S,A)]=ESη,Aπ[θlnπ(AS,θt)(qπ(S,A)b(S))]          (10.3)

证明:

E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) b ( S ) ] = ∑ s ∈ S η ( s ) ∑ a ∈ A π ( a ∣ s , θ t ) ∇ θ ln ⁡ π ( a ∣ s , θ t ) b ( s ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ t ) b ( s ) = ∑ s ∈ S η ( s ) b ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ t ) = ∑ s ∈ S η ( s ) b ( s ) ∇ θ ∑ a ∈ A π ( a ∣ s , θ t ) = ∑ s ∈ S η ( s ) b ( s ) ∇ θ 1 = 0 \begin{aligned}{\mathbb E}_{S\sim\eta, A\sim \pi}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)b(S)\Big]&=\sum\limits_{s\in {\cal S}}\eta(s)\sum\limits_{a\in {\cal A}}\pi(a|s,\theta_t)\nabla_\theta \ln \pi(a|s,\theta_t)b(s)\\ &=\sum\limits_{s\in {\cal S}}\eta(s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta_t)b(s)\\ &=\sum\limits_{s\in {\cal S}}\eta(s)b(s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta_t)\\ &=\sum\limits_{s\in {\cal S}}\eta(s)b(s)\nabla_\theta\sum\limits_{a\in {\cal A}} \pi(a|s,\theta_t)\\ &=\sum\limits_{s\in {\cal S}}\eta(s)b(s)\nabla_\theta1\\ &=0\end{aligned} ESη,Aπ[θlnπ(AS,θt)b(S)]=sSη(s)aAπ(as,θt)θlnπ(as,θt)b(s)=sSη(s)aAθπ(as,θt)b(s)=sSη(s)b(s)aAθπ(as,θt)=sSη(s)b(s)θaAπ(as,θt)=sSη(s)b(s)θ1=0

为什么 基线 有用?

当我们使用样本来近似真实梯度时,它可以减少近似方差

X ( S , A ) ≐ ∇ θ ln ⁡ π ( A ∣ S , θ t ) [ q π ( S , A ) − b ( S ) ]            ( 10.4 ) X(S,A)\doteq\nabla_\theta \ln \pi(A|S,\theta_t)\Big[q_\pi(S,A)-b(S)\Big]~~~~~~~~~~(10.4) X(S,A)θlnπ(AS,θt)[qπ(S,A)b(S)]          (10.4)

则真实梯度为 E [ X ( S , A ) ] {\mathbb E}[X(S, A)] E[X(S,A)]
由于我们需要使用随机样本 x x x 来近似 E [ x ] {\mathbb E}[x] E[x],因此如果方差 var ( X ) \text{var}(X) var(X) 很小,将是有利的。
例如,如果 var ( X ) \text{var}(X) var(X) 接近于零,则任何样本 x x x 都可以准确地近似 E [ x ] {\mathbb E}[x] E[x]。相反,如果 var ( X ) \text{var}(X) var(X) 较大,则样本的值可能远离 E [ x ] {\mathbb E}[x] E[x]

在这里插入图片描述

虽然 E [ x ] {\mathbb E}[x] E[x] 对基线是不变的,但方差 var ( X ) \text{var}(X) var(X) 却不是。
我们的目标设计一个良好的基线来最小化 var ( X ) \text{var}(X) var(X)

最小化 var ( X ) \text{var}(X) var(X) 的最优基线为

b ∗ ( s ) = E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 q π ( s , A ) ] E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 ] ,       s ∈ S            ( 10.5 ) b^*(s)=\frac{{\mathbb E}_{A\sim \pi}[\Vert\nabla_\theta\ln \pi(A|s,\theta_t)\Vert^2\textcolor{blue}{q_\pi(s,A)}]}{{\mathbb E}_{A\sim \pi}[\Vert\nabla_\theta\ln \pi(A|s,\theta_t)\Vert^2]},~~~~~s\in{\cal S}~~~~~~~~~~(10.5) b(s)=EAπ[θlnπ(As,θt)2]EAπ[θlnπ(As,θt)2qπ(s,A)],     sS          (10.5)

Box 10.1. 证明 式 (10.5)

虽然 (10.5) 中的基线是最优的,但它太复杂,在实践中没有用处
如果从 (10.5) 中去掉权重 ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 \Vert\nabla_\theta\ln \pi(A|s,\theta_t)\Vert^2 θlnπ(As,θt)2,我们可以得到一个次优基线,它有一个简洁的表达式:

b † ( s ) = E A ∼ π [ q π ( s , A ) ] = v π ( s ) ,       s ∈ S b^\dagger(s)={\mathbb E}_{A\sim \pi}[q_\pi(s,A)]=v_\pi(s), ~~~~~s\in {\cal S} b(s)=EAπ[qπ(s,A)]=vπ(s),     sS

$\dagger$            † ~~~~~~~~~~\dagger           

这个次优基线 是 状态价值 !!!

Box 10.1. 最优基线证明

x ˉ ≐ E [ X ] \bar x\doteq {\mathbb E}[X] xˉE[X], 其对任意 b ( s ) b(s) b(s) 均不变。
如果 X X X 是一个向量,它的方差为一个矩阵。
选择 var ( X ) \text{var}(X) var(X) 作为 标量目标函数 用于优化。
  ~  
tr [ var ( X ) ] = tr [ E [ ( X − x ˉ ) ( X − x ˉ ) T ] ] = tr [ E [ X X T − x ˉ X T − X x ˉ T + x ˉ x ˉ T ] ]        tr ( A B ) = tr ( B A )         ? ? ? 交换矩阵位置得到下式,为啥求迹能丢掉 = E [ X T X − X T x ˉ − x ˉ T X + x ˉ T x ˉ ] = E [ X T X ] − x ˉ T x ˉ            ( 10.6 ) \begin{aligned}\text{tr}[\text{var}(X)]&=\text{tr}[{\mathbb E}[(X-\bar x)(X-\bar x)^T]]\\ &=\text{tr}[{\mathbb E}[XX^T-\bar xX^T-X\bar x^T+\bar x\bar x^T]]~~~~~~\textcolor{blue}{\text{tr}(AB)=\text{tr}(BA)~~~~~~~??? 交换矩阵位置得到下式,为啥 求迹能丢掉}\\ &={\mathbb E}[X^TX-X^T\bar x-\bar x^TX+\bar x^T\bar x]\\ &={\mathbb E}[X^TX]-\bar x^T\bar x~~~~~~~~~~(10.6)\end{aligned} tr[var(X)]=tr[E[(Xxˉ)(Xxˉ)T]]=tr[E[XXTxˉXTXxˉT+xˉxˉT]]      tr(AB)=tr(BA)       ???交换矩阵位置得到下式,为啥求迹能丢掉=E[XTXXTxˉxˉTX+xˉTxˉ]=E[XTX]xˉTxˉ          (10.6)

  • 由于 x ˉ \bar x xˉ 是不变的, 式 (10.6) 表明,我们只需最小化 E [ X T X ] {\mathbb E}[X^TX] E[XTX]

在这里插入图片描述

E [ X T X ] = E [ ( ∇ θ ln ⁡ π ) T ( ∇ θ ln ⁡ π ) ( q π ( S , A ) − b ( S ) ) 2 ] = E [ ∥ ∇ θ ln ⁡ π ∥ 2 ( q π ( S , A ) − b ( S ) ) 2 ] = ∑ s ∈ S η ( s ) E A ∼ π [ ∥ ∇ θ ln ⁡ π ∥ 2 ( q π ( S , A ) − b ( S ) ) 2 ]            b ( S )  影响方差 \begin{aligned}{\mathbb E}[X^TX]&={\mathbb E}[(\nabla_\theta \ln \pi)^T(\nabla_\theta \ln \pi)(q_\pi(S,A)-b(S))^2]\\ &={\mathbb E}[\Vert \nabla_\theta \ln \pi\Vert^2(q_\pi(S,A)-b(S))^2]\\ &=\sum\limits_{s\in{\cal S}}\eta(s){\mathbb E}_{A\sim \pi}[\Vert \nabla_\theta \ln \pi\Vert^2(q_\pi(S,A)-\textcolor{blue}{b(S)})^2]~~~~~~~~\textcolor{blue}{~b(S)~影响 方差}\end{aligned} E[XTX]=E[(θlnπ)T(θlnπ)(qπ(S,A)b(S))2]=E[θlnπ2(qπ(S,A)b(S))2]=sSη(s)EAπ[θlnπ2(qπ(S,A)b(S))2]         b(S) 影响方差
  ~  
为确保 对任意 s ∈ S s\in {\cal S} sS, 均有 ∇ b E [ X T X ] = 0 \nabla_b{\mathbb E}[X^TX]=0 bE[XTX]=0 b ( s ) b(s) b(s) 应满足
  ~  
E A ∼ π [ ∥ ∇ θ ln ⁡ π ∥ 2 ( q π ( S , A ) − b ( S ) ) ] = 0 ,        s ∈ S {\mathbb E}_{A\sim \pi}[\Vert \nabla_\theta \ln \pi\Vert^2(q_\pi(S,A)-b(S))]=0,~~~~~~s\in{\cal S} EAπ[θlnπ2(qπ(S,A)b(S))]=0,      sS
  ~  
求解上式得 b ∗ ( s ) = E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 q π ( s , A ) ] E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 ] ,       s ∈ S b^*(s)=\frac{{\mathbb E}_{A\sim \pi}[\Vert\nabla_\theta\ln \pi(A|s,\theta_t)\Vert^2\textcolor{blue}{q_\pi(s,A)}]}{{\mathbb E}_{A\sim \pi}[\Vert\nabla_\theta\ln \pi(A|s,\theta_t)\Vert^2]},~~~~~s\in{\cal S} b(s)=EAπ[θlnπ(As,θt)2]EAπ[θlnπ(As,θt)2qπ(s,A)],     sS

10.2.2 算法描述

b ( s ) = v π ( s ) b(s)=v_\pi(s) b(s)=vπ(s),有

θ t + 1 = θ t + α E [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) [ q π ( S , A ) − v π ( S ) ] ] = θ t + α E [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) Δ π ( S , A ) ] \begin{aligned}\theta_{t+1} &=\theta_t+\alpha {\mathbb E}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)[q_\pi(S,A)-v_\pi(S)]\Big]\\ &=\theta_t+\alpha {\mathbb E}\Big[\nabla_\theta \ln \pi(A|S,\theta_t)\textcolor{blue}{\Delta_\pi(S,A)}\Big]\end{aligned} θt+1=θt+αE[θlnπ(AS,θt)[qπ(S,A)vπ(S)]]=θt+αE[θlnπ(AS,θt)Δπ(S,A)]

其中 Δ π ( S , A ) = q π ( S , A ) − v π ( S ) \Delta_\pi(S,A)=q_\pi(S,A)-v_\pi(S) Δπ(S,A)=qπ(S,A)vπ(S) 称为优势函数,反映一个动作相对于其它动作的优势。

  • 〔 文献中优势函数一般表示为 A ^ \hat A A^

状态价值 v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v_\pi(s)=\sum\limits_{a\in {\cal A}}\pi(a|s)q_\pi(s,a) vπ(s)=aAπ(as)qπ(s,a) 是动作价值的均值。

如果 Δ π ( S , A ) > 0 \Delta_\pi(S,A)>0 Δπ(S,A)>0 , 则表示相应动作具有比平均价值更大的价值。

式 (10.7) 的随机版本为
θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) [ q t ( s t , a t ) − v t ( s t ) ] = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) Δ t ( s t , a t )            ( 10.8 ) \begin{aligned}\theta_{t+1}&=\theta_t+\alpha \nabla_\theta \ln \pi(a_t|s_t,\theta_t)\Big[q_t(s_t,a_t)-v_t(s_t)\Big]\\ &=\theta_t+\alpha \nabla_\theta \ln \pi(a_t|s_t,\theta_t)\Delta_t(s_t,a_t)~~~~~~~~~~(10.8)\end{aligned} θt+1=θt+αθlnπ(atst,θt)[qt(st,at)vt(st)]=θt+αθlnπ(atst,θt)Δt(st,at)          (10.8)

其中 s t , a t s_t, a_t st,at S , A S, A S,A t t t 时刻的样本。
这里, q t ( s t , a t ) q_t(s_t, a_t) qt(st,at) v t ( s t ) v_t(s_t) vt(st) 分别是 q π ( θ t ) ( s t , a t ) q_{\pi(\theta_t)}(s_t, a_t) qπ(θt)(st,at) v π ( θ t ) ( s t ) v_{\pi(\theta_t)}(s_t) vπ(θt)(st) 的近似值。
(10.8) 中的算法基于 q t q_t qt 关于 v t v_t vt 的相对值而不是 q t q_t qt 的绝对值来更新策略,这在直观上是合理的,因为当我们试图在某个状态下选择一个动作时,我们只关心哪个动作相对于其他动作的价值最大

如果 q t ( s t , a t ) q_t(s_t, a_t) qt(st,at) v t ( s t ) v_t(s_t) vt(st) 是通过蒙特卡罗学习估计的,则 (10.8) 中的算法称为带基线的 REINFORCE。
如果 q t ( s t , a t ) q_t(s_t, a_t) qt(st,at) v t ( s t ) v_t(s_t) vt(st) 是通过 TD 学习来估计的,则该算法通常被称为优势 行为者-评论员 算法 (A2C)。
算法 10.2 对 A2C 的实现进行了总结。需要注意的是,本实现中的优势函数近似为 TD 误差:

q t ( s t , a t ) − v t ( s t ) ≈ r t + 1 + γ v t ( s t + 1 ) − v t ( s t ) q_t(s_t,a_t)-v_t(s_t)\approx r_{t+1}+\gamma v_t(s_{t+1})-v_t(s_t) qt(st,at)vt(st)rt+1+γvt(st+1)vt(st)

q π ( s t , a t ) − v π ( s t ) = E [ R t + 1 + γ v π ( S t + 1 ) − v π ( S t ) ∣ S t = s t , A t = a t ] q_\pi(s_t,a_t)-v_\pi(s_t)={\mathbb E}\Big[R_{t+1}+\gamma v_\pi(S_{t+1})-v_\pi(S_t)|S_t=s_t,A_t=a_t\Big] qπ(st,at)vπ(st)=E[Rt+1+γvπ(St+1)vπ(St)St=st,At=at]

根据 q π ( s t , a t ) q_\pi(s_t,a_t) qπ(st,at) 的定义,它是成立的。
使用 TD 误差的一个优点是我们只需要使用一个神经网络来表示 v π ( s ) v_\pi(s) vπ(s)
否则,如果 Δ t = q t ( s t , a t ) − v t ( s t ) \Delta_t = q_t(s_t,a_t) - v_t(s_t) Δt=qt(st,at)vt(st),我们需要维护两个网络分别表示 v π ( s ) v_\pi(s) vπ(s) q π ( s , a ) q_\pi(s, a) qπ(s,a)
当我们使用 TD 误差时,该算法也可以称为 TD actor-critic。
此外,值得注意的是,策略 π ( θ t ) π(θ_t) π(θt) 是随机的,因此是探索性的。
因此,它可以直接用于生成经验样本,而不依赖于 ϵ \epsilon ϵ-greedy 等技术。

on-policy

在这里插入图片描述

探索与利用 折衷

θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) Δ t ( s t , a t ) = θ t + α ∇ θ π ( a t ∣ s t , θ t ) π ( a t ∣ s t , θ t ) Δ t ( s t , a t ) = θ t + α Δ t ( s t , a t ) π ( a t ∣ s t , θ t ) ∇ θ π ( a t ∣ s t , θ t ) \begin{aligned}\theta_{t+1}&=\theta_t+\alpha \textcolor{blue}{\nabla_\theta \ln \pi(a_t|s_t,\theta_t)}\Delta_t(s_t,a_t)\\ &=\theta_t+\alpha\frac{\nabla_\theta \pi(a_t|s_t,\theta_t)}{\pi(a_t|s_t,\theta_t)}\Delta_t(s_t,a_t)\\ &=\theta_t+\alpha\frac{\Delta_t(s_t,a_t)}{\pi(a_t|s_t,\theta_t)}\nabla_\theta \pi(a_t|s_t,\theta_t)\end{aligned} θt+1=θt+αθlnπ(atst,θt)Δt(st,at)=θt+απ(atst,θt)θπ(atst,θt)Δt(st,at)=θt+απ(atst,θt)Δt(st,at)θπ(atst,θt)

步长 与 相对价值 Δ t \Delta_t Δt 而不是 绝对值 q t q_t qt 成正比,更合理。

更好地平衡探索和利用。

10.3 异策略 Off-policy actor-critic

通过跟踪 策略 π ( θ ) \pi(\theta) π(θ) 生成动作样本,行为策略 和 拟改进的策略是同一个 〔 都是 π \pi π。 on-policy

∇ θ J ( θ ) = E S ∼ η , A ∼ π [ ⋅ ] \nabla_\theta J(\theta)={\mathbb E}_{S\sim \eta,\textcolor{blue}{A\sim \pi}}[·] θJ(θ)=ESη,Aπ[]

重要性采样importance sampling:使用从另一个概率分布中抽取的一些样本来估计 在一个概率分布中定义的期望值 的一般技术。

10.3.1 Importance sampling 重要性采样 【on-policy ——> off-policy】

考虑一个随机变量 X ∈ X X\in {\cal X} XX, 假设 p 0 ( X ) p_0(X) p0(X) 是一个概率分布。 我们的目标是 估计 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X],假设我们有一些 i.i.d 【独立同分布】 样本 { x i } i = 1 n \{x_i\}_{i=1}^n {xi}i=1n

首先,如果遵循 p 0 p_0 p0 生成样本 { x i } i = 1 n \{x_i\}_{i=1}^n {xi}i=1n,则平均值 x ˉ = 1 n ∑ i = 1 n x i \bar x=\frac{1}{n}\sum\limits_{i=1}^n x_i xˉ=n1i=1nxi 可以用来近似 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X],因为 x ˉ \bar x xˉ E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X] 的无偏估计,并且估计方差在 n → ∞ n→\infty n 时收敛于零。

其次,考虑一个新场景,其中样本 { x i } i = 1 n \{x_i\}_{i=1}^n {xi}i=1n 不是由 p 0 p_0 p0 生成的。
相反,它们是由另一个分布 p 1 p_1 p1 生成的。我们还能用这些样本来近似 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X] 吗?

p 0 p_0 p0:目标策略 π \pi π
      p 1 ~~~~~p_1      p1:行为策略 β \beta β

答案是肯定的。然而,我们不能再用 x ˉ = 1 n ∑ i = 1 n x i \bar x=\frac{1}{n}\sum\limits_{i=1}^n x_i xˉ=n1i=1nxi 近似 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X],因为 x ˉ ≈ E X ∼ p 1 [ X ] \bar x \approx{\mathbb E}_{X\sim p_1}[X] xˉEXp1[X] 而不是 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X]

E X ∼ p 0 [ X ] = ∑ x ∈ X p 0 ( x ) x = ∑ x ∈ X p 1 ( x ) p 0 ( x ) p 1 ( x ) x = E X ∼ p 1 [ f ( X ) ]            ( 10.9 ) {\mathbb E}_{X\sim p_0}[X]=\sum\limits_{x\in{\cal X}}p_0(x)x=\sum\limits_{x\in {\cal X}}p_1(x)\frac{p_0(x)}{p_1(x)}x={\mathbb E}_{X\sim p_1}[\textcolor{blue}{f(X)}]~~~~~~~~~~(10.9) EXp0[X]=xXp0(x)x=xXp1(x)p1(x)p0(x)x=EXp1[f(X)]          (10.9)

E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X] ——> E X ∼ p 1 [ f ( X ) ] {\mathbb E}_{X\sim p_1}[\textcolor{blue}{f(X)}] EXp1[f(X)]

f ˉ ≐ 1 n ∑ i = 1 n f ( x i ) \bar f\doteq \frac{1}{n}\sum\limits_{i=1}^nf(x_i) fˉn1i=1nf(xi)

E X ∼ p 0 [ X ] = E X ∼ p 1 [ f ( X ) ] ≈ f ˉ = 1 n ∑ i = 1 n f ( x i ) = 1 n ∑ i = 1 n p 0 ( x i ) p 1 ( x i ) x i            ( 10.10 ) \textcolor{blue}{{\mathbb E}_{X\sim p_0}[X]}={\mathbb E}_{X\sim p_1}[f(X)]\approx\bar f=\frac{1}{n}\sum\limits_{i=1}^nf(x_i)=\frac{1}{n}\sum\limits_{i=1}^n\frac{\textcolor{blue}{p_0(x_i)}}{p_1(x_i)}x_i~~~~~~~~~~(10.10) EXp0[X]=EXp1[f(X)]fˉ=n1i=1nf(xi)=n1i=1np1(xi)p0(xi)xi          (10.10)

E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EXp0[X] 可以通过 x i x_i xi 的加权均值进行近似

重要性权重 p 0 ( x i ) p 1 ( x i ) \frac{p_0(x_i)}{p_1(x_i)} p1(xi)p0(xi)

  • p 1 = p 0 p_1=p_0 p1=p0,重要性权重为 1, f ˉ = x ˉ \bar f=\bar x fˉ=xˉ
  • p 0 ( x i ) ≥ p 1 ( x i ) p_0(x_i)\geq p_1(x_i) p0(xi)p1(xi) x i x_i xi p 0 p_0 p0 出现的概率比在 p 1 p_1 p1 中出现的概率大,为了获得准确的均值估计,令 p 0 ( x i ) p 1 ( x i ) > 1 \frac{p_0(x_i)}{p_1(x_i)}>1 p1(xi)p0(xi)>1 可将权重拉回来。

在这里插入图片描述
在这里插入图片描述

10.3.2 异策略off-policy 策略梯度定理

假设 β \beta β 是一个行为策略。
我们的目标是使用由 β \beta β 生成的样本来学习可以最大化以下指标的目标策略 π \pi π :

J ( θ ) = ∑ s ∈ S d β ( s ) v π ( s ) = E S ∼ d β [ v π ( S ) ] J(\theta)=\sum\limits_{s\in{\cal S}}d_\beta(s)v_\pi(s)={\mathbb E}_{S\sim d_\beta}[v_\pi(S)] J(θ)=sSdβ(s)vπ(s)=ESdβ[vπ(S)]

其中 d β d_\beta dβ 是遵循 β \beta β 的状态分布。
v π v_\pi vπ 是策略 π \pi π 下的状态价值。

Theorem 10.1 (Off-policy policy gradient theorem).

对于 折扣因子 γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ(0,1) 的折扣情形

∇ θ J ( θ ) = E S ∼ ρ , A ∼ β [ π ( A ∣ S , θ ) β ( A ∣ S ) ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ]            ( 10.11 ) \nabla_\theta J(\theta)={\mathbb E}_{S\sim \rho, \textcolor{blue}{A\sim \beta}}\Big[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_\theta \ln \pi(A|S,\theta)q_\pi(S,A)\Big]~~~~~~~~~~(10.11) θJ(θ)=ESρ,Aβ[β(AS)π(AS,θ)θlnπ(AS,θ)qπ(S,A)]          (10.11)

其中 状态分布 ρ \rho ρ ρ ( s ) ≐ ∑ s ′ sin ⁡ S d β ( s ′ ) Pr π ( s ∣ s ′ ) ,         s ∈ S \rho(s)\doteq\sum\limits_{s^\prime\sin {\cal S}}d_\beta(s^\prime)\text{Pr}_\pi(s|s^\prime), ~~~~~~~s\in {\cal S} ρ(s)ssinSdβ(s)Prπ(ss),       sS

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

Box 10.2: Proof of Theorem 10.1

由于 d β d_\beta dβ θ \theta θ 无关, J ( θ ) J(\theta) J(θ) 的梯度满足
  ~  
∇ θ J ( θ ) = ∇ θ ∑ s ∈ S d β ( s ) v π ( s ) = ∑ s ∈ S d β ( s ) ∇ θ v π ( s )            ( 10.12 ) \nabla_\theta J(\theta)=\nabla_\theta \sum\limits_{s\in {\cal S}}d_\beta (s)v_\pi(s)=\sum\limits_{s\in {\cal S}}d_\beta(s)\nabla_\theta v_\pi(s)~~~~~~~~~~(10.12) θJ(θ)=θsSdβ(s)vπ(s)=sSdβ(s)θvπ(s)          (10.12)

在这里插入图片描述

∇ θ v π ( s ) = ∑ s ′ ∈ S Pr π ( s ′ ∣ s ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a )            ( 10.13 ) \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)~~~~~~~~~~(10.13) θvπ(s)=sSPrπ(ss)aAθπ(as,θ)qπ(s,a)          (10.13)

  • 其中 Pr ( s ′ ∣ s ) ≐ ∑ k = 0 ∞ γ k [ P π k ] s s ′ = [ ( I n − γ P π ) − 1 ] s s ′ \text{Pr}(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
      ~  
    将 式 (10.13) 代入 (10.12)
      ~  
    ∇ θ J ( θ ) = ∑ s ∈ S d β ( s ) ∇ θ v π ( s ) = ∑ s ∈ S d β ( s ) ∑ s ′ ∈ S Pr π ( s ′ ∣ s ) ∑ a ∈ A ∇ θ π ( a ∣ s ′ , θ ) q π ( s ′ , a ) = ∑ s ′ ∈ S ( ∑ s ∈ S d β ( 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   = E S ∼ ρ [ ∑ a ∈ A ∇ θ π ( a ∣ S , θ ) q π ( S , a ) ] = E S ∼ ρ [ ∑ a ∈ A β ( a ∣ S ) π ( a ∣ S , θ ) β ( a ∣ S ) ∇ θ π ( a ∣ S , θ ) π ( a ∣ S , θ ) q π ( S , a ) ]          重要性采样 = E S ∼ ρ [ ∑ a ∈ A β ( a ∣ S ) π ( a ∣ S , θ ) β ( a ∣ S ) ∇ θ ln ⁡ π ( a ∣ S , θ ) q π ( S , a ) ] = E S ∼ ρ , A ∼ β [ π ( A ∣ S , θ ) β ( A ∣ S ) ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned}\nabla_\theta J(\theta)=\sum\limits_{s\in {\cal S}}d_\beta(s)\nabla_\theta v_\pi(s)&=\sum\limits_{s\in {\cal S}}d_\beta(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)\\ &=\sum\limits_{s^\prime\in {\cal S}}\Big(\sum\limits_{s\in {\cal S}}d_\beta(s)\text{Pr}_\pi(s^\prime|s)\Big)\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(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(s)\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|s,\theta)q_\pi(s,a)~~~~~~~~\textcolor{blue}{将 ~s^\prime~ 改成 ~s~}\\ &={\mathbb E}_{S\sim \rho}\Big[\sum\limits_{a\in {\cal A}}\nabla_\theta \pi(a|S,\theta)q_\pi(S,a)\Big]\\ &={\mathbb E}_{S\sim \rho}\Big[\sum\limits_{a\in {\cal A}}\textcolor{blue}{\beta(a|S)\frac{\pi(a|S,\theta)}{\beta(a|S)}}\frac{\nabla_\theta \pi(a|S,\theta)}{\textcolor{blue}{\pi(a|S,\theta)}}q_\pi(S,a)\Big]~~~~~~~~\textcolor{blue}{重要性采样}\\ &={\mathbb E}_{S\sim \rho}\Big[\sum\limits_{a\in {\cal A}}\beta(a|S)\frac{\pi(a|S,\theta)}{\beta(a|S)}\nabla_\theta \ln \pi(a|S,\theta)q_\pi(S,a)\Big]\\ &={\mathbb E}_{S\sim \rho,A\sim \beta}\Big[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_\theta \ln \pi(A|S,\theta)q_\pi(S,A)\Big]\end{aligned} θJ(θ)=sSdβ(s)θvπ(s)=sSdβ(s)sSPrπ(ss)aAθπ(as,θ)qπ(s,a)=sS(sSdβ(s)Prπ(ss))aAθπ(as,θ)qπ(s,a)=sSρ(s)aAθπ(as,θ)qπ(s,a)=sSρ(s)aAθπ(as,θ)qπ(s,a)         s 改成 s =ESρ[aAθπ(aS,θ)qπ(S,a)]=ESρ[aAβ(aS)β(aS)π(aS,θ)π(aS,θ)θπ(aS,θ)qπ(S,a)]        重要性采样=ESρ[aAβ(aS)β(aS)π(aS,θ)θlnπ(aS,θ)qπ(S,a)]=ESρ,Aβ[β(AS)π(AS,θ)θlnπ(AS,θ)qπ(S,A)]
  • 类似 定理 9.1

在这里插入图片描述

10.3.3 算法描述

θ t + 1 = θ t + α t π ( a t , s t , θ ) β ( a t ∣ s t ) ∇ θ ln ⁡ π ( a t ∣ s t , θ ) Δ t ( s t , a t ) \theta_{t+1}=\theta_t +\alpha_t\frac{\pi(a_t,s_t,\theta)}{\beta(a_t|s_t)}\nabla_\theta\ln \pi (a_t|s_t,\theta)\Delta_t(s_t,a_t) θt+1=θt+αtβ(atst)π(at,st,θ)θlnπ(atst,θ)Δt(st,at)

〔 仅利用,无探索 〕
对上式进行变形: θ t + 1 = θ t + α t Δ t ( s t , a t ) β ( a t ∣ s t ) ∇ θ π ( a t ∣ s t , θ ) 对上式进行变形:\theta_{t+1}=\theta_t +\alpha_t\frac{\Delta_t(s_t,a_t)}{\beta(a_t|s_t)}\nabla_\theta \pi (a_t|s_t,\theta) 对上式进行变形:θt+1=θt+αtβ(atst)Δt(st,at)θπ(atst,θ)

  • Δ t \Delta_t Δt 比较大,说明这个动作比其他动作的价值大,下一时刻将增大 相应的权重。
    利用
  • 由于 分母 β ( a ∣ s ) \beta(a|s) β(as) 保持不变,所以不存在探索。

——————————————

在这里插入图片描述

10.4 确定性 actor-critic 【连续动作空间】

在这里插入图片描述

〔 一个状态,无限个 动作 ——> 考虑用 确定性策略〕

“确定性”表示,对于任何状态,单个动作的概率为 1,而所有其他动作的概率为 0。研究确定性情况是很重要的,因为它是自然的异策略off-policy,可以有效地处理连续的动作空间

我们一直使用 π ( a ∣ s , θ ) π(a|s,θ) π(as,θ) 来表示一般策略,它可以是随机的,也可以是确定的。
在本节中,我们使用 a = μ ( s , θ ) a=\mu(s,\theta) a=μ(s,θ) 明确地表示确定性策略
不同于 π \pi π 给出动作的概率的, μ \mu μ 直接给出了动作,因为它是从 S \cal S S A \cal A A 的映射。
这种确定性策略可以用,例如,一个神经网络,以 s s s 为输入, a a a 为输出, θ θ θ 为参数来表示。
为了简单起见,我们通常把 μ ( s , θ ) \mu(s,θ) μ(s,θ) 写成 μ ( s ) μ(s) μ(s)

10.4.1 确定性策略梯度定理

Theorem 10.2 (Deterministic policy gradient theorem).
  ~  
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) = E S ∼ η [ ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) ]            ( 10.14 ) \begin{aligned}\nabla_\theta J(\theta)&=\sum\limits_{s\in {\cal S}}\eta(s)\nabla_\theta \mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}\\ &={\mathbb E}_{S\sim \eta}[\nabla_\theta \mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}]~~~~~~~~~~(10.14)\end{aligned} θJ(θ)=sSη(s)θμ(s)(aqμ(s,a))a=μ(s)=ESη[θμ(s)(aqμ(s,a))a=μ(s)]          (10.14)

  • 其中 η \eta η 是状态分布

与随机情况不同,式 (10.14) 所示的确定性情况中的梯度不涉及动作随机变量 a a a。因此,当我们使用样本来近似真实梯度时,不需要对动作进行采样。因此,确定性策略梯度方法是 off-policy。

指标 1: 平均价值

J ( θ ) = E [ v μ ( s ) ] = ∑ s ∈ S d 0 ( s ) v μ ( s )            ( 10.15 ) J(\theta)={\mathbb E}[v_\mu(s)]=\sum\limits_{s\in {\cal S}}d_0(s)v_\mu(s)~~~~~~~~~~(10.15) J(θ)=E[vμ(s)]=sSd0(s)vμ(s)          (10.15)

其中 d 0 d_0 d0 是状态的概率分布。这里,为了简单起见,选择 d 0 d_0 d0 独立于 μ μ μ
选择 d 0 d_0 d0 有两种特殊但重要的情况。

  • 第一种情况是 d 0 ( s 0 ) = 1 d_0(s_0) =1 d0(s0)=1 d 0 ( s ≠ s 0 ) = 0 d_0(s\neq s_0) = 0 d0(s=s0)=0,其中 s 0 s_0 s0 是感兴趣的特定状态。
    在这种情况下,该策略的目标是使从 s 0 s_0 s0 开始时所能获得的折扣回报最大化。 J ( θ ) = v μ ( s 0 ) J(\theta)=v_\mu(s_0) J(θ)=vμ(s0)
  • 第二种情况是, d 0 d_0 d0 是与目标策略 μ \mu μ不同的给定行为策略 β \beta β的分布。
Lemma 10.1 (Gradient of v µ ( s ) v_µ(s) vµ(s))

在折扣情形下, 对任意 s ∈ S s\in {\cal S} sS,有
  ~  
∇ θ v μ ( s ) = ∑ s ′ ∈ S Pr μ ( s ′ ∣ s ) ∇ θ μ ( s ′ ) ( ∇ a q μ ( s ′ , a ) ) ∣ a = μ ( s ′ )            ( 10.16 ) \nabla_\theta v_\mu (s)=\sum\limits_{s^\prime \in {\cal S}}\text{Pr}_\mu (s^\prime|s)\nabla_\theta \mu(s^\prime)(\nabla_a q_\mu(s^\prime,a))|_{a=\mu(s^\prime)}~~~~~~~~~~(10.16) θvμ(s)=sSPrμ(ss)θμ(s)(aqμ(s,a))a=μ(s)          (10.16)

  • 其中 Pr μ ( s ′ ∣ s ) ≐ ∑ k = 0 ∞ γ k [ P μ k ] s s ′ = [ ( I − γ P μ ) − 1 ] s s ′ \text{Pr}_\mu (s^\prime|s)\doteq \sum\limits_{k=0}^\infty\gamma ^k[P_\mu^k]_{ss^\prime}=[(I-\gamma P_\mu)^{-1}]_{ss^\prime} Prμ(ss)k=0γk[Pμk]ss=[(IγPμ)1]ss 为策略 μ \mu μ 下从 s s s 过渡到 s ′ s' s 的折扣总概率。
    其中, [ ⋅ ] s s ′ [·]_{ss^\prime} []ss 表示矩阵第 s s s 行第 s ′ s^\prime s 列的条目。
Box 10.3: 证明 Lemma 10.1

由于策略是确定性的, 有 v μ ( s ) = q μ ( s , μ ( s ) ) v_\mu(s)=q_\mu(s,\mu(s)) vμ(s)=qμ(s,μ(s))
q μ q_\mu qμ μ \mu μ 都是 θ \theta θ 的函数
  ~  
∇ θ v μ ( s ) = ∇ θ q μ ( s , μ ( s ) ) = ( ∇ θ q μ ( s , a ) ) ∣ a = μ ( s ) + ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s )            ( 10.17 ) \nabla_\theta v_\mu(s)=\nabla_\theta q_\mu(s,\mu(s))=(\nabla_\theta q_\mu(s,\textcolor{blue}{a}))|_{a=\mu(s)}+\textcolor{blue}{\nabla_\theta \mu(s)}(\nabla _aq_\mu(s,a))|_{a=\mu(s)}~~~~~~~~~~(10.17) θvμ(s)=θqμ(s,μ(s))=(θqμ(s,a))a=μ(s)+θμ(s)(aqμ(s,a))a=μ(s)          (10.17)
  ~  
( s , a ) (s,a) (s,a) 的动作价值为 q μ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v μ ( s ′ ) q_\mu(s,a)=r(s,a)+\gamma \sum\limits_{s^\prime\in {\cal S}}p(s^\prime|s,a)v_\mu(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)

因为 r ( s , a ) r(s,a) r(s,a) μ \mu μ 无关
  ~  
∇ θ q μ ( s , a ) = 0 + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∇ θ v μ ( s ′ ) \nabla_\theta q_\mu(s,a)=0+\gamma \sum\limits_{s^\prime\in {\cal S}}p(s^\prime|s,a)\nabla_\theta v_\mu(s^\prime) θqμ(s,a)=0+γsSp(ss,a)θvμ(s)
  ~  
将 上式代入 式 (10.17)
  ~  
∇ θ v μ ( s ) = γ ∑ s ′ ∈ S p ( s ′ ∣ s , μ ( s ) ) ⏟ P μ ⊗ I m ∇ θ v μ ( s ′ ) + ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) ⏟ u ( s )          s ∈ S \nabla_\theta v_\mu(s)=\gamma \underbrace{\sum\limits_{s^\prime\in {\cal S}}p(s^\prime|s,\mu(s))}_{P_\mu \otimes I_m}\nabla_\theta v_\mu(s^\prime)+ \underbrace{\nabla_\theta \mu(s)(\nabla _aq_\mu(s,a))|_{a=\mu(s)}}_{u(s)}~~~~~~~~s\in{\cal S} θvμ(s)=γPμIm sSp(ss,μ(s))θvμ(s)+u(s) θμ(s)(aqμ(s,a))a=μ(s)        sS
  ~  
矩阵-向量形式:
  ~  
[ ⋮ ∇ θ 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_\mu(s)\\ \vdots\end{bmatrix}}_{\nabla_\theta v_\mu \in {\mathbb R}^{mn}}=\underbrace{\begin{bmatrix}\vdots\\ u(s)\\ \vdots\end{bmatrix}}_{u \in {\mathbb R}^{mn}}+\gamma (P_\mu \otimes I_m)\underbrace{\begin{bmatrix}\vdots\\ \nabla_\theta v_\mu(s^\prime)\\ \vdots\end{bmatrix}}_{\nabla_\theta v_\mu \in {\mathbb R}^{mn}} θvμRmn θvμ(s) =uRmn u(s) +γ(PμIm)θvμRmn θvμ(s)

  • 其中 n = ∣ S ∣ n=|\cal S| n=S m m m θ \theta θ 的维度
  • P μ P_\mu Pμ 是状态转移矩阵, [ P μ ] s s ′ = p ( s ′ ∣ s , μ ( s ) ) [P_\mu]_{ss^\prime}=p(s^\prime|s,\mu(s)) [Pμ]ss=p(ss,μ(s))

上述矩阵-向量形式可简写为
  ~  
∇ θ v μ = u + γ ( P μ ⊗ I m ) ∇ θ v μ       \nabla_\theta v_\mu=u+\gamma (P_\mu \otimes I_m)\nabla_\theta v_\mu~~~~~ θvμ=u+γ(PμIm)θvμ      一个关于 s s s, 一个关于 s ′ s^\prime s,这样合并是否合理呢 ?
  ~  
( I m n − γ P μ ⊗ I m ) ∇ θ v μ = u (I_{mn}-\gamma P_\mu \otimes I_m)\nabla_\theta v_\mu=u (ImnγPμIm)θvμ=u
  ~  
∇ θ v μ = ( I m n − γ P μ ⊗ I m ) − 1 u = ( I n ⊗ I m − γ P μ ⊗ I m ) − 1 u = [ ( I n − γ P μ ) − 1 ⊗ I m ] u            ( 10.18 ) \begin{aligned}\nabla_\theta v_\mu&=(I_{mn}-\gamma P_\mu \otimes I_m)^{-1}u\\ &=(I_n\otimes I_m-\gamma P_\mu \otimes I_m)^{-1}u\\ &=[(I_n-\gamma P_\mu)^{-1}\otimes I_m]u~~~~~~~~~~(10.18)\end{aligned} θvμ=(ImnγPμIm)1u=(InImγPμIm)1u=[(InγPμ)1Im]u          (10.18)
  ~  
改回元素级形式
  ~  
∇ θ v μ ( s ) = ∑ s ′ ∈ S [ ( I − γ P μ ) − 1 ] s s ′ μ ( s ′ ) = ∑ s ′ ∈ S [ ( I − γ P μ ) − 1 ] s s ′ [ ∇ θ μ ( s ′ ) ( ∇ a q μ ( s ′ , a ) ) ∣ a = μ ( s ′ ) ]            ( 10.19 ) \begin{aligned}\nabla_\theta v_\mu(s)&=\sum\limits_{s^\prime\in {\cal S}}[(I-\gamma P_\mu)^{-1}]_{ss^\prime}\mu(s^\prime)\\ &=\sum\limits_{s^\prime\in {\cal S}}[(I-\gamma P_\mu)^{-1}]_{ss^\prime}[\nabla_\theta \mu(s^\prime)(\nabla _aq_\mu(s^\prime,a))|_{a=\mu(s^\prime)}]~~~~~~~~~~(10.19)\end{aligned} θvμ(s)=sS[(IγPμ)1]ssμ(s)=sS[(IγPμ)1]ss[θμ(s)(aqμ(s,a))a=μ(s)]          (10.19)

[ ( I − γ P μ ) − 1 ] s s ′ [(I-\gamma P_\mu)^{-1}]_{ss^\prime} [(IγPμ)1]ss 具有明确的概率解释。

因为 ( I − γ P μ ) − 1 = I + γ P μ + γ 2 P μ 2 + ⋯ (I-\gamma P_\mu)^{-1}=I+\gamma P_\mu+\gamma^2 P_\mu^2+\cdots (IγPμ)1=I+γPμ+γ2Pμ2+

[ ( I − γ P μ ) − 1 ] s s ′ = [ I ] s s ′ + γ [ P μ ] s s ′ + γ 2 [ P μ 2 ] s s ′ + ⋯ = ∑ k = 1 ∞ γ k [ P μ k ] s s ′ [(I-\gamma P_\mu)^{-1}]_{ss^\prime}=[I]_{ss^\prime}+\gamma [P_\mu]_{ss^\prime}+\gamma^2 [P_\mu^2]_{ss^\prime}+\cdots=\sum\limits_{k=1}^\infty \gamma^k [P_\mu^k]_{ss^\prime} [(IγPμ)1]ss=[I]ss+γ[Pμ]ss+γ2[Pμ2]ss+=k=1γk[Pμk]ss

注意, [ P μ k ] s s ′ [P_\mu^k]_{ss '} [Pμk]ss 是恰好经过 k k k 个时间步从 s s s 过渡到 s ′ s' s 的概率。因此, [ ( I − γ P μ ) − 1 ] s s ′ [(I-\gamma P_\mu)^{-1}]_{ss^\prime} [(IγPμ)1]ss,是使用任意时间步数从 s s s 过渡到 s ′ s' s 的折扣总概率。
通过令 [ ( I − γ P μ ) − 1 ] s s ′ ≐ Pr μ ( s ′ ∣ s ) [(I-\gamma P_\mu)^{-1}]_{ss^\prime}\doteq \text{Pr}_\mu(s^\prime|s) [(IγPμ)1]ssPrμ(ss),式 (10.19) 可得式 (10.16)。

在这里插入图片描述

在这里插入图片描述

Theorem 10.3 折扣情形下的 确定性策略梯度原理

折扣因子 γ ∈ ( 0 , 1 ) \gamma\in(0,1) γ(0,1) 的折扣情形

∇ θ J ( θ ) = ∑ s ∈ S ρ μ ( s ) ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) = E S ∼ ρ μ [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \begin{aligned}\nabla_\theta J(\theta)&=\sum\limits_{s\in {\cal S}}\rho_\mu (s)\nabla_\theta \mu(s)(\nabla_a q_\mu(s,a))|_{a= \mu(s)}\\ &={\mathbb E}_{S\sim \rho_\mu}[\nabla_\theta \mu(S)(\nabla _a q_\mu (S,a))|_{a=\mu(S)}]\end{aligned} θJ(θ)=sSρμ(s)θμ(s)(aqμ(s,a))a=μ(s)=ESρμ[θμ(S)(aqμ(S,a))a=μ(S)]

  • 其中 状态分布 ρ μ = ∑ s ′ ∈ S d 0 ( s ′ ) Pr μ ( s ∣ s ′ )        s ∈ S \rho_\mu=\sum\limits_{s^\prime\in {\cal S}}d_0(s^\prime)\text{Pr}_\mu (s|s^\prime)~~~~~~s\in {\cal S} ρμ=sSd0(s)Prμ(ss)      sS
    Pr μ ( s ∣ s ′ ) = ∑ k = 0 ∞ γ k [ ( I − γ P μ ) − 1 ] s ′ s \text{Pr}_\mu (s|s^\prime)=\sum\limits_{k=0}^\infty\gamma ^k [(I-\gamma P_\mu)^{-1}]_{s^\prime s} Prμ(ss)=k=0γk[(IγPμ)1]ss 是策略 μ \mu μ 下从 s ′ s^\prime s 转移到 s s s 的折扣总概率。

〔 注意这里没有 A A A,对于 获得 动作 a a a 的策略无要求,一般为 off-policy 〕

Box 10.4: 证明 Theorem 10.3

由于 d 0 d_0 d0 与 策略 μ \mu μ 无关
  ~  
∇ θ J ( θ ) = ∑ s ∈ S d 0 ( s ) ∇ θ v μ ( s ) \nabla_\theta J(\theta)=\sum\limits_{s\in {\cal S}}d_0(s)\nabla_\theta v_\mu (s) θJ(θ)=sSd0(s)θvμ(s)
  ~  
将 引理 10.1 中的 ∇ θ v μ ( s ) \nabla_\theta v_\mu(s) θvμ(s) 代入上述方程

在这里插入图片描述

∇ θ J ( θ ) = ∑ s ∈ S d 0 ( s ) ∇ θ v μ ( s ) = ∑ s ∈ S d 0 ( s ) ∑ s ′ ∈ S Pr μ ( s ′ ∣ s ) ∇ θ μ ( s ′ ) ( ∇ a q μ ( s ′ , a ) ) ∣ a = μ ( s ′ ) = ∑ s ′ ∈ S ( ∑ s ∈ S d 0 ( s ) Pr μ ( s ′ ∣ s ) ) ∇ θ μ ( s ′ ) ( ∇ a q μ ( s ′ , a ) ) ∣ a = μ ( s ′ ) = ∑ s ′ ∈ S ρ μ ( s ′ ) ∇ θ μ ( s ′ ) ( ∇ a q μ ( s ′ , a ) ) ∣ a = μ ( s ′ ) = ∑ s ∈ S ρ μ ( s ) ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s )       将  s ′  换成  s   = E S ∼ ρ μ [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \begin{aligned}\nabla_\theta J(\theta)&=\sum\limits_{s\in {\cal S}}d_0(s)\nabla_\theta v_\mu (s)\\ &=\sum\limits_{s\in {\cal S}}d_0(s)\sum\limits_{s^\prime \in {\cal S}}\text{Pr}_\mu (s^\prime|s)\nabla_\theta \mu(s^\prime)(\nabla_a q_\mu(s^\prime,a))|_{a=\mu(s^\prime)}\\ &=\sum\limits_{s^\prime \in {\cal S}}\Big(\sum\limits_{s\in {\cal S}}d_0(s)\text{Pr}_\mu (s^\prime|s)\Big)\nabla_\theta \mu(s^\prime)(\nabla_a q_\mu(s^\prime,a))|_{a=\mu(s^\prime)}\\ &=\sum\limits_{s^\prime \in {\cal S}}\rho_\mu(s^\prime)\nabla_\theta \mu(s^\prime)(\nabla_a q_\mu(s^\prime,a))|_{a=\mu(s^\prime)}\\ &=\sum\limits_{s \in {\cal S}}\rho_\mu(s)\nabla_\theta \mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}~~~~~\textcolor{blue}{将 ~s^\prime~ 换成 ~s~}\\ &={\mathbb E}_{S\sim \rho_\mu}[\nabla_\theta \mu (S)(\nabla_aq_\mu (S,a))|_{a=\mu(S)}]\end{aligned} θJ(θ)=sSd0(s)θvμ(s)=sSd0(s)sSPrμ(ss)θμ(s)(aqμ(s,a))a=μ(s)=sS(sSd0(s)Prμ(ss))θμ(s)(aqμ(s,a))a=μ(s)=sSρμ(s)θμ(s)(aqμ(s,a))a=μ(s)=sSρμ(s)θμ(s)(aqμ(s,a))a=μ(s)      s 换成 s =ESρμ[θμ(S)(aqμ(S,a))a=μ(S)]

《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch10 Actor-Critic 方法 » P2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值