对于我的第一个强化学习项目,我正在尝试训练特工玩实时游戏。这意味着环境会不断变化并进行更改,因此代理需要精确地确定其时间安排。为了确定正确的顺序,我认为代理必须以一定的频率工作。我的意思是,如果代理的频率为10Hz,则必须每隔0.1秒接收一次输入并做出决定。但是,我找不到有关此问题/问题的任何资料,但这可能是由于在搜索中未使用正确的术语。这是解决此问题的有效方法吗?如果可以,我该怎么用?我正在Windows中使用python3(游戏仅在Windows中运行),是否可以使用任何库?我猜想time.sleep()
是不可行的出路,因为它不是很精确(使用高频时),而且只是冻结了代理。
编辑:所以我的主要问题是:
a)我应该使用某个频率,这是操作强化学习代理的正常方法吗?
b)如果是,您建议使用什么库?
答案 0 :(得分:2)
该问题尚无明确答案,因为它受多种因素影响,例如模型的推理时间,环境所接受的最大控制率以及解决环境所需的控制率。
在您尝试玩游戏时,我假设您的最终目标可能是将代理人的表现与人类的表现进行比较。 如果是这样,一个好的方法就是选择与人类在同一游戏中可能使用的控制率相似的控制率,该控制率很可能低于10赫兹。
您可以尝试衡量您在玩游戏时使用了多少个动作,以获得良好的估算值,
但是,任何合理的频率(例如您建议的10Hz)应该是开始对代理进行工作的良好起点。