我正在尝试解决OpenAI Gym 的 LunarLander-v2问题。
我正在使用深度 Q 学习算法。我尝试了各种超参数,但我无法获得好分数。
我该如何解释这个?如果较低的损失意味着更准确的价值预测,那么我天真地期望智能体采取更多高回报的行动。
这可能是智能体没有进行足够探索,被困在局部最小值的标志吗?
我正在尝试解决OpenAI Gym 的 LunarLander-v2问题。
我正在使用深度 Q 学习算法。我尝试了各种超参数,但我无法获得好分数。
我该如何解释这个?如果较低的损失意味着更准确的价值预测,那么我天真地期望智能体采取更多高回报的行动。
这可能是智能体没有进行足够探索,被困在局部最小值的标志吗?
我该如何解释这个?如果较低的损失意味着更准确的价值预测,那么我天真地期望智能体采取更多高回报的行动。
较低的损失意味着对当前策略的价值预测更准确(从技术上讲,Q-learning 离策略估计更复杂,但覆盖范围仍将受到当前策略中可达到的经验的限制)。不幸的是,RL 中的损失指标无法捕捉到该策略有多好。
因此,这意味着您的策略已经确定为一种模式,在这种模式中,您用于 Q 的神经网络可以很好地估计值。由于某种原因,它没有找到对该策略的改进——通常它应该在损失指标下降,因为价值估计的每一次改进都应该揭示更好的可能行动,一旦新政策开始采取这些行动,价值估计就会过时,损失会再次增加。
这可能是智能体没有进行足够探索,被困在局部最小值的标志吗?
探索可能是个问题。在这种情况下,“局部最小值”可能不是神经网络的问题,但是策略的微小变化都比当前的策略更糟糕。当你在学习off-policy时,提高探索率可能有助于找到更好的状态,但会降低整体学习速度。此外,在每个动作上比随机探索更广泛的方法可能会更好 - 例如,始终选择未探索的状态/动作对的动作选择方法,例如上限置信度。
还有一种可能是您的网络结构在当前政策下很好地概括,但无法涵盖更好的政策。在这种情况下,每当探索提出更好的策略时,网络也会增加对不相关动作选择的估计——因此它会尝试它们,注意到它们更好,然后因为新值也会在其他情况下导致不需要的策略变化而退缩。
如果您知道比正在找到的策略更好的策略,那么您可以在策略固定的情况下绘制学习曲线,看看网络是否可以学习它。然而,通常你不会知道这一点,所以你可能会被困在尝试神经网络架构或其他超参数的一些变体上。
除了 DQN 之外,还有其他方法(例如 A3C、DDPG),以及您可以尝试的许多对 DQN 的附加和调整(例如资格跟踪、双重学习)。