我尝试使用以下论文来改善我的代理 https://arxiv.org/pdf/1511.05952.pdf 的学习
虽然它似乎在确定性环境中工作得很好,但我觉得它实际上会使随机环境中变得更糟。
假设对于状态S_w的操作A_w,我们有 50% 的机会获得 +1000000 的奖励,50% 的机会获得 -1000000 的奖励(在其他州,确定性奖励可以忽略不计(。因此,该操作的真实 Q 值将为 0。
当对任何一个可能的样本进行训练时(假设两种情况都在重播内存中(,这些样本的优先级将设置为 1000000,因此如果我们不向重播内存添加新样本,为即将到来的更新选择这些样本的概率将趋向于 1(每个样本在 0 和 1 之间振荡(。
因此,其他样本将永远不会被训练。
我的问题是:我们如何处理这个问题?我是否应该简单地放弃在这样的环境中使用此技术?
这篇论文的作者似乎在几个地方解决了这个问题。最重要的是,他们提到了奖励剪辑:
出于稳定性原因,奖励和TD误差被裁剪为落在[−1, 1]范围内。
这意味着,如果奖励是 1000000,那么他们将其裁剪为 1,如果它是 -1000000,则将其剪辑为 -1。-1 和 1 之间的奖励保持不变。
一般来说,深度 Q 学习算法在极端奖励值下非常不稳定。由于这些参数用于反向传播,因此模型的参数可能会受到大TD误差值的严重干扰,从而使算法难以收敛。因此,通常使用奖励或渐变剪辑。
该论文还提到,贪婪优先级对随机奖励引起的噪声峰值很敏感,他们的方法是贪婪优先级和统一方法之间的插值。他们在等式(1(中使用alpha参数来减少政策的贪婪,如果随机性导致问题,这可能会有所帮助。他们还讨论了基于秩的优先级,因为它对第 5 节中的误差幅度和异常值更可靠,并表示由于"大量使用裁剪",可能不需要它。
也有可能该方法更倾向于确定性奖励 - 他们还提到他们测试的环境(雅达利游戏(是"近乎确定的"。
从更广泛的角度来看,奖励的高度差异表明,在你强调的过渡中有一些东西需要学习——似乎你可以在这种过渡的基础上赢得或输掉比赛。如果是这种情况,算法(不知道游戏是确定性的还是随机的(将花费大量时间试图了解这种转变。如果你想学习赢得比赛,这是有道理的,但在这种情况下,游戏似乎是随机的,所以没有什么可学的。