训练期间的代理崩溃/过度拟合

数据挖掘 Python 强化学习
2022-02-28 15:49:05

我是强化学习的新手,所以请多多包涵。我正在使用 actor-critic 方法训练一个代理来玩 ms-Pacman。

下面是几次运行的结果,在两张图中,橙色线是前 100 个值的平均值。左图是剧集持续时间,右图是每集获得的奖励。

在这两次运行中,代理都在稳定地学习,然后崩溃,并且无法恢复。代理是否通过这种方法达到了最大潜力,或者这是过度拟合的情况?

两次运行的超参数:

  • 批量: 128
  • 重放内存缓冲区:500,000
  • Epsilon 最小值:0.1
  • Epsilon 最大值:1.0
  • Epsilon 最小值在大约 2,000,000 步时达到(约 3,000 集)

在此处输入图像描述

在此处输入图像描述

1个回答

有很多事情可能会导致这种表现。由于提供的信息非常有限,我只能猜测并提出原因。

我个人已经成功地在 RL 模型中使用了很多 Pacman 变体(包括这个变体)。我的第一个初步猜测是你过早地停止探索。Pacman 环境很难解决(直到最后一级)。您可以在几天的培训中获得合理的表现(取决于您的系统)。我高度怀疑代理是否欠拟合/过拟合,因为代理达到好分数需要时间。当您测试您的代理(您不更新权重)时,欠拟合/过拟合也会更好地观察到。一旦代理到达最后一集,我会让探索变得最小。然后我会用很少或没有探索量(完全利用)来测试代理的当前状态。