目的是最大化reward函数,即调整 θ ,使得期望回报最大,可以用公式表示如下
J
(
θ
)
=
E
τ
∼
p
(
T
)
[
∑
t
r
(
s
t
,
a
t
)
]
\mathrm{J}(\theta)=\mathrm{E}_{\tau \sim p}(\mathcal{T})\left[\sum_{\mathrm{t}} \mathrm{r}\left(\mathrm{s}_{t}, \mathrm{a}_{\mathrm{t}}\right)\right]
J(θ)=Eτ∼p(T)[t∑r(st,at)]
对于上面的式子,
τ
\tau
τ 表示从从开始到结束的一条完整路径。通常,对于最大化问题,我们可以使用梯度上升算法来找到最大值,即
θ
∗
=
θ
+
α
∇
J
(
θ
)
\theta^{*}=\theta+\alpha \nabla \mathrm{J}(\theta)
θ∗=θ+α∇J(θ)
所以我们仅仅需要计算 (更新)
∇
J
(
θ
)
\nabla J(\theta)
∇J(θ) ,也就是计算回报函数
J
(
θ
)
J(\theta)
J(θ) 关于
θ
\theta
θ 的梯度,也就是策略梯度,计算方法如下:
∇
θ
J
(
θ
)
=
∫
∇
θ
p
θ
(
τ
)
r
(
τ
)
d
τ
=
∫
p
θ
∇
θ
log
p
θ
(
τ
)
r
(
τ
)
d
τ
=
E
τ
∼
p
θ
(
τ
)
[
∇
θ
log
p
θ
(
τ
)
r
(
τ
)
]
接着我们继续讲上式展开,对于
p
θ
(
τ
)
\mathrm{p}_{\theta}(\tau)
pθ(τ) ,即
p
θ
(
τ
∣
θ
)
\mathrm{p}_{\theta}(\tau \mid \theta)
pθ(τ∣θ) :
p
θ
(
τ
∣
θ
)
=
p
(
s
1
)
∏
t
=
1
T
π
θ
(
a
t
∣
s
t
)
p
(
s
t
+
1
∣
s
t
,
a
t
)
\mathrm{p}_{\theta}(\tau \mid \theta)=\mathrm{p}\left(\mathrm{s}_{1}\right) \prod_{t=1}^{\mathrm{T}} \pi_{\theta}\left(\mathrm{a}_{t} \mid \mathrm{s}_{\mathrm{t}}\right) \mathrm{p}\left(\mathrm{s}_{t+1} \mid \mathrm{s}_{t}, \mathrm{a}_{\mathrm{t}}\right)
pθ(τ∣θ)=p(s1)t=1∏Tπθ(at∣st)p(st+1∣st,at)
取对数后为:
log
p
θ
(
τ
∣
θ
)
=
log
p
(
s
1
)
+
∑
t
=
1
T
log
π
θ
(
a
t
∣
s
t
)
p
(
s
t
+
1
∣
s
t
,
a
t
)
\log p_{\theta}(\tau \mid \theta)=\log p\left(s_{1}\right)+\sum_{t=1}^{T} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right) p\left(s_{t+1} \mid s_{t}, a_{t}\right)
logpθ(τ∣θ)=logp(s1)+t=1∑Tlogπθ(at∣st)p(st+1∣st,at)
继续求导:
∇
log
p
θ
(
τ
∣
θ
)
=
∑
t
=
1
T
∇
θ
log
π
θ
(
a
t
∣
s
t
)
\nabla \log p_{\theta}(\tau \mid \theta)=\sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)
∇logpθ(τ∣θ)=t=1∑T∇θlogπθ(at∣st)
带入第三个式子,可以将其化简为:
∇
θ
J
(
θ
)
=
E
τ
∼
p
θ
(
τ
)
[
∇
θ
log
p
θ
(
τ
)
r
(
τ
)
]
=
E
τ
∼
p
θ
[
(
∇
θ
log
π
θ
(
a
t
∣
s
t
)
)
(
∑
t
=
1
T
r
(
s
t
,
a
t
)
)
]
=
1
N
∑
i
=
1
N
[
(
∑
t
=
1
T
∇
θ
log
π
θ
(
a
i
,
t
∣
s
i
,
t
)
)
(
∑
t
=
1
N
r
(
s
i
,
t
,
a
i
,
t
)
)
]
使用另外一种数据分布,来逼近所求分布的一种方法,算是一种期望修正的方法,公式是:
∫
f
(
x
)
p
(
x
)
d
x
=
∫
f
(
x
)
p
(
x
)
q
(
x
)
q
(
x
)
d
x
=
E
x
∼
q
[
f
(
x
)
p
(
x
)
q
(
x
)
]
=
E
x
∼
p
[
f
(
x
)
]
在已知
q
q
q 的分布后,可以使用上述公式计算出从 p 分布的期望值。也就可以使用
q
q
q 来对于 p 进行采样了,即为重要性采样。