深度强化学习课程文档

Reinforce 中的方差问题

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

Reinforce 中的方差问题

在 Reinforce 中,我们希望根据轨迹的回报高低,按比例增加轨迹中行动的概率

Reinforce
  • 如果回报很高,我们将提高(状态,行动)组合的概率。
  • 否则,如果回报很低,它将降低(状态,行动)组合的概率。

这个回报R(τ)R(\tau)是使用蒙特卡洛采样计算的。我们收集一条轨迹并计算折现回报,并使用此分数来增加或减少该轨迹中采取的每个行动的概率。如果回报很好,所有行动都将通过增加其被采取的可能性而得到“强化”。R(τ)=Rt+1+γRt+2+γ2Rt+3+...R(\tau) = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ...

这种方法的优点是它无偏。由于我们没有估计回报,我们只使用我们获得的真实回报。

鉴于环境的随机性(一个回合中发生的随机事件)和策略的随机性,轨迹可能导致不同的回报,这可能导致高方差。因此,相同的起始状态可能导致非常不同的回报。正因为如此,从相同状态开始的回报在不同回合中可能会有显著差异

variance

解决方案是通过使用大量轨迹来缓解方差,希望任何一条轨迹中引入的方差都能在总体上得到减少,并提供回报的“真实”估计。

然而,显著增加批次大小会降低样本效率。因此我们需要寻找额外的机制来减少方差。


如果您想深入了解深度强化学习中方差和偏差权衡的问题,您可以查看以下两篇文章:


< > 在 GitHub 上更新