经过训练以解决特定迷宫的 Q-learning 代理如何推广到其他迷宫?

人工智能 强化学习 q学习 函数逼近 概括 国家代表
2021-11-01 07:02:10

我实施了 Q-learning 来解决特定的迷宫。但是,它不能解决其他迷宫。我的 Q-learning 代理如何能够推广到其他迷宫?

1个回答

我将在这里假设您使用的是标准的、基本的、简单的变体Q- 可以描述为表格的学习 Q-learning,你正在学习的所有状态-动作对Q(s,a)值以表格方式表示。例如,如果您有 4 个操作,您的Q(s,a)值可能由 4 个矩阵(对应于 4 个动作)表示,其中每个矩阵都具有与您的迷宫相同的维度(我假设您的迷宫是一个离散单元格的网格)

通过这种方法,您正在学习Q为每个单独的状态(+动作)单独设置值。正如您似乎已经注意到的那样,这样的学习值将始终仅对一个特定的迷宫(您一直在训练的迷宫)有效。这是您正在学习特定状态-动作对的单个值这一事实的直接结果。你正在学习的东西(Q值)因此不能直接转移到不同的迷宫;第一个迷宫中的那些特殊状态甚至在第二个迷宫中都不存在!

使用不同的状态表示可能会获得更好的结果。例如,不是通过网格中的坐标来表示状态(就像您可能使用表格方法所做的那样),您希望以更一般的方式描述状态。例如,可以通过以下特征来描述状态:

  • 我面前有墙吗?
  • 我的右边有墙吗?
  • 我的左边有墙吗?

如果您有图像(自上而下的图像甚至第一人称视图),那么实际上也可以在某种程度上更好地概括的替代方法可能是基于像素的输入。

当状态由此类特征表示时,您将无法再使用您可能熟悉的表格 RL 算法。您必须改用函数逼近通过良好的状态表示,这些技术可能有推广的机会。不过,您可能希望确保在训练过程中实际上也使用各种不同的迷宫,否则它们可能仍然会过度适应训练中使用的单个迷宫。