??本文是自己的TRPO
算法学习笔记,在数学原理推导核心部分附有自己的理解与解释。整篇文章逻辑清晰,思路顺畅。有想推导的同学可以一起学习。
??TRPO
和PPO
都是基于Minorize-Maximization MM
的算法。
Surrogate function
??RL
中期望maximizing the expected discounted rewards
,期望折扣奖励
η
\eta
η 可用如下数学公式表示:
η
(
π
θ
)
=
E
τ
?
π
θ
[
∑
t
=
0
∞
γ
t
r
t
]
\eta\left(\pi_{\theta}\right)=\underset{\tau \sim \pi_{\theta}}{\mathrm{E}}\left[\sum_{t=0}^{\infty} \gamma^{t} r_{t}\right]
η ( π θ ? ) = τ ? π θ ? E ? [ t = 0 ∑ ∞ ? γ t r t ? ]
??我们希望去找到一个surrogate function
(替代函数),替代函数具有如下性质:
a lower bound function for
η
\eta
η ;(是
η
\eta
η 的一个下界函数)
approximate
η
\eta
η at the current policy (在当前策略下能够近似等于
η
\eta
η )
easy to optimize. (找这样一个替代函数的目的就是方便优化)
??其图形表示为下图所示(蓝色表示下界函数,红色表示期望折扣奖励):
??在每一次迭代中,希望去找到一个对于下界函数
M
M
M 来说的最优点,并把它当作当前的策略,如下图所示:
??之后,我们基于新的policy
,重新评估下界(re-evaluate a lower bound
),并重复迭代。重复上述过程,策略将会被持续改进。由于策略集有限,所以所以最终将会收敛到局部最优或者全局最优,整个流程如下图所示:
??整体的目标就是在原有的参数空间
θ
\theta
θ 上很难去计算最优值,我们期望用一个替代函数来作为它的lower bound
,下界函数比较好优化,然后通过迭代的方式让其逼近原始最优解。
Objective function
??上述想法就很不错,现在我们需要去寻找目标函数和替代函数了。
??首先我们去定义Q-Value function
,Value function
和Advantage function
,如下:
Q
π
(
s
t
,
a
t
)
=
E
s
t
+
1
,
a
t
+
1
,
?
[
∑
l
=
0
∞
γ
l
r
(
s
t
+
l
)
]
Q_{\pi}(s_{t},a_{t}) = \mathbb{E_{s_{t+1},a_{t+1},\cdots}}\left[ \sum_{l=0}^{\infty} \gamma^{l}r(s_{t+l}) \right]
Q π ? ( s t ? , a t ? ) = E s t + 1 ? , a t + 1 ? , ? ? [ l = 0 ∑ ∞ ? γ l r ( s t + l ? ) ]
V
π
(
s
t
)
=
E
a
t
,
s
t
+
1
,
?
[
∑
l
=
0
∞
γ
l
r
(
s
t
+
1
)
]
V_{\pi}(s_{t}) = \mathbb{E}_{a_{t},s_{t+1},\cdots} \left[ \sum_{l=0}^{\infty} \gamma^{l}r(s_{t+1}) \right]
V π ? ( s t ? ) = E a t ? , s t + 1 ? , ? ? [ l = 0 ∑ ∞ ? γ l r ( s t + 1 ? ) ]
A
π
(
s
,
a
)
=
Q
π
(
s
,
a
)
?
V
π
(
s
)
A_{\pi}(s,a) = Q_{\pi}(s,a) -V_{\pi}(s)
A π ? ( s , a ) = Q π ? ( s , a ) ? V π ? ( s )
??其中
a
t
?
π
(
a
t
∣
s
t
)
a_{t} \sim \pi(a_{t}|s_{t})
a t ? ? π ( a t ? ∣ s t ? ) ,
s
t
+
1
?
P
(
s
t
+
1
∣
s
t
,
a
t
)
s_{t+1} \sim P(s_{t+1}|s_{t},a_{t})
s t + 1 ? ? P ( s t + 1 ? ∣ s t ? , a t ? ) ,
t
≥
0
t \geq 0
t ≥ 0 。
Expected discounted reward
??期望折扣奖励
η
\eta
η 可被表示为:
η
(
π
)
=
E
s
0
,
a
0
,
?
[
∑
t
=
0
∞
γ
t
r
(
s
t
)
]
\eta(\pi) = \mathbb{E}_{s_{0},a_{0},\cdots} \left[ \sum_{t=0}^{\infty} \gamma^{t} r(s_{t}) \right]
η ( π ) = E s 0 ? , a 0 ? , ? ? [ t = 0 ∑ ∞ ? γ t r ( s t ? ) ]
??其中,
s
0
?
ρ
0
(
s
0
)
s_{0} \sim \rho_{0}(s_{0})
s 0 ? ? ρ 0 ? ( s 0 ? ) ,
a
t
?
π
(
a
t
∣
s
t
)
a_{t} \sim \pi(a_{t}|s_{t})
a t ? ? π ( a t ? ∣ s t ? ) ,
s
t
+
1
?
P
(
s
t
+
1
∣
s
t
,
a
t
)
s_{t+1} \sim P(s_{t+1}|s_{t},a_{t})
s t + 1 ? ? P ( s t + 1 ? ∣ s t ? , a t ? )
??由于我们要比较更新前后的两个策略,从而保证策略一直在进步,所以作者这里是将新老策略写到了一个公式中:
η
(
π
~
)
=
η
(
π
)
+
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\eta(\tilde{\pi})=\eta(\pi)+\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
η ( π ~ ) = η ( π ) + s ∑ ? ρ π ~ ? ( s ) a ∑ ? π ~ ( a ∣ s ) A π ? ( s , a )
??其中
ρ
π
\rho_{\pi}
ρ π ? be the (unnormalized) discounted visitation frequencies (任意时刻状态
s
s
s 的访问概率和),其展开形式表示为:
ρ
π
(
s
)
=
P
(
s
0
=
s
)
+
γ
P
(
s
1
=
s
)
+
γ
2
P
(
s
2
=
s
)
+
?
\rho_{\pi}(s) = P(s_{0}=s) +\gamma P(s_{1} =s) + \gamma^{2} P(s_{2}=s) + \cdots
ρ π ? ( s ) = P ( s 0 ? = s ) + γ P ( s 1 ? = s ) + γ 2 P ( s 2 ? = s ) + ?
??如果能保证
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
∑ s ? ρ π ~ ? ( s ) ∑ a ? π ~ ( a ∣ s ) A π ? ( s , a ) 大于0,那新的策略下的期望折扣奖励就一直是在进步的。那这里就有两个问题了,1. 上述新老策略写在一个公式里面的证明呢?2. 如何去保证后面的附加项大于0?
??证明 :
E
τ
?
π
~
[
∑
t
=
0
∞
γ
t
A
π
(
s
t
,
a
t
)
]
=
E
τ
?
π
~
[
∑
t
=
0
∞
γ
t
(
R
(
s
t
,
a
t
,
s
t
+
1
)
+
γ
V
π
(
s
t
+
1
)
?
V
π
(
s
t
)
)
]
=
η
(
π
~
)
+
E
τ
?
π
~
[
∑
t
=
0
∞
γ
t
+
1
V
π
(
s
t
+
1
)
?
∑
t
=
0
∞
γ
t
V
π
(
s
t
)
]
=
η
(
π
~
)
+
E
τ
?
π
~
[
∑
t
=
1
∞
γ
t
V
π
(
s
t
)
?
∑
t
=
0
∞
γ
t
V
π
(
s
t
)
]
=
η
(
π
~
)
?
E
τ
?
π
~
[
V
π
(
s
0
)
]
=
η
(
π
~
)
?
η
(
π
)
\begin{array}{l} \underset{\tau \sim \tilde{\pi}}{\mathrm{E}}\left[\sum_{t=0}^{\infty} \gamma^{t} A^{\pi}\left(s_{t}, a_{t}\right)\right] \\ =\underset{\tau \sim \tilde{\pi}}{\mathrm{E}}\left[\sum_{t=0}^{\infty} \gamma^{t}\left(R\left(s_{t}, a_{t}, s_{t+1}\right)+\gamma V^{\pi}\left(s_{t+1}\right)-V^{\pi}\left(s_{t}\right)\right)\right] \\ =\eta\left(\tilde{\pi}\right)+\underset{\tau \sim \tilde{\pi}}{\mathrm{E}}\left[\sum_{t=0}^{\infty} \gamma^{t+1} V^{\pi}\left(s_{t+1}\right)-\sum_{t=0}^{\infty} \gamma^{t} V^{\pi}\left(s_{t}\right)\right] \\ =\eta\left(\tilde{\pi}\right)+\underset{\tau \sim \tilde{\pi}}{\mathrm{E}}\left[\sum_{t=1}^{\infty} \gamma^{t} V^{\pi}\left(s_{t}\right)-\sum_{t=0}^{\infty} \gamma^{t} V^{\pi}\left(s_{t}\right)\right] \\ =\eta\left(\tilde{\pi}\right)-\underset{\tau \sim \tilde{\pi}}{\mathrm{E}}\left[V^{\pi}\left(s_{0}\right)\right] \\ =\eta\left(\tilde{\pi}\right)-\eta(\pi) \end{array}
τ ? π ~ E ? [ ∑ t = 0 ∞ ? γ t A π ( s t ? , a t ? ) ] = τ ? π ~ E ? [ ∑ t = 0 ∞ ? γ t ( R ( s t ? , a t ? , s t + 1 ? ) + γ V π ( s t + 1 ? ) ? V π ( s t ? ) ) ] = η ( π ~ ) + τ ? π ~ E ? [ ∑ t = 0 ∞ ? γ t + 1 V π ( s t + 1 ? ) ? ∑ t = 0 ∞ ? γ t V π ( s t ? ) ] = η ( π ~ ) + τ ? π ~ E ? [ ∑ t = 1 ∞ ? γ t V π ( s t ? ) ? ∑ t = 0 ∞ ? γ t V π ( s t ? ) ] = η ( π ~ ) ? τ ? π ~ E ? [ V π ( s 0 ? ) ] = η ( π ~ ) ? η ( π ) ?
??由此我们只剩下了第二点,从某个策略
π
\pi
π 出发,通过计算找到一个策略
π
~
\tilde{\pi}
π ~ ,使得:
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
≥
0
\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a) \geq 0
s ∑ ? ρ π ~ ? ( s ) a ∑ ? π ~ ( a ∣ s ) A π ? ( s , a ) ≥ 0
??即可使得
η
(
π
~
)
≥
η
(
π
)
\eta(\tilde{\pi}) \geq \eta(\pi)
η ( π ~ ) ≥ η ( π ) ,也就是说策略改变之后,整体的收益也会增加,从而实现单调递增。那现在所有的问题都转化到了如何使得
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
≥
0
\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a) \geq 0
∑ s ? ρ π ~ ? ( s ) ∑ a ? π ~ ( a ∣ s ) A π ? ( s , a ) ≥ 0 ?
Function
L
\mathcal{L}
L
??
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
∑ s ? ρ π ~ ? ( s ) ∑ a ? π ~ ( a ∣ s ) A π ? ( s , a ) 在实际中几乎是不可行的,因为公式中包含
ρ
π
~
(
s
)
\rho_{\tilde{\pi}}(s)
ρ π ~ ? ( s ) ,也就是说我们需要按照新的策略
π
~
\tilde{\pi}
π ~ 与环境交互得到状态
s
s
s 的访问频率,但是这个新的策略
π
~
\tilde{\pi}
π ~ 是我们需要去求解的策略。也就是说如果要做的话,我们需要先确定新的策略
π
~
\tilde{\pi}
π ~ ,然后使用这个新的策略得到一定量样本,并最终通过这些样本统计判断这个策略能够满足上述要求,使得策略递增。我们需要不断地去尝试每一个可能的新策略。显然这种做法非常低效。
??于是需要去找与上述公式的近似且可解的形式,定义function
L
\mathcal{L}
L :
L
π
(
π
~
)
=
η
(
π
)
+
∑
s
ρ
π
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\mathcal{L}_{\pi}(\tilde{\pi}) =\eta({\pi}) + \sum_{s} \rho_{\pi}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
L π ? ( π ~ ) = η ( π ) + s ∑ ? ρ π ? ( s ) a ∑ ? π ~ ( a ∣ s ) A π ? ( s , a )
??与之前的公式:
η
(
π
~
)
=
η
(
π
)
+
∑
s
ρ
π
~
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\eta(\tilde{\pi})=\eta(\pi)+\sum_{s} \rho_{\tilde{\pi}}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
η ( π ~ ) = η ( π ) + s ∑ ? ρ π ~ ? ( s ) a ∑ ? π ~ ( a ∣ s ) A π ? ( s , a )
??对比,我们可以发现,两者的不同仅仅在于状态访问概率
ρ
π
~
(
s
)
\rho_{\tilde{\pi}}(s)
ρ π ~ ? ( s ) 、
ρ
π
(
s
)
\rho_{\pi}(s)
ρ π ? ( s ) 的不同。那
L
π
(
π
~
)
\mathcal{L}_{\pi}(\tilde{\pi})
L π ? ( π ~ ) 能否满足要求呢?其实两者的数值和导数方向都是相同的,那么用
L
π
(
π
~
)
\mathcal{L}_{\pi}(\tilde{\pi})
L π ? ( π ~ ) 代替原始目标函数也是可以的,要求更新的幅度不要太大就好。
??上面说了这么多,其实就是为了说明我们更新的幅度不要太大,因为更新大了之后,上述近似函数就无法成立,
L
π
(
π
~
)
\mathcal{L}_{\pi}(\tilde{\pi})
L π ? ( π ~ ) 无法成立的话,你所拿策略
π
\pi
π 采样得到的样本就没用了,因为实际上样本是要去新的策略
π
~
\tilde{\pi}
π ~ 里面去采样的,只是因为做了近似才可以用老的策略
π
\pi
π 去采样。所以那我们怎么来保证其更新幅度不要太大呢 ?
??从之前的分析中可以知道
L
\mathcal{L}
L 是下界函数(bound function
)
M
M
M 中的一部分,
M
M
M 中的另外一项是KL
散度(KL-divergence
):
D
K
L
(
P
∣
Q
∣
)
=
E
x
log
P
(
x
)
Q
(
x
)
D_{KL}(P|Q|) = \mathbb{E}_{x} \text{log} \frac{P(x)}{Q(x)}
D K L ? ( P ∣ Q ∣ ) = E x ? log Q ( x ) P ( x ) ?
??因此我们把策略模型看成一个概率分布,使用KL
散度表示两个分布的距离。那两者之间有什么关系呢?原论文中作者用两页纸证明了
η
\boldsymbol{\eta}
η 的下界:
η
(
π
n
e
w
)
≥
L
π
o
l
d
(
π
n
e
w
)
?
4
ε
γ
(
1
?
γ
)
2
α
2
\eta (\pi_{new}) \geq L_{\pi_{old}}(\pi_{new}) -\frac{4 \varepsilon \gamma}{(1-\gamma)^{2}} \alpha^{2}
η ( π n e w ? ) ≥ L π o l d ? ? ( π n e w ? ) ? ( 1 ? γ ) 2 4 ε γ ? α 2
??其中
ε
=
max
?
s
,
a
∣
A
π
(
s
,
a
)
∣
\varepsilon = \max_{s,a}|A_{\pi}(s,a)|
ε = max s , a ? ∣ A π ? ( s , a ) ∣ ,
α
=
D
T
V
m
a
x
(
π
o
l
d
,
π
n
e
w
)
\alpha = D_{TV}^{max}(\pi_{old},\pi_{new})
α = D T V m a x ? ( π o l d ? , π n e w ? ) ,
D
T
V
m
a
x
(
π
,
π
~
)
=
m
a
x
D
T
V
(
π
(
?
∣
s
)
∣
∣
π
~
(
?
∣
s
)
)
D_{TV}^{max}(\pi, \tilde{\pi} ) = max D_{TV}(\pi(\cdot|s)||\tilde{\pi}(\cdot|s))
D T V m a x ? ( π , π ~ ) = m a x D T V ? ( π ( ? ∣ s ) ∣ ∣ π ~ ( ? ∣ s ) ) ,
D
T
V
(
p
∣
∣
q
)
=
1
2
∑
i
∣
p
i
?
q
i
∣
D_{TV}(p||q) = \frac{1}{2} \sum_{i}|p_{i}-q_{i}|
D T V ? ( p ∣ ∣ q ) = 2 1 ? ∑ i ? ∣ p i ? ? q i ? ∣ 。
??
D
T
V
D_{TV}
D T V ? 是total variation divergence
,由于:
D
T
V
(
p
∣
∣
q
)
2
≤
D
K
L
(
p
∣
∣
q
)
D_{TV}(p||q)^{2} \leq D_{KL}(p||q)
D T V ? ( p ∣ ∣ q ) 2 ≤ D K L ? ( p ∣ ∣ q )
??得到新的下界函数(lower bound function
):
η
(
π
~
)
≥
L
π
(
π
~
)
?
C
D
K
L
m
a
x
(
π
,
π
~
)
\eta (\tilde{\pi}) \geq L_{\pi}(\tilde{\pi}) -CD_{KL}^{max}(\pi,\tilde{\pi})
η ( π ~ ) ≥ L π ? ( π ~ ) ? C D K L m a x ? ( π , π ~ )
??其中
C
=
4
ε
γ
(
1
?
γ
)
2
C = \frac{4 \varepsilon \gamma}{(1-\gamma)^{2}}
C = ( 1 ? γ ) 2 4 ε γ ? ,
D
K
L
m
a
x
(
π
,
π
~
)
=
m
a
x
s
D
K
L
(
π
(
?
∣
s
)
∣
∣
π
~
(
?
∣
s
)
)
D_{KL}^{max}(\pi,\tilde{\pi}) = max_{s}D_{KL}(\pi(\cdot|s) || \tilde{\pi}(\cdot |s))
D K L m a x ? ( π , π ~ ) = m a x s ? D K L ? ( π ( ? ∣ s ) ∣ ∣ π ~ ( ? ∣ s ) )
Monotonically improving guarantee
??What we really prove here is the new policy generated from optimizing
M
M
M will have a guarantee that it will perform better in
η
\eta
η (the real expected rewards) than the old policy. Since there are only finite policies, the continuous improvement will only lead us to a local or a global optimal point.
??令
M
i
(
π
)
=
L
π
i
(
π
)
?
C
D
K
L
m
a
x
(
π
i
,
π
)
M_{i}(\pi) = L_{\pi_{i}}(\pi) -CD_{KL}^{max}(\pi_{i},\pi)
M i ? ( π ) = L π i ? ? ( π ) ? C D K L m a x ? ( π i ? , π ) ,有
η
(
π
i
+
1
)
≥
M
i
(
π
i
+
1
)
\eta({\pi_{i+1}}) \geq M_{i}(\pi_{i+1})
η ( π i + 1 ? ) ≥ M i ? ( π i + 1 ? ) ,
η
(
π
i
)
=
M
i
(
π
i
)
\eta({\pi_{i}}) = M_{i}(\pi_{i})
η ( π i ? ) = M i ? ( π i ? ) ,所以可以得到:
η
(
π
i
+
1
)
?
η
(
π
i
)
≥
M
i
(
π
i
+
1
)
?
M
i
(
π
i
)
\eta({\pi_{i+1}}) - \eta({\pi_{i}}) \geq M_{i}(\pi_{i+1}) - M_{i}(\pi_{i})
η ( π i + 1 ? ) ? η ( π i ? ) ≥ M i ? ( π i + 1 ? ) ? M i ? ( π i ? )
??则
π
i
+
1
=
a
r
g
max
?
π
M
i
(
π
)
\pi_{i+1} =arg\max_{\pi}M_{i}(\pi)
π i + 1 ? = a r g max π ? M i ? ( π ) 时,期望折扣奖励将在下一次迭代被提升。
??由此我们可以得到保证策略提升的算法。Here is the iteration algorithm that guarantees that the new policy will always perform better than the current one.
??此时算法的目标函数变为:
m
a
x
i
m
i
z
e
π
~
[
L
π
(
π
~
)
?
C
D
K
L
m
a
x
(
π
,
π
~
)
]
maximize_{\tilde{\pi}}[L_{\pi}(\tilde{\pi}) -CD_{KL}^{max}(\pi,\tilde{\pi})]
m a x i m i z e π ~ ? [ L π ? ( π ~ ) ? C D K L m a x ? ( π , π ~ ) ]
??上式过于保守,将其做一些转变,得到有约束条件的优化目标:
m
a
x
i
m
i
z
e
π
L
π
o
l
d
(
π
)
maximize_{\pi}L_{\pi_{old}}(\pi)
m a x i m i z e π ? L π o l d ? ? ( π )
s
.
t
.
D
K
L
m
a
x
(
π
o
l
d
,
π
)
≤
δ
s.t. D_{KL}^{max}(\pi_{old},\pi) \leq \delta
s . t . D K L m a x ? ( π o l d ? , π ) ≤ δ
??在公式中需要对最大值进行约束,而最大值表示为KL
散度上界,这实际上相当于对所有状态的KL
散度进行约束,这样约束条件会变得多而复杂,将最大值变成均值理论上有所放松,但实际效果还好,于是有了:
??优化目标
L
π
(
π
~
)
\mathcal{L}_{\pi}(\tilde{\pi})
L π ? ( π ~ ) 为:
L
π
(
π
~
)
=
η
(
π
)
+
∑
s
ρ
π
(
s
)
∑
a
π
~
(
a
∣
s
)
A
π
(
s
,
a
)
\mathcal{L}_{\pi}(\tilde{\pi}) =\eta({\pi}) + \sum_{s} \rho_{\pi}(s) \sum_{a} \tilde{\pi}(a | s) A_{\pi}(s, a)
L π ? ( π ~ ) = η ( π ) + s ∑ ? ρ π ? ( s ) a ∑ ? π ~ ( a ∣ s ) A π ? ( s , a )
??而其中
π
~
(
a
∣
s
)
\tilde{\pi}(a | s)
π ~ ( a ∣ s ) 与新策略有关,无法对其采样,由此我们引入重要性采样:
∑
a
π
θ
(
a
∣
s
n
)
A
θ
old
(
s
n
,
a
)
=
E
a
?
q
[
π
θ
(
a
∣
s
n
)
q
(
a
∣
s
n
)
A
θ
old
(
s
n
,
a
)
]
\sum_{a} \pi_{\theta}\left(a | s_{n}\right) A_{\theta_{\text {old }}}\left(s_{n}, a\right)=\mathbb{E}_{a \sim q}\left[\frac{\pi_{\theta}\left(a | s_{n}\right)}{q\left(a | s_{n}\right)} A_{\theta_{\text {old }}}\left(s_{n}, a\right)\right]
a ∑ ? π θ ? ( a ∣ s n ? ) A θ old ? ? ( s n ? , a ) = E a ? q ? [ q ( a ∣ s n ? ) π θ ? ( a ∣ s n ? ) ? A θ old ? ? ( s n ? , a ) ]
??the objective can be rewritten as:
maximize
?
θ
E
s
?
ρ
θ
old
,
a
?
q
[
π
θ
(
a
∣
s
)
q
(
a
∣
s
)
A
^
θ
old
(
s
,
a
)
]
subject to
E
s
?
ρ
θ
old
[
D
K
L
(
π
θ
old
(
?
∣
s
)
∥
π
θ
(
?
∣
s
)
)
]
≤
δ
\begin{array}{c} \underset{\theta}{\operatorname{maximize}} \mathbb{E}_{s \sim \rho_{\theta_{\text {old }}}, a \sim q}\left[\frac{\pi_{\theta}(a | s)}{q(a | s)} \hat{A}_{\theta_{\text {old }}}(s, a)\right] \\ \text { subject to } \mathbb{E}_{s \sim \rho_{\theta_{\text {old }}}}\left[D_{\mathrm{KL}}\left(\pi_{\theta_{\text {old }}}(\cdot | s) \| \pi_{\theta}(\cdot | s)\right)\right] \leq \delta \end{array}
θ m a x i m i z e ? E s ? ρ θ old ? ? , a ? q ? [ q ( a ∣ s ) π θ ? ( a ∣ s ) ? A ^ θ old ? ? ( s , a ) ] subject to E s ? ρ θ old ? ? ? [ D K L ? ( π θ old ? ? ( ? ∣ s ) ∥ π θ ? ( ? ∣ s ) ) ] ≤ δ ?
??With Lagrangian duality, a constraint for an objective function can be integrated back to the objective function with a multiplier. Both are mathematically the same(利用拉格朗日对偶,把约束项提到目标函数中去):
直觉的看法
??在之前的Gradient ascent
方法中都是选择了梯度的方向,如下图中的左图所示,但是更新步长如果选取地不好很容易掉入深渊:
??在TRPO
中限制了更新步长,并且在数学上证明了会收敛到局部最优或者全局最优:
参考文献 :
https://medium.com/@jonathan_hui/rl-the-math-behind-trpo-ppo-d12f6c745f33
强化学习精要核心算法与Tensorflow实现。