《强化学习的数学原理》(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)=ER∣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)=ERt+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。

〔 江湖 见 〕

相关推荐
Li_RuiQi11 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
Li_RuiQi16 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
He BianGu16 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
AI视觉网奇16 小时前
turtle 入门教程笔记
笔记
跨知易知识产权17 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
杨逢昌工厂6S管理17 小时前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生17 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
陈哈哈111117 小时前
折腾了半天,总算把 Vim 9.2 装明白了
笔记
陈哈哈111117 小时前
折腾了半天,总算把 OpenGL 的开发环境给装明白了
笔记
深圳老胡18 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节