gpt4 book ai didi

machine-learning - 大型网格世界环境的 DQN 探索策略

转载 作者:行者123 更新时间:2023-11-30 09:44:58 25 4
gpt4 key购买 nike

我的任务涉及大型网格世界类型的环境(网格大小可能为 30x30、50x50、100x100,最大为 200x200)。该网格中的每个元素包含 0 或 1,它们在每个情节中随机初始化。我的目标是训练一个代理,它从网格上的随机位置开始,导航到值为 1 的每个单元格,并将其设置为 0。(请注意,一般来说,网格大部分是 0,有稀疏的 1) 。

我正在尝试通过 5 个操作训练 DQN 模型来完成此任务:

1) 向上移动

2)向右移动

3)向下移动

4)向左移动

5) 清除(将当前元素设置为 0)

我给模型的“状态”是当前网格(NxM 张量)。我通过将扁平单热 (1x(N*N)) 张量串联到卷积特征向量的输出(在 FC 层之前)来提供代理的当前位置。

但是,我发现 epsilon-greedy 探索策略并没有带来足够的探索。此外,在训练的早期(当模型本质上是选择随机 Action 时),伪随机 Action 组合最终“抵消”,并且我的代理没有移动到距起始位置足够远的位置来发现有一个例如,值为 1 的单元格位于网格的不同象限中。我在 5x5 网格上使用非卷积 MLP 模型获得收敛策略,因此我认为我的实现是合理的。

1) 我如何鼓励探索,而不会总是“取消”只探索距我的起始位置非常局部的区域?

2)这种方法是完成这项任务的好方法吗(假设我想使用强化学习)?

3)我认为尝试使用“连续” Action 空间(模型输出“1”元素的索引)将更难实现收敛。总是尝试使用离散的 Action 空间是否明智?

最佳答案

探索是强化学习中的一大挑战。然而,对于简单的 e-greedy 来说,你的问题似乎并不太难,特别是如果你有一个初始随机状态。首先,您可以使用一些技巧:

  • 不要立即开始学习。在执行任何更新之前“预热”您的数据集并收集足够的样本(这也是在原始 DQN 论文中完成的)。
  • 减少噪音。您可以随着情节步骤减少 e 并为下一情节重置它,或者从较大的 e 开始并通过学习迭代减少它。
  • 调整每集的步数。有时,为了更多地探索网格,最好有更短的情节并更频繁地重置环境(感谢随机初始状态)。

关于您的问题:

1)上述技巧应该可以解决这个问题。有一些方法可以增强探索状态空间中未探索区域的能力,例如“内在动机”和“好奇心”。 This是一篇关于它的好论文。

2)您的问题是完全离散的并且不是那么大,因此值(value)(或策略)迭代(只是动态规划)会更好。

3)这取决于你的问题。离散化是否足够准确,可以让您发挥最佳性能?如果是这样,那就去吧。 (但对于更困难的问题通常情况并非如此)。

关于machine-learning - 大型网格世界环境的 DQN 探索策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53642669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com