我正计划创建一个基于 Web 的 RL 棋盘游戏,我想知道如何评估 RL 代理的性能。我怎么能说,“版本 X 比版本 Y 表现更好,因为我们可以看到 Z 更好/更高/更低。”
我知道我们可以对一些 RL 算法使用收敛,但是,如果 RL 在游戏中与人类对战,我如何能够正确评估它的性能?
我正计划创建一个基于 Web 的 RL 棋盘游戏,我想知道如何评估 RL 代理的性能。我怎么能说,“版本 X 比版本 Y 表现更好,因为我们可以看到 Z 更好/更高/更低。”
我知道我们可以对一些 RL 算法使用收敛,但是,如果 RL 在游戏中与人类对战,我如何能够正确评估它的性能?
当您想要比较强化学习算法时,您可能想要比较它们产生的平均奖励以及它们达到最优策略的速度和接近程度。但是,在将其与人类进行比较的情况下,您可能希望比较所有玩过的游戏的游戏结果。
强化学习算法通常通过使用奖励(直接的、最大的或平均的时间/迭代)进行比较。例如,在这个关于 RL 的页面中,显示了两种算法的比较:
或者,当您知道最佳操作时,您可以根据操作百分比绘制播放/迭代次数。例如,参见关于 10 臂测试台问题的 RL 比较:
亨德森等人。2017 年有一整节关于强化学习算法的评估指标。他们还评论了平均或最大累积奖励的绘图,此外,他们提到了样本引导方法来创建置信区间以便更好地进行比较。最后,他们提到应该使用统计检验来计算算法改进的重要性,例如两个样本 t-Test。请注意,您应该考虑数据集的分布来选择正确的统计测试。与此相关的一篇有趣的文章是Colas 等人的强化学习算法的统计比较 Hitchhiker 指南。.
要了解不同算法对人类的表现如何,您应该进行大量游戏并比较 - 您考虑的 - 重要参数,例如:算法是否获胜、获胜所需的时间、获得的分数等。然后可以统计比较这些值。请注意,您必须仔细考虑这些实验的设置,因为您只应该更改算法,其他参数应该保持不变。因此,您应该 - 最好 - 使用大量主题(不同年龄、性别等以涵盖多种类型的人),并尽量防止任何偏见;想想顺序,玩了多少场比赛,地点,时间等。