Skip to content

为什么 PPO 需要重要性采样而 DDPG 不需要

1. PPO 视角

在 TRPO 和 PPO 这类算法中,为了计算目标函数的梯度 J(π~),需要计算关于更新策略 π~(as) 的期望。这时 sρπaπ~,那么对于每一个从 ρπ 采样得到的状态,为了利用蒙特卡洛法估计 Eaπ~[Aπ(s,a)],需要对 aπ~(as) 进行大量采样并计算 Aπ(s,a),且对 π~ 更新一次后便需要重新采样计算。这样做对数据的利用非常低效,且方差会很大。

所以我们转而使用重要性采样(Importance Sampling),将其转化为对更新前策略 π(as) 的期望:

Esρπ,aπ~[Aπ(s,a)]=Esρπ,aπ[π~(as)π(as)Aπ(s,a)].

如此一来,sρπaπ,那么 π 与环境交互所得的状态和动作服从上述分布,可以直接用于估计:

Esρπ,aπ[π~(as)π(as)Aπ(s,a)].

这样对数据的利用高效很多,不过依然容易出现估计方差过大的问题。PPO 中通过对重要性采样系数(importance sampling ratio)π~(as)π(as) 的 clip 操作,使得估计的方差得到有效控制。

2. DDPG 视角

DDPG(Timothy et al., 2015)算法的核心是 DPG(Silver et al., 2014)原论文中推导出的 off-policy 版确定性策略梯度定理。此定理与策略梯度定理最大的区别在于:一方面,用于更新当前策略 μ(s,a) 分布服从行为策略 β;另一方面,策略 μ 是确定性策略。该定理的目标函数如下:

Jβ(μθ)=EsρβVμ(s)=Sρβ(s)Vμ(s)ds=Sρβ(s)Qμ(s,μθ(s))ds.

注:此处目标函数定义为 EsρβVμ(s) 而不是 EsρβρμρβVμ(s),其原因可以参考 2012 年提出的首个 off-policy Actor-Critic 算法:The Off-Policy Actor-Critic algorithm(Degris et al., 2012b)。

有了目标函数后,对策略 μ 的参数 θ 求梯度便可得到 off-policy 版的确定性策略梯度定理:

θJβ(μθ)=Sρβ(s)(θμθ(s)aQμθ(s,a)+θQμθ(s,a))|a=μ(s)dsSρβ(s)θμθ(s)aQμθ(s,a)ds=Esρβ[θμθ(s)aQμθ(s,a)|a=μ(s)].

上文公式中近似的合理性,在 DPG 原文中是这样描述的:

Analogous to the stochastic case, we have dropped a term that depends on θQμθ(s,a); justification similar to Degris et al. (2012b) can be made in support of this approximation.

在 Degris et al. (2012b) 一文中,作者对 off-policy 版随机性策略梯度定理的这一步近似进行了严谨证明,且定量分析得出这样的近似效果并不差。但是,上述说法对于确定性策略是否还成立,DPG 作者并未给出严谨证明,目前是一个比较模糊的状态。不过原文中证明了在某些条件下:确定性策略等价于方差趋于零的随机性策略,因此在实践中也就暂且认同这个结论。

总结

所以对于本小节提出的问题,一句话总结就是:DDPG 目标函数梯度计算公式中不存在对动作的积分,所以即使作为 off-policy 算法,也不需要使用重要性采样。

Maintained by Robin