4.5_策略梯度定理

在这个选修部分中,我们将研究如何我们将对用于近似策略梯度的目标函数进行微分。

让我们首先回顾一下我们的不同公式:

  1. 目标函数
Return
  1. 轨迹的概率(给定来自 \(\pi_\theta\) 的动作):
Probability

所以我们有:

(θJ(θ)=θτP(τ;θ)R(τ))

我们可以将求和的梯度重写为梯度求和:

(=τθP(τ;θ)R(τ))(P(τ;θ)P(τ;θ)=1(=τP(τ;θ)P(τ;θ)θP(τ;θ)R(τ))(P(τ;θ)P(τ;θ)θP(τ;θ)=P(τ;θ)θP(τ;θ)P(τ;θ))(=τP(τ;θ)θP(τ;θ)P(τ;θ)R(τ))

接着我们可以运用“对数求导技巧”(也称“似然比技巧”或“REINFORCE技巧”),
这是微积分中的一个简单规则,它意味着 $$\( \nabla_x log f(x) = \frac{\nabla_x f(x)}{f(x)} \)

$$(θP(τ;θ)P(τ;θ))(θlogP(τ|θ))

因此,这就是我们的似然策略梯度:

(θJ(θ)=τP(τ;θ)θlogP(τ;θ)R(τ))

感谢这个新公式,我们可以使用轨迹样本来估计梯度(如果你愿意,我们可以使用基于样本的估计来近似似然比策略梯度)

(θJ(θ)=1mi=1mθlogP(τ(i);θ)R(τ(i)))(τ(i))

但是我们还有一些数学工作要做:我们需要简化 \( \nabla_\theta log P(\tau|\theta) \)

我们知道:

(θlogP(τ(i);θ)=θlog[μ(s0)t=0HP(st+1(i)|st(i),at(i))πθ(at(i)|st(i))])(μ(s0))(P(st+1(i)|st(i),at(i)))MDP

我们知道一个对数的乘积等于两个对数之和:

(θlogP(τ(i);θ)=θ[logμ(s0)+t=0HlogP(st+1(i)|st(i)at(i))+t=0Hlogπθ(at(i)|st(i))])

我们也知道和的梯度等于梯度的和:

(θlogP(τ(i);θ)=θlogμ(s0)+θt=0HlogP(st+1(i)|st(i)at(i))+θt=0Hlogπθ(at(i)|st(i)))

由于 MDP 的初始状态分布或状态转换动力学都不依赖于 \(\theta\) ,两项的导数都是 0。因此我们可以移除它们:

因此:

(θt=0HlogP(st+1(i)|st(i)at(i))=0)and(θμ(s0)=0)(θlogP(τ(i);θ)=θt=0Hlogπθ(at(i)|st(i)))

我们可以将求和的梯度重写为梯度求和:

(θlogP(τ(i);θ)=t=0Hθlogπθ(at(i)|st(i)))(θJ(θ)=g^=1mi=1mt=0Hθlogπθ(at(i)|st(i))R(τ(i)))