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

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

指标 2: 平均奖励

J ( θ ) = r ˉ μ = ∑ s ∈ S d μ ( s ) r μ ( s ) = E S ∼ d μ [ r μ ( S ) ]            ( 10.20 ) \begin{aligned}J(\theta)=\bar r_\mu&=\sum\limits_{s\in {\cal S}}d_\mu(s)r_\mu(s)\\ &={\mathbb E}_{S\sim d_\mu}[r_\mu(S)]~~~~~~~~~~(10.20)\end{aligned} J(θ)=rˉμ=sSdμ(s)rμ(s)=ESdμ[rμ(S)]          (10.20)

  • 其中 r μ ( s ) = E [ R ∣ s , a = μ ( s ) ] = ∑ r r p ( r ∣ s , a = μ ( s ) ) r_\mu(s)={\mathbb E}[R|s,a=\mu(s)]=\sum\limits_r rp(r|s,a=\mu(s)) rμ(s)=E[Rs,a=μ(s)]=rrp(rs,a=μ(s)) 为即时奖励的期望
Theorem 10.4 无折扣情形下的 确定性 策略梯度原理

无折扣情形下

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

  • d μ d_\mu dμ 是策略 μ \mu μ 下的状态的状态分布。
Box 10.5: 证明 Theorem 10.4

由于 策略是确定性的, 有 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.21 ) \nabla_\theta v_\mu(s)=\nabla_\theta q_\mu (s,\mu(s))=(\nabla_\theta q_\mu(s,a))|_{a=\mu(s)}+\nabla_\theta\mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}~~~~~~~~~~(10.21) θvμ(s)=θqμ(s,μ(s))=(θqμ(s,a))a=μ(s)+θμ(s)(aqμ(s,a))a=μ(s)          (10.21)
  ~  
在无折扣情形,
  ~  
q μ ( s , a ) = E [ R t + 1 − r ˉ μ + v μ ( S t + 1 ) ∣ 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_\mu(s,a)&={\mathbb E}[R_{t+1}\textcolor{blue}{-\bar r_\mu} + v_\mu (S_{t+1})|s,a]\\ &=\sum\limits_r p(r|s,a)(r-\bar r_\mu)+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\mu(s^\prime)\\ &=r(s,a)-\bar r_\mu+\sum\limits_{s^\prime}p(s^\prime|s,a)v_\mu(s^\prime)\end{aligned} qμ(s,a)=E[Rt+1rˉμ+vμ(St+1)s,a]=rp(rs,a)(rrˉμ)+sp(ss,a)vμ(s)=r(s,a)rˉμ+sp(ss,a)vμ(s)
  ~  
由于 r ( s , a ) = ∑ r r p ( r ∣ s , a ) r(s,a)=\sum\limits_r r p(r|s,a) r(s,a)=rrp(rs,a) θ \theta θ 无关
  ~  
∇ θ q μ ( s , a ) = 0 − ∇ θ r ˉ μ + ∑ s ′ p ( s ′ ∣ s , a ) ∇ θ v μ ( s ′ ) \nabla _\theta q_\mu (s,a)=0-\nabla _\theta\bar r_\mu+\sum\limits_{s^\prime}p(s^\prime|s,a) \nabla _\theta v_\mu(s^\prime) θqμ(s,a)=0θrˉμ+sp(ss,a)θvμ(s)
  ~  
将上式 代入 式 (10.21)
  ~  
∇ θ v μ ( s ) = − ∇ θ r ˉ μ + ∑ s ′ p ( s ′ ∣ s , μ ( s ) ) ∇ θ v μ ( s ′ ) + ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) ⏟ u ( s )        s ∈ S \nabla_\theta v_\mu(s)=-\nabla _\theta\bar r_\mu+\sum\limits_{s^\prime}p(s^\prime|s,\mu(s)) \nabla _\theta v_\mu(s^\prime)+\underbrace{\nabla_\theta\mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}}_{u(s)}~~~~~~s\in {\cal S} θvμ(s)=θrˉμ+sp(ss,μ(s))θvμ(s)+u(s) θμ(s)(aqμ(s,a))a=μ(s)      sS
  ~  
上述方程对所有 s ∈ S s\in{\cal S} sS, 联合获得矩阵-向量形式;
  ~  
[ ⋮ ∇ θ v μ ( s ) ⋮ ] ⏟ ∇ θ v μ ∈ R m n = − 1 n ⊗ ∇ θ r ˉ μ + ( P μ ⊗ I m ) [ ⋮ ∇ θ v μ ( s ′ ) ⋮ ] ⏟ ∇ θ v μ ∈ R m n + [ ⋮ u ( s ) ⋮ ] ⏟ u ∈ R m n \underbrace{\begin{bmatrix}\vdots\\ \nabla_\theta v_\mu(s)\\ \vdots\end{bmatrix}}_{\nabla_\theta v_\mu \in {\mathbb R}^{mn}}=-{\bf 1}_n\otimes \nabla_\theta \bar r_\mu +(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}}+\underbrace{\begin{bmatrix}\vdots\\ u(s)\\ \vdots\end{bmatrix}}_{u \in {\mathbb R}^{mn}} θvμRmn θvμ(s) =1nθrˉμ+(PμIm)θvμRmn θvμ(s) +uRmn u(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 − 1 n ⊗ ∇ θ r ˉ μ + ( P μ ⊗ I m ) ∇ θ v μ \nabla_\theta v_\mu =u-{\bf 1}_n \otimes \nabla_\theta \bar r_\mu+(P_\mu\otimes I_m)\nabla_\theta v_\mu θvμ=u1nθrˉμ+(PμIm)θvμ
  ~  
移项
1 n ⊗ ∇ θ r ˉ μ = u + ( P μ ⊗ I m ) ∇ θ v μ − ∇ θ v μ            ( 10.22 ) {\bf 1}_n \otimes \nabla_\theta \bar r_\mu=u+(P_\mu\otimes I_m)\nabla_\theta v_\mu-\nabla_\theta v_\mu~~~~~~~~~~(10.22) 1nθrˉμ=u+(PμIm)θvμθvμ          (10.22)
  ~  
由于 d μ d_\mu dμ 是状态分布, 有 d μ T P μ = d μ T d_\mu^T P_\mu = d_\mu^T dμTPμ=dμT d μ T 1 n = 1 d_\mu^T{\bf 1}_n=1 dμT1n=1
  ~  
式 (10.22) 两边同乘 d μ T ⊗ I m d_\mu^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 μ ∇ θ r ˉ μ = d μ T ⊗ I m u + d μ T ⊗ I m ∇ θ v μ − d μ T ⊗ I m ∇ θ v μ = d μ T ⊗ I m u = ∑ s ∈ S d μ ( s ) u ( s ) = ∑ s ∈ S d μ ( s ) ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) = E S ∼ d μ [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \begin{aligned}d_\mu^T \otimes I_m\otimes {\bf 1}_n \otimes \nabla_\theta \bar r_\mu&=d_\mu^T \otimes I_m\otimes u+d_\mu^T \otimes I_m\otimes (P_\mu\otimes I_m)\nabla_\theta v_\mu-d_\mu^T \otimes I_m\otimes \nabla_\theta v_\mu\\ \nabla_\theta \bar r_\mu&=d_\mu^T \otimes I_m u+d_\mu^T \otimes I_m \nabla_\theta v_\mu-d_\mu^T \otimes I_m \nabla_\theta v_\mu\\ &=d_\mu^T \otimes I_m u\\ &=\sum\limits_{s\in {\cal S}}d_\mu(s)u(s)\\ &=\sum\limits_{s\in {\cal S}}d_\mu(s)\nabla_\theta \mu(s)(\nabla_a q_\mu(s,a))|_{a=\mu(s)}\\ &={\mathbb E}_{S\sim d_\mu}[\nabla_\theta \mu(S)(\nabla_a q_\mu (S,a))|_{a=\mu(S)}]\end{aligned} dμTIm1nθrˉμθrˉμ=dμTImu+dμTIm(PμIm)θvμdμTImθvμ=dμTImu+dμTImθvμdμTImθvμ=dμTImu=sSdμ(s)u(s)=sSdμ(s)θμ(s)(aqμ(s,a))a=μ(s)=ESdμ[θμ(S)(aqμ(S,a))a=μ(S)]

10.4.2 算法描述

在这里插入图片描述

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

θ t + 1 = θ t + α θ E S ∼ η [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \theta_{t+1}=\theta_t+\alpha _\theta {\mathbb E}_{S\sim \eta}[\nabla_\theta \mu(S)(\nabla_a q_\mu(S,a))|_{a=\mu(S)}] θt+1=θt+αθESη[θμ(S)(aqμ(S,a))a=μ(S)]

相应的随机梯度算法为: θ t + 1 = θ t + α θ ∇ θ μ ( s t ) ( ∇ a q μ ( s t , a ) ) ∣ a = μ ( s t ) \theta_{t+1}=\theta_t+\alpha_\theta \nabla_\theta\mu(s_t)(\nabla_a q_\mu(s_t,a))|_{a=\mu(s_t)} θt+1=θt+αθθμ(st)(aqμ(st,a))a=μ(st)

必须特别注意为什么 critic 是异策略off-policy,但不需要重要性采样技术
特别地,critic 需要的经验样本是 ( s t , a t , r t + 1 , s t + 1 , a ~ t + 1 ) (s_t, a_t, r_{t+1}, s_{t+1}, \tilde a_{t+1}) (st,at,rt+1,st+1,a~t+1),其中 a ~ t + 1 = μ ( s t + 1 ) \tilde a_{t+1}= μ(s_{t+1}) a~t+1=μ(st+1)。这个经验样本的生成涉及两个策略。第一个是用于在 s t s_t st 生成 a t a_t at 的策略 【行为策略, a t a_t at 用于和环境交互】,第二个是用于在 s t + 1 s_{t+1} st+1 生成 a ~ t + 1 \tilde a_{t+1} a~t+1 的策略 【目标策略 μ \mu μ,是 critic 拟评估的策略】。
应该注意的是, a ~ t + 1 \tilde a_{t+1} a~t+1 不用于与下一个时间步中的环境进行交互。因此, μ \mu μ 不是行为策略。因此,critic 是异策略off-policy

如何选择函数 q ( s , a , w ) q(s, a, w) q(s,a,w)? ——> 神经网络
提出确定性策略梯度方法的原始研究工作[74]采用线性函数 q ( s , a , w ) = ϕ T ( s , a ) w q(s, a, w) = \phi^T (s, a)w q(s,a,w)=ϕT(s,a)w,其中 ϕ ( s , a ) \phi(s,a) ϕ(s,a) 为特征向量。〔 DPG 〕
目前流行使用神经网络表示 q ( s , a , w ) q(s, a, w) q(s,a,w),如深度确定性策略梯度(deep deterministic policy gradient, DDPG) 方法[75]。

如何选择行为策略 β \beta β?
它可以是任何探索性政策。它也可以是通过在 μ μ μ 中加入噪声得到的随机策略[75]。在这种情况下, μ μ μ 也是行为策略,因此这种方式是 同策略on-policy 的实现。

10.5 总结

最简单的 actor-critic 算法 QAC。该算法类似于上一章介绍的策略梯度算法——REINFORCE。唯一的区别是 QAC 中的 Q 值估计依赖于 TD 学习,而 REINFORCE 依赖于蒙特卡罗估计。

advantage actor-critic: 策略梯度对任何附加基线都是不变的。最优基线可以帮助减少估计方差

off-policy异策略: importance sampling重要性采样

SAC、TRPO、PPO、TD3

10.6 Q & A

1、actor-critic 和 策略梯度方法之间的关系是什么?
actor-critic 方法实际上是策略梯度方法。
在任何策略梯度算法中,都需要估计动作价值。当使用带有价值函数近似的时序差分学习( temporal-difference learning) 来估计动作价值时,这种策略梯度算法被称为 actor - critic。
“actor-critic” 这个名字突出了它的算法结构,它结合了策略更新和价值更新的组件。这个结构也是所有强化学习算法中使用的基本结构。

QAC + 基线技巧 减小 近似方差 = advantage actor-critic

Q:为什么确定性策略梯度方法是 off-policy?
A: 确定性情况下的真梯度不涉及动作随机变量
因此,当我们使用样本来近似真实梯度时,不需要对动作进行采样,因此可以使用任何策略。因此,确定性策略梯度方法是 off-policy。

〔 江湖 见 〕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值