摘要
深度强化学习 (DRL) 在机器人、电脑游戏和推荐系统等多个领域取得了成功。然而,与任何其他软件系统一样,基于 DRL 的软件系统容易出现故障,这些故障给调试和诊断带来了独特的挑战。这些故障通常会导致意外行为,而没有明确的故障和错误消息,这使得调试变得困难且耗时。因此,自动监控和诊断 DRL 系统对于减轻开发人员的负担至关重要。在本文中,我们提出了 RLExplorer,这是第一个针对基于 DRL 的软件系统的故障诊断方法。RLExplorer 自动监控训练轨迹并根据 DRL 学习动态的特性运行诊断例程以检测 DRL 特定故障的发生。然后,它将这些诊断的结果记录为警告,这些警告涵盖理论概念、推荐实践以及对已识别故障的潜在解决方案。我们进行了两组评估来评估 RLExplorer。我们对 Stack Overflow 中有缺陷的 DRL 样本的第一组评估表明,我们的方法可以在 83% 的情况下有效地诊断真实故障。我们对 RLExplorer 与 15 位 DRL 专家/开发人员的第二组评估表明,(1) RLExplorer 可以识别出比手动调试多 3.6 倍的缺陷,以及 (2) RLExplorer 可以轻松地集成到 DRL 应用程序中。