1. Motivation
在TRPO中,我们通过解如下优化问题对策略参数进行更新:
maximize
θ
E
t
[
π
θ
(
a
t
∣
s
t
)
π
θ
o
l
d
(
a
t
∣
s
t
)
A
t
]
,
s
.
t
.
E
[
D
ˉ
K
L
[
π
θ
o
l
d
(
⋅
,
s
t
)
,
π
θ
(
⋅
,
s
t
)
]
]
≤
δ
.
(1)
\text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t],\\ s.t. \mathbb{E}[\bar D_{KL}[\pi_{\theta_{old}}(\cdot,s_t),\pi_{\theta}(\cdot,s_t)]] \le \delta. \tag{1}
maximizeθEt[πθold(at∣st)πθ(at∣st)At],s.t.E[DˉKL[πθold(⋅,st),πθ(⋅,st)]]≤δ.(1)PPO指出,实际在TRPO的理论分析中,针对的是无约束优化问题:
maximize
θ
E
t
[
π
θ
(
a
t
∣
s
t
)
π
θ
o
l
d
(
a
t
∣
s
t
)
A
t
−
β
D
K
L
m
a
x
[
π
θ
o
l
d
(
⋅
,
s
t
)
,
π
θ
(
⋅
,
s
t
)
]
.
(2)
\text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t - \beta D_{KL}^{max}[\pi_{\theta_{old}}(\cdot,s_t),\pi_{\theta}(\cdot,s_t)].\tag{2}
maximizeθEt[πθold(at∣st)πθ(at∣st)At−βDKLmax[πθold(⋅,st),πθ(⋅,st)].(2)TRPO中发现,难以选择合适的
β
\beta
β来解决(2)中的问题。并且,由于TRPO将
D
K
L
m
a
x
D_{KL}^{max}
DKLmax(最大值)替换为了
D
ˉ
K
L
\bar D_{KL}
DˉKL(平均值),导致实际上(2)是一个比(1)更低的下界估计。
因此,PPO从以上角度出发,首先将TRPO中的约束优化问题变为了无约束优化问题,并且通过修改目标函数,使得约束隐式地保留。
2. Algorithm
若不考虑约束,则TRPO的优化目标可以写为:
maximize
θ
E
t
[
π
θ
(
a
t
∣
s
t
)
π
θ
o
l
d
(
a
t
∣
s
t
)
A
t
]
=
E
t
[
r
t
(
θ
)
A
t
]
,
(3)
\text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t] = \mathbb{E}_t[r_t(\theta)A_t],\tag{3}
maximizeθEt[πθold(at∣st)πθ(at∣st)At]=Et[rt(θ)At],(3)其中
r
(
θ
)
=
π
θ
(
a
t
∣
s
t
)
π
θ
o
l
d
(
a
t
∣
s
t
)
∈
[
0
,
+
∞
]
r(\theta) = \frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} \in [0, +\infty]
r(θ)=πθold(at∣st)πθ(at∣st)∈[0,+∞],且
r
(
θ
o
l
d
)
=
1
r(\theta_{old})=1
r(θold)=1。为了使
r
(
θ
)
r(\theta)
r(θ)不偏离1太远(类似于TRPO中的KL散度约束),PPO设计了以下的目标函数:
L
C
L
I
P
(
θ
)
=
E
t
[
min
(
r
t
(
θ
)
A
t
,
clip
(
r
t
(
θ
)
,
1
−
ϵ
,
1
+
ϵ
)
A
t
)
]
.
(4)
L^{CLIP}(\theta) = \mathbb{E}_t[\min(r_t(\theta)A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)A_t)]. \tag{4}
LCLIP(θ)=Et[min(rt(θ)At,clip(rt(θ),1−ϵ,1+ϵ)At)].(4)其作用是当
A
>
0
A>0
A>0时,将
r
(
θ
)
r(\theta)
r(θ)在
1
+
ϵ
1+\epsilon
1+ϵ处截断,当
A
<
0
A<0
A<0时,将
r
(
θ
)
r(\theta)
r(θ)在
1
−
ϵ
1-\epsilon
1−ϵ处截断(见PPO论文Figure1)。注意到,目标函数(4)是(3)的下界。其余部分与一般的AC算法无异,包括更新Critic网络,估计
A
t
A_t
At等,可参考PPO论文5. Algorithm部分,在此不再赘述。