深度强化学习课程文档

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} + ...

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

考虑到环境的随机性(episode 期间的随机事件)和策略的随机性,轨迹可能导致不同的回报,这可能导致高方差。因此,相同的起始状态可能导致非常不同的回报。因此,从相同状态开始的回报在不同 episode 之间可能会有显着差异

variance

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

但是,显着增加批量大小会降低样本效率。因此,我们需要找到额外的机制来减少方差。


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


< > 在 GitHub 上更新