赞
踩
本文主角:
∇ θ J ( θ ) ∝ ∑ s ∈ S μ π θ ( s ) ∑ a ∈ A Q π θ ( s , a ) ∇ θ π θ ( a ∣ s ) \nabla_{\theta}J(\theta) \propto \sum_{s \in \mathcal{S}} \mu^{\pi_{\theta}}(s) \sum_{a \in \mathcal{A}} Q^{\pi_{\theta}}(s, a) \nabla_{\theta}\pi_{\theta}(a|s) ∇θJ(θ)∝∑s∈Sμπθ(s)∑a∈AQπθ(s,a)∇θπθ(a∣s)
这个公式是策略梯度定理的表述,它表明一个策略的性能梯度(即优化目标函数 J ( θ ) J(\theta) J(θ)的梯度)与在该策略下各状态的访问频率 μ π θ ( s ) \mu^{\pi_{\theta}}(s) μπθ(s),以及在这些状态下,采取不同动作的价值 Q π θ ( s , a ) Q^{\pi_{\theta}}(s, a) Qπθ(s,a)和采取这些动作的策略概率的梯度 ∇ θ π θ ( a ∣ s ) \nabla_{\theta}\pi_{\theta}(a|s) ∇θπθ(a∣s)的乘积之和成正比。
在强化学习中,这个公式是用来指导如何调整策略参数 θ \theta θ,以便最大化长期奖励。通过梯度上升算法,我们可以改善策略,使得在高价值 Q Q Q下采取的动作更加频繁,从而提高整体策略的期望回报。
下面是完整推导:
定义状态值函数的梯度:
∇
θ
V
π
(
s
)
=
∇
θ
(
∑
a
∈
A
π
(
a
∣
s
)
Q
π
(
s
,
a
)
)
\nabla_{\theta}V^{\pi}(s) = \nabla_{\theta}\left(\sum_{a \in A} \pi(a|s)Q^{\pi}(s, a)\right)
∇θVπ(s)=∇θ(∑a∈Aπ(a∣s)Qπ(s,a))
这一步基于状态值函数
V
π
(
s
)
V^{\pi}(s)
Vπ(s)的定义,即给定策略
π
\pi
π下,在状态
s
s
s采取所有可能动作
a
a
a的期望回报的总和。这里,
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)是在状态
s
s
s下选择动作
a
a
a的策略概率,而
Q
π
(
s
,
a
)
Q^{\pi}(s, a)
Qπ(s,a)是执行动作
a
a
a并遵循策略
π
\pi
π的期望回报。
应用梯度和乘积规则:
=
∑
a
∈
A
(
∇
θ
π
(
a
∣
s
)
Q
π
(
s
,
a
)
+
π
(
a
∣
s
)
∇
θ
Q
π
(
s
,
a
)
)
= \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \pi(a|s)\nabla_{\theta}Q^{\pi}(s, a)\right)
=∑a∈A(∇θπ(a∣s)Qπ(s,a)+π(a∣s)∇θQπ(s,a))
这一步通过应用梯度运算符和乘积规则(
∇
(
x
y
)
=
x
∇
y
+
y
∇
x
\nabla(xy) = x\nabla y + y\nabla x
∇(xy)=x∇y+y∇x)来分解每个项。第一项考虑了策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)对参数
θ
\theta
θ的直接依赖,而第二项考虑了行为值函数
Q
π
(
s
,
a
)
Q^{\pi}(s, a)
Qπ(s,a)对
θ
\theta
θ的依赖。
行为值函数的梯度展开:
=
∑
a
∈
A
(
∇
θ
π
(
a
∣
s
)
Q
π
(
s
,
a
)
+
π
(
a
∣
s
)
∇
θ
∑
s
′
,
r
P
(
s
′
,
r
∣
s
,
a
)
(
r
+
γ
V
π
(
s
′
)
)
)
= \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \pi(a|s)\nabla_{\theta}\sum_{s', r}P(s', r|s, a)\left(r + \gamma V^{\pi}(s')\right)\right)
=∑a∈A(∇θπ(a∣s)Qπ(s,a)+π(a∣s)∇θ∑s′,rP(s′,r∣s,a)(r+γVπ(s′)))
这里将
Q
π
(
s
,
a
)
Q^{\pi}(s, a)
Qπ(s,a)按其定义展开,即为给定状态
s
s
s和动作
a
a
a后的即时奖励
r
r
r加上折扣后的未来奖励的期望值。梯度作用于整个表达式,注意到
r
r
r和
γ
\gamma
γ是常数,梯度只作用于
V
π
(
s
′
)
V^{\pi}(s')
Vπ(s′)。
简化即时奖励的影响:
=
∑
a
∈
A
(
∇
θ
π
(
a
∣
s
)
Q
π
(
s
,
a
)
+
γ
π
(
a
∣
s
)
∑
s
′
,
r
P
(
s
′
,
r
∣
s
,
a
)
∇
θ
V
π
(
s
′
)
)
= \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \gamma\pi(a|s)\sum_{s', r}P(s', r|s, a)\nabla_{\theta}V^{\pi}(s')\right)
=∑a∈A(∇θπ(a∣s)Qπ(s,a)+γπ(a∣s)∑s′,rP(s′,r∣s,a)∇θVπ(s′))
在这一步中,即时奖励
r
r
r被省略,因为它不依赖于
θ
\theta
θ,因此其梯度为零。只有未来奖励的部分,即
γ
V
π
(
s
′
)
\gamma V^{\pi}(s')
γVπ(s′),对
θ
\theta
θ有依赖,因此梯度只作用于这部分。
进一步简化概率项:
=
∑
a
∈
A
(
∇
θ
π
(
a
∣
s
)
Q
π
(
s
,
a
)
+
γ
π
(
a
∣
s
)
∑
s
′
P
(
s
′
∣
s
,
a
)
∇
θ
V
π
(
s
′
)
)
= \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \gamma\pi(a|s)\sum_{s'}P(s'|s, a)\nabla_{\theta}V^{\pi}(s')\right)
=∑a∈A(∇θπ(a∣s)Qπ(s,a)+γπ(a∣s)∑s′P(s′∣s,a)∇θVπ(s′))
目标函数的梯度:
∇
θ
J
(
θ
)
=
∇
θ
E
s
0
[
V
π
θ
(
s
0
)
]
\nabla_{\theta}J(\theta) = \nabla_{\theta} \mathbb{E}_{s_0}[V^{\pi_{\theta}}(s_0)]
∇θJ(θ)=∇θEs0[Vπθ(s0)]
这一步定义了目标函数
J
(
θ
)
J(\theta)
J(θ)作为初始状态
s
0
s_0
s0下的状态值函数
V
π
θ
(
s
0
)
V^{\pi_{\theta}}(s_0)
Vπθ(s0)的期望值的梯度。
引入状态转移概率:
=
∑
s
E
s
0
[
∑
k
=
0
∞
γ
k
d
π
θ
(
s
0
→
s
,
k
)
]
ϕ
(
s
)
= \sum_s \mathbb{E}_{s_0} \left[ \sum_{k=0}^{\infty} \gamma^k d^{\pi_{\theta}}(s_0 \rightarrow s, k) \right] \phi(s)
=∑sEs0[∑k=0∞γkdπθ(s0→s,k)]ϕ(s)
此处,将目标函数中的期望展开,包含从初始状态
s
0
s_0
s0到任意状态
s
s
s的折扣转移概率
d
π
θ
(
s
0
→
s
,
k
)
d^{\pi_{\theta}}(s_0 \rightarrow s, k)
dπθ(s0→s,k),乘以状态
s
s
s的特征向量
ϕ
(
s
)
\phi(s)
ϕ(s)。每个状态的特征向量与它被访问的概率加权求和。
引入状态分布
η
(
s
)
\eta(s)
η(s):
=
∑
s
η
(
s
)
ϕ
(
s
)
= \sum_s \eta(s) \phi(s)
=∑sη(s)ϕ(s)
这里,
η
(
s
)
\eta(s)
η(s)是在策略
π
θ
\pi_{\theta}
πθ下访问状态
s
s
s的稳态分布。它是从任何初始状态出发,经过无限步骤后到达状态
s
s
s的概率。
状态分布的规范化:
∝
∑
s
η
(
s
)
∑
s
′
η
(
s
′
)
ϕ
(
s
)
\propto \sum_s \frac{\eta(s)}{\sum_{s'} \eta(s')} \phi(s)
∝∑s∑s′η(s′)η(s)ϕ(s)
这一步表明状态分布被规范化了,使得所有状态的分布之和为1。这是为了将状态分布转化为概率分布。
使用
η
(
s
)
\eta(s)
η(s)的定义:
=
∑
s
μ
(
s
)
∑
a
Q
π
θ
(
s
,
a
)
∇
θ
π
θ
(
a
∣
s
)
= \sum_s \mu(s) \sum_a Q^{\pi_{\theta}}(s, a) \nabla_{\theta} \pi_{\theta}(a|s)
=∑sμ(s)∑aQπθ(s,a)∇θπθ(a∣s)
最终,我们得到了策略梯度定理的标准形式。这里
μ
(
s
)
\mu(s)
μ(s)代表状态
s
s
s在策略
π
θ
\pi_{\theta}
πθ下的访问频率,而
Q
π
θ
(
s
,
a
)
Q^{\pi_{\theta}}(s, a)
Qπθ(s,a)是在状态
s
s
s下采取动作
a
a
a的行为值函数。梯度
∇
θ
π
θ
(
a
∣
s
)
\nabla_{\theta} \pi_{\theta}(a|s)
∇θπθ(a∣s)表示策略对参数的依赖性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。