将 RL 应用于动物分散是一种有效的方法吗?

数据挖掘 强化学习
2021-09-30 06:07:53

我有一个具有中等规模、离散的动作集的代理 A10<|A|<100. 这些动作可以在每个时间步长 1 秒的无限范围内进行t. 世界本质上是来自静态相机和状态的图片S是在图片上检测到的动物数量(为简单起见假设完美检测)。我们可以有把握地说max(S)<200. 每一个动作a旨在降低由于动物的分散或恐惧而导致的检测量。奖励是检测与s1s.

诚然,我只是 RL 的初学者,所以我看到的不仅仅是 MDP。我相信这不是马尔可夫问题,因为状态不是独立的(过去的行动对当前行动的结果有影响)。话虽如此,我想知道这种设置是否有特定的 RL 算法,或者 RL 是否是正确的方法?

1个回答

诚然,我只是 RL 的初学者,所以我看到的不仅仅是 MDP。我相信这不是马尔可夫问题,因为状态不是独立的(过去的行动对当前行动的结果有影响)。

如果有足够的隐藏变量,那么这对您来说可能是一个真正的问题。策略将状态映射到动作 - 搜索最佳策略将始终将相同的动作映射到相同的状态。如果这是某种自动稻草人系统,那么动物很可能会习惯于“最佳”动作。

解决这个问题的两种方法:

  • 如果习惯化的速度足够慢,那么您可能会摆脱将环境视为具有您建议的简单状态并拥有一个不断学习并适应触发动物离开的变化的代理。这将是一个具有非平稳动态的环境(相同状态下的相同动作将随着时间的推移而在其预期奖励和下一个状态方面发生漂移)。对于 RL 代理,这可能只是坚持相对较高的探索率和学习率的问题。

  • 如果习惯化是快速或自适应的,那么您必须包含一些在状态表示中使用的最近操作的记忆。这会使状态空间变得更大,但也是不可避免的。您可以尝试将内存保留在代理中 - 使用与部分可观察 MDP (POMDP) 一起使用的方法 - 它并没有真正使问题变得更容易,但您可能更喜欢这种表示。

奖励是检测与s1s.

如果习惯化是快速/自适应的,您需要重新考虑奖励系统,因为它无法区分好政策和坏政策。所有策略最终都会有一些检测分布,因此所有策略的平均总奖励为 0。从长远来看,随机行为的奖励计划平均为零,如果生物数量始终保持在 200 或始终为零,则平均为零。大概有零个生物是理想的,而有 200 个会很糟糕——你需要能够区分这两种情况。

您希望始终如一地最小化该区域中的生物数量,因此简单的奖励计划只是每个时间步可见动物数量的负数。也许可以缩放这个 - 例如除以 100,或者除以某个假设的背景率,如果动物的数量平均与代理没有采取任何行动一样,那么每个时间步您将获得 -1 奖励。您可以在代理不存在或根本不活动的几天内使用相机测量此平均值。它不需要非常准确,缩放只是为了方便 - 你可以认为每时间步平均奖励为 -0.2 的代理比完全没有代理要好五倍,而得分的代理众所周知,每个时间步 -1.5 可能会吸引生物!

话虽如此,我想知道这种设置是否有特定的 RL 算法,或者 RL 是否是正确的方法?

这个问题似乎与 RL 很匹配。还有其他搜索良好策略函数的方法,例如遗传算法,也可能适用。但是,您仍然需要为智能体配备持续学习功能,以便它可以在变化时重新找到最佳动作,或者根据习惯化的速度对最近的动作进行记忆。您甚至可能需要两者,因为鸟类或哺乳动物等聪明的动物可以以不同的方式长期和短期地适应。