首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果DQN测试的奖励低于DQN最小化问题训练的奖励,是否可以接受?

如果DQN测试的奖励低于DQN最小化问题训练的奖励,是否可以接受?
EN

Data Science用户
提问于 2018-10-14 03:58:14
回答 1查看 607关注 0票数 0

如果我们训练一个DQN超过40000-60000集的500个时间步调。在过去的100步训练中,在测试过程中,奖励的平均值约为奖励的1.1倍。

环境是随机的!

越多的时间步骤应该更稳定??时间步数的作用是什么?

例如,在最后100次的训练中,奖励的平均值是6.1,但是在测试期间的答案是5.2 (我的问题是最小化)。我们的DQN还好吗?一个测试随机数是120!但是另一个是400!

或者反之亦然,如果最小化测试的奖励超过了最近100次训练的平均值的2倍,是否可以接受呢?我们的DQN还好吗?

我不是以人类的身份逃跑的!但如果这是重要的,我会玩这个游戏。

EN

回答 1

Data Science用户

发布于 2018-10-14 17:33:14

在您的情况下,有许多信息可能有助于更精确的答案,但很难从您的问题描述中提取出来。

我想我能理解以下几点:

  • 你的训练是为了最小化成本,而不是最大化奖励(这在RL中是不常见的,但不是问题)。
  • 随机代理得分变化很大,从120到400平均成本不等。
  • 经过许多培训步骤之后,您的代理将获得6.1的平均成本,这是在最近的100个时间步骤中进行的。
  • 在测试中,代理评分较好,平均成本为5.2。

测试DQN代理(或任何策略外代理,其中exploring或DQN是其中一种类型)的通常方法是停止探索操作。我猜你也是这么做的。在培训期间,您的代理人并不总是采取它认为是最好的行动。在测试中,您感兴趣的是了解代理认为什么是“最好的”,以及它有多好。因此,应该期待考试成绩好于最近的训练。如果您正在使用\epsilon-greedy动作选择进行培训,那么您的分数将与\epsilon \approx 0.1一致。

然而,在任何情况下,您的测量都是有限的。可能值得在测试数据上计算您的标准错误,以了解您的测量究竟有多精确。最简单的方法是多次运行测试,创建一个分数数组,并像往常一样使用测试结果作为随机变量的样本计算标准偏差、均值和标准误差。

我们的DQN还好吗?

这完全取决于问题。它似乎比随机行动要好得多,这表明它至少学到了一些东西。

为了了解它做得有多好,您需要将它与与问题相关的有意义的内容进行比较:

  • 对于简单的问题,例如用来证明DQN有效的玩具问题,可以计算出最优的答案,看看DQN能得到多近。
  • 对于人类也可以尝试的问题,您可以将代理的性能与人的性能进行比较。理想的情况下,是一个人谁是专家在这项任务。
  • 对于有一些出版物的问题,你可以与最先进的国家进行比较.例如,许多Atari 2600游戏都是如此。
  • 对于有实际目的的问题,你可以与一个目标进行比较,例如,与目前的做法相比,代理人是否有足够的能力赚钱或减少损失。
  • 对于某些问题,您可以与一个简单的基于规则的代理进行比较,该代理编码用于执行特定的任务。

越多的时间步骤应该更稳定??时间步数的作用是什么?

在一定程度上,DQN训练的时间和样本越多,它的性能就越好。最好的办法是画出这个时间步数与平均成本之比。在某些时候,你可能会看到突然的增加,甚至是“灾难性的遗忘”(在这种情况下,代理的表现并不比随机的好,甚至更糟)。但是,如果该代理已经成功地进行了培训,那么随着时间的推移,应该会有一个普遍的改进,随着DQN接近于该代理的最大能力,它将达到一个极限。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/39647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档