DQN 中训练和测试的最后几集有什么区别?

数据挖掘 训练 超参数 超参数调整 dqn
2022-02-25 03:54:57

在 DQN 中以训练模式的最后一集运行和以测试模式运行有什么区别?

除了在训练和调整超参数之后,我们测试一集并且没有任何探索之外,还有什么不同吗?这意味着测试模式类似于第 n+1 集的训练模式,没有探索(当我们训练第 n 集时)?是否正确?

为什么在 DQN 的一些测试代码中,他们测试多个情节?

1个回答

在 DQN 中以训练模式的最后一集运行和以测试模式运行有什么区别?

由于 Q learning 是一种 off-policy 方法,而 DQN 是基于 Q learning,那么 agent 有效地具有两种不同的策略:

  • 一种行为策略,无论到目前为止的数据是否表明它们是最优的,都会探索动作。最简单,也许是最常实施的行为策略是ϵ- 对行动价值观的贪婪q^(s,a,θ).

  • 正在学习的目标策略,这是迄今为止对最优策略的最佳猜测。在 Q 学习中,策略对于行动值是完全贪婪的q^(s,a,θ).

在评估代理在训练后对环境的学习程度时,您对目标策略感兴趣。因此,使用 Q 学习,您需要在代理贪婪地选择动作的情况下运行环境。这可以通过设置来实现ϵ=0,或者使用不同的动作选择例程,它甚至不检查ϵ(使用的是实现细节)。

除了在训练和调整超参数之后,我们测试一集并且没有任何探索之外,还有什么不同吗?

对第二部分基本上是肯定的——没有探索。但 。. .

为什么在 DQN 的一些测试代码中,他们测试多个情节?

那是因为一集通常不足以获得可靠的统计数据。

如果环境是完全确定的,包括只有一个起始状态,那么一个情节就足以评估一个代理。

但是,如果环境是随机的,或者您对多个可能的开始状态感兴趣,那么需要多个情节才能在平均总回报或您可能感兴趣的任何其他指标上获得较低的均方误差界限。否则很难比较不同超参数之间的结果。

多少集才够?没有固定的数字,这取决于环境中有多少变化以及您想知道这些值的准确程度。在某些情况下——例如 OpenAI 健身房,有一些建议值。例如,LunarLander 建议目标得分超过 100 集,因此他们建议测量超过 100 集就足够准确。但是,该建议仅适用于该问题。一般来说,您可以像任何其他统计测量一样测量分数的方差,并计算指标的误差范围。