【问题标题】:Prioritized Experience Replay for stochastic environment随机环境的优先体验重放
【发布时间】:2020-06-20 23:26:44
【问题描述】:

我尝试使用以下论文来改进我的代理https://arxiv.org/pdf/1511.05952.pdf的学习

虽然它似乎在确定性环境中运行良好,但我觉得它实际上会在随机环境中变得更糟。

假设对于状态 S_w 的动作 A_w,我们有 50% 的机会获得 +1000000 的奖励和 50% 的机会获得 -1000000 的奖励(在其他状态下可以忽略不计的确定性奖励)。因此,该动作的真实 Q 值为 0。

在对任一可能样本进行训练时(假设两种情况都在回放内存中),这些样本的优先级将设置为 1000000,因此为即将到来的更新选择这些样本的概率将趋于 1 (如果我们不将新样本添加到重放内存中,它们每个都在 0 和 1 之间振荡。

因此永远不会对其他样本进行训练。

我的问题是:我们该如何处理?对于这样的环境,我应该直接放弃使用这种技术吗?

【问题讨论】:

    标签: reinforcement-learning dqn


    【解决方案1】:

    论文的作者似乎在几个地方解决了这个问题。最重要的是,他们提到了奖励裁剪:

    出于稳定性原因,奖励和 TD-errors 被限制在 [−1, 1] 范围内。

    这意味着如果奖励是 1000000,那么他们将其剪裁为 1,如果是 -1000000,他们将其剪裁为 -1。 -1 和 1 之间的奖励不变。

    一般来说,深度 Q 学习算法非常不稳定,具有极高的奖励值。由于这些用于反向传播,因此模型的参数可能会被大的 TD 误差值严重破坏,从而使算法难以收敛。因此,通常使用奖励或梯度裁剪。

    论文还提到贪婪优先级对随机奖励引起的噪声尖峰敏感,并且他们的方法是贪婪优先级和统一方法之间的插值。他们使用等式 (1) 中的 alpha 参数来使策略不那么贪婪,如果随机性导致问题,这可能会有所帮助。他们还在第 5 节中讨论了基于等级的优先级对误差幅度和异常值更稳健,并表示由于“大量使用裁剪”可能不需要它。

    该方法也可能更倾向于确定性奖励 - 他们还提到他们测试的环境(雅达利游戏)是“接近确定性的”。

    从更广泛的角度来看,奖励的巨大差异表明在您强调的过渡中需要学习一些东西 - 您似乎可以根据该过渡赢得或输掉比赛。如果是这种情况,算法(它不知道游戏是确定性的还是随机的)将花费大量时间来尝试了解该转换。如果您想学会赢得比赛,这是有道理的,但在这种情况下,比赛似乎是随机的,所以没有什么可学的。

    【讨论】:

    • 整个奖励不是裁剪只是为了突出问题......我们可以通过使用许多随机裁剪转换来转换相同的想法,这作为一个整体会阻止从新转换中学习,即使它们的 Q 值是已经达到了真正的价值。