【发布时间】:2021-05-31 08:12:54
【问题描述】:
我刚刚开始使用稳定基线 3 自学强化学习。我的长期目标是训练代理玩特定的回合制棋盘游戏。不过,目前我对新事物感到不知所措。
我已经实现了一个健身房环境,我可以使用它来手动玩游戏或让它选择随机动作。
目前,我一直在尝试让模型让我根据观察结果采取行动。我的环境的动作空间是DiscreteSpace(256)。我创建环境为model = PPO('MlpPolicy', env, verbose=1) 的模型。当我后来打电话给model.predict(observation) 时,我确实得到了一个看起来像一个动作的号码。当重复运行时,我得到不同的数字,我认为这是在未经训练的模型上预期的。
不幸的是,在我的游戏中,大多数行为在大多数州都是非法的,我想过滤它们并选择最好的合法行为。或者只是将所有操作的输出结果转储出来,以了解正在发生的事情。
在浏览其他人的代码时,我看到了对model.action_probability(observation) 的引用。不幸的是,据我所知,方法不是稳定基线 3 的一部分。从稳定基线 2 迁移到 v3 的指南只提到它没有被实施 [1]。
你能告诉我如何继续吗?
【问题讨论】: