繁体   English   中英

强化学习中的时间步长

[英]Time step in reinforcement learning

在我的第一个强化学习项目中,我试图训练一个智能体来玩实时游戏。 这意味着环境会不断移动并发生变化,因此代理需要精确确定其时间。 为了有一个正确的顺序,我认为代理必须以一定的频率工作。 我的意思是,如果代理的频率为 10Hz,它将必须每 0.1 秒接收一次输入并做出决定。 但是,我找不到有关此问题/事项的任何来源,但这可能是由于我的搜索没有使用正确的术语。 这是处理这个问题的有效方法吗? 如果是这样,我可以使用什么? 我正在 windows 中使用 python3(游戏只能在 windows 中运行),有没有可以使用的库? 我猜time.sleep()不是一个可行的方法,因为它不是很精确(当使用高频时)并且因为它只是冻结代理。

编辑:所以我的主要问题是:

a) 我应该使用某个频率,这是操作强化学习代理的正常方式吗?

b) 如果是这样,您建议使用哪些库?

这个问题没有明确的答案,因为它受多种因素的影响,例如模型的推理时间、环境可接受的最大控制率以及解决环境所需的控制率。

当您尝试玩游戏时,我假设您的最终目标可能是将代理的性能与人类的性能进行比较。 如果是这样,一个好的方法是选择一个与人类在同一游戏中可能使用的控制率相似的控制率,这很可能低于 10 赫兹。

您可以尝试测量您在玩游戏时使用了多少动作以获得良好的估计,

但是,任何合理的频率,例如您建议的 10Hz,都应该是开始处理您的代理的良好起点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM