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π(A∣S,θ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π(at∣st,θ)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π(A∣S,θt)qπ(S,A)]=ES∼η,A∼π[∇θlnπ(A∣S,θ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π(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
为什么 基线 有用?
当我们使用样本来近似真实梯度时,它可以减少近似方差。
令 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π(A∣S,θ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π(A∣s,θt)∥2]EA∼π[∥∇θlnπ(A∣s,θt)∥2qπ(s,A)], s∈S (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π(A∣s,θ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), s∈S
$\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[(X−xˉ)(X−xˉ)T]]=tr[E[XXT−xˉXT−XxˉT+xˉxˉT]] tr(AB)=tr(BA) ???交换矩阵位置得到下式,为啥求迹能丢掉=E[XTX−XTxˉ−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]=s∈S∑η(s)EA∼π[∥∇θlnπ∥2(qπ(S,A)−b(S))2] b(S) 影响方差
~
为确保 对任意 s ∈ S s\in {\cal S} s∈S, 均有 ∇ 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, s∈S
~
求解上式得 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π(A∣s,θt)∥2]EA∼π[∥∇θlnπ(A∣s,θt)∥2qπ(s,A)], s∈S
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π(A∣S,θt)[qπ(S,A)−vπ(S)]]=θt+αE[∇θlnπ(A∣S,θ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)=a∈A∑π(a∣s)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π(at∣st,θt)[qt(st,at)−vt(st)]=θt+α∇θlnπ(at∣st,θ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π(at∣st,θt)Δt(st,at)=θt+απ(at∣st,θt)∇θπ(at∣st,θt)Δt(st,at)=θt+απ(at∣st,θt)Δt(st,at)∇θπ(at∣st,θ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} X∈X, 假设 p 0 ( X ) p_0(X) p0(X) 是一个概率分布。 我们的目标是 估计 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[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=1∑nxi 可以用来近似 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[X],因为 x ˉ \bar x xˉ 是 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[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]
EX∼p0[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=1∑nxi 近似 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[X],因为 x ˉ ≈ E X ∼ p 1 [ X ] \bar x \approx{\mathbb E}_{X\sim p_1}[X] xˉ≈EX∼p1[X] 而不是 E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[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) EX∼p0[X]=x∈X∑p0(x)x=x∈X∑p1(x)p1(x)p0(x)x=EX∼p1[f(X)] (10.9)
E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[X] ——> E X ∼ p 1 [ f ( X ) ] {\mathbb E}_{X\sim p_1}[\textcolor{blue}{f(X)}] EX∼p1[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=1∑nf(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) EX∼p0[X]=EX∼p1[f(X)]≈fˉ=n1i=1∑nf(xi)=n1i=1∑np1(xi)p0(xi)xi (10.10)
E X ∼ p 0 [ X ] {\mathbb E}_{X\sim p_0}[X] EX∼p0[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(θ)=s∈S∑dβ(s)vπ(s)=ES∼dβ[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∼β[β(A∣S)π(A∣S,θ)∇θlnπ(A∣S,θ)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)≐s′sinS∑dβ(s′)Prπ(s∣s′), s∈S
其中 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π(s∣s′)=k=0∑∞γk[Pπk]s′s=[(I−γPπ)−1]s′s 在策略 π \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(θ)=∇θs∈S∑dβ(s)vπ(s)=s∈S∑dβ(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)=s′∈S∑Prπ(s′∣s)a∈A∑∇θπ(a∣s′,θ)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(s′∣s)≐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(θ)=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 =ES∼ρ[a∈A∑∇θπ(a∣S,θ)qπ(S,a)]=ES∼ρ[a∈A∑β(a∣S)β(a∣S)π(a∣S,θ)π(a∣S,θ)∇θπ(a∣S,θ)qπ(S,a)] 重要性采样=ES∼ρ[a∈A∑β(a∣S)β(a∣S)π(a∣S,θ)∇θlnπ(a∣S,θ)qπ(S,a)]=ES∼ρ,A∼β[β(A∣S)π(A∣S,θ)∇θlnπ(A∣S,θ)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β(at∣st)π(at,st,θ)∇θlnπ(at∣st,θ)Δ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β(at∣st)Δt(st,at)∇θπ(at∣st,θ)
- 当
Δ
t
\Delta_t
Δt 比较大,说明这个动作比其他动作的价值大,下一时刻将增大 相应的权重。
利用 - 由于 分母 β ( a ∣ s ) \beta(a|s) β(a∣s) 保持不变,所以不存在探索。
——————————————
10.4 确定性 actor-critic 【连续动作空间】
〔 一个状态,无限个 动作 ——> 考虑用 确定性策略〕
“确定性”表示,对于任何状态,单个动作的概率为 1,而所有其他动作的概率为 0。研究确定性情况是很重要的,因为它是自然的异策略off-policy,可以有效地处理连续的动作空间。
我们一直使用
π
(
a
∣
s
,
θ
)
π(a|s,θ)
π(a∣s,θ) 来表示一般策略,它可以是随机的,也可以是确定的。
在本节中,我们使用
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(θ)=s∈S∑η(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)]=s∈S∑d0(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} s∈S,有
~
∇ θ 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)=s′∈S∑Prμ(s′∣s)∇θμ(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μ(s′∣s)≐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)+γs′∈S∑p(s′∣s,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)=r∑rp(r∣s,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+γs′∈S∑p(s′∣s,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 s′∈S∑p(s′∣s,μ(s))∇θvμ(s′)+u(s) ∇θμ(s)(∇aqμ(s,a))∣a=μ(s) s∈S
~
矩阵-向量形式:
~
[ ⋮ ∇ θ 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)⋮ =u∈Rmn ⋮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(s′∣s,μ(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=(In⊗Im−γPμ⊗Im)−1u=[(In−γPμ)−1⊗Im]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)=s′∈S∑[(I−γPμ)−1]ss′μ(s′)=s′∈S∑[(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]ss′≐Prμ(s′∣s),式 (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(θ)=s∈S∑ρμ(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}
ρμ=s′∈S∑d0(s′)Prμ(s∣s′) s∈S
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μ(s∣s′)=k=0∑∞γk[(I−γPμ)−1]s′s 是策略 μ \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(θ)=s∈S∑d0(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(θ)=s∈S∑d0(s)∇θvμ(s)=s∈S∑d0(s)s′∈S∑Prμ(s′∣s)∇θμ(s′)(∇aqμ(s′,a))∣a=μ(s′)=s′∈S∑(s∈S∑d0(s)Prμ(s′∣s))∇θμ(s′)(∇aqμ(s′,a))∣a=μ(s′)=s′∈S∑ρμ(s′)∇θμ(s′)(∇aqμ(s′,a))∣a=μ(s′)=s∈S∑ρμ(s)∇θμ(s)(∇aqμ(s,a))∣a=μ(s) 将 s′ 换成 s =ES∼ρμ[∇θμ(S)(∇aqμ(S,a))∣a=μ(S)]