如果我们训练一个DQN超过40000-60000集的500个时间步调。在过去的100步训练中,在测试过程中,奖励的平均值约为奖励的1.1倍。
环境是随机的!
越多的时间步骤应该更稳定??时间步数的作用是什么?
例如,在最后100次的训练中,奖励的平均值是6.1,但是在测试期间的答案是5.2 (我的问题是最小化)。我们的DQN还好吗?一个测试随机数是120!但是另一个是400!
或者反之亦然,如果最小化测试的奖励超过了最近100次训练的平均值的2倍,是否可以接受呢?我们的DQN还好吗?
我不是以人类的身份逃跑的!但如果这是重要的,我会玩这个游戏。
发布于 2018-10-14 17:33:14
在您的情况下,有许多信息可能有助于更精确的答案,但很难从您的问题描述中提取出来。
我想我能理解以下几点:
测试DQN代理(或任何策略外代理,其中exploring或DQN是其中一种类型)的通常方法是停止探索操作。我猜你也是这么做的。在培训期间,您的代理人并不总是采取它认为是最好的行动。在测试中,您感兴趣的是了解代理认为什么是“最好的”,以及它有多好。因此,应该期待考试成绩好于最近的训练。如果您正在使用\epsilon-greedy动作选择进行培训,那么您的分数将与\epsilon \approx 0.1一致。
然而,在任何情况下,您的测量都是有限的。可能值得在测试数据上计算您的标准错误,以了解您的测量究竟有多精确。最简单的方法是多次运行测试,创建一个分数数组,并像往常一样使用测试结果作为随机变量的样本计算标准偏差、均值和标准误差。
我们的DQN还好吗?
这完全取决于问题。它似乎比随机行动要好得多,这表明它至少学到了一些东西。
为了了解它做得有多好,您需要将它与与问题相关的有意义的内容进行比较:
越多的时间步骤应该更稳定??时间步数的作用是什么?
在一定程度上,DQN训练的时间和样本越多,它的性能就越好。最好的办法是画出这个时间步数与平均成本之比。在某些时候,你可能会看到突然的增加,甚至是“灾难性的遗忘”(在这种情况下,代理的表现并不比随机的好,甚至更糟)。但是,如果该代理已经成功地进行了培训,那么随着时间的推移,应该会有一个普遍的改进,随着DQN接近于该代理的最大能力,它将达到一个极限。
https://datascience.stackexchange.com/questions/39647
复制相似问题