Reinforce 中的方差问题
在 Reinforce 中,我们希望 **根据回报的高低成比例地增加轨迹中动作的概率**。
- 如果 **回报较高**,我们将 **提高** (状态,动作) 组合的概率。
- 否则,如果 **回报较低**,它将 **降低** (状态,动作) 组合的概率。
此回报是使用 蒙特卡洛采样 计算的。我们收集一条轨迹并计算折扣回报,并使用此分数来增加或减少该轨迹中每个采取的动作的概率。如果回报良好,则所有动作都将通过增加其被采取的可能性来“强化”。γRt+2+γ2Rt+3+...
这种方法的优点在于 **它是无偏的。因为我们没有估计回报**,我们只使用获得的真实回报。
鉴于环境的随机性(一个 episode 中的随机事件)和策略的随机性,**轨迹可能导致不同的回报,这可能导致高方差**。因此,相同的起始状态可能导致非常不同的回报。正因为如此,**从相同状态开始的回报在不同 episode 中可能会有很大差异**。
解决方案是通过 **使用大量轨迹来降低方差,希望任何一条轨迹中引入的方差在总体上得到降低并提供回报的“真实”估计。**
但是,增加批次大小会显着 **降低样本效率**。因此,我们需要找到其他机制来降低方差。
如果你想更深入地了解深度强化学习中方差和偏差权衡的问题,可以查看这两篇文章
< > 在 GitHub 上更新