《强化学习的数学原理》(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ˉμ=s∈S∑dμ(s)rμ(s)=ES∼dμ[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[R∣s,a=μ(s)]=r∑rp(r∣s,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(θ)=s∈S∑dμ(s)∇θμ(s)(∇aqμ(s,a))∣a=μ(s)=ES∼dμ[∇θμ(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+1−rˉμ+vμ(St+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′)
~

由于 r ( s , a ) = ∑ r r p ( r ∣ s , a ) r(s,a)=\sum\limits_r r p(r|s,a) r(s,a)=r∑rp(r∣s,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ˉμ+s′∑p(s′∣s,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ˉμ+s′∑p(s′∣s,μ(s))∇θvμ(s′)+u(s) ∇θμ(s)(∇aqμ(s,a))∣a=μ(s) s∈S
~

上述方程对所有 s ∈ S s\in{\cal S} s∈S, 联合获得矩阵-向量形式;
~

⋮ ∇ θ 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′)⋮ +u∈Rmn ⋮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(s′∣s,μ(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μ=u−1n⊗∇θ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μT⊗Im 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μT⊗Im⊗1n⊗∇θrˉμ∇θrˉμ=dμT⊗Im⊗u+dμT⊗Im⊗(Pμ⊗Im)∇θvμ−dμT⊗Im⊗∇θvμ=dμT⊗Imu+dμT⊗Im∇θvμ−dμT⊗Im∇θvμ=dμT⊗Imu=s∈S∑dμ(s)u(s)=s∈S∑dμ(s)∇θμ(s)(∇aqμ(s,a))∣a=μ(s)=ES∼dμ\[∇θμ(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。

〔 江湖 见 〕

相关推荐
fen_fen22 分钟前
学习笔记(32):matplotlib绘制简单图表-数据分布图
笔记·学习·matplotlib
阿里云大数据AI技术3 小时前
Post-Training on PAI (3): 自研高性能强化学习框架PAI-ChatLearn
人工智能·开源·强化学习
饕餮争锋4 小时前
设计模式笔记_创建型_建造者模式
笔记·设计模式·建造者模式
萝卜青今天也要开心4 小时前
2025年上半年软件设计师考后分享
笔记·学习
吃货界的硬件攻城狮5 小时前
【STM32 学习笔记】SPI通信协议
笔记·stm32·学习
蓝染yy5 小时前
Apache
笔记
lxiaoj1116 小时前
Python文件操作笔记
笔记·python
半导体守望者7 小时前
ADVANTEST R4131 SPECTRUM ANALYZER 光谱分析仪
经验分享·笔记·功能测试·自动化·制造
啊我不会诶8 小时前
倍增法和ST算法 个人学习笔记&代码
笔记·学习·算法
逼子格8 小时前
振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
笔记·嵌入式硬件·硬件工程·硬件工程师·硬件工程师真题·multisim电路仿真·震荡电流