我目前正在为一个具有以下特性的游戏实现PPO:
我想让算法学到:
我尝试过不同的奖励功能,到目前为止最好的一个是:
我在一个简单的层次上测试了它,一个随机的策略会击败它。在我接受培训期间,我的政策学会了80%的法律诉讼,但从未赢过。如果我再跑一段时间,并且开始赢球,它可能会上升得更多。
上述奖励功能的问题在于,它不鼓励以尽可能少的行动赢得胜利,因为每一次法律诉讼都会得到积极的回报。
我还尝试了以下奖励功能:
但是,它集中到了大约20%的合法行动。
我有两个问题:
发布于 2019-03-10 17:16:45
您是否希望您的代理人在任何特定时间执行非法行为?避免非法操作的一种方法是在计算softmax概率时在144动作向量上使用掩码(因此动作索引被保留)。然后,根据蒙面概率对行为进行抽样。首先,您需要确定在给定的步骤中哪些行为是非法的,这应该取决于游戏的动态。一个例子是用于学习在StarCraft II中执行迷你任务的算法.
为了强制你的代理人采取最低限度的行动步骤,你应该引入一个小的惩罚(比如说-0.01),这样你的代理人也会试图优化这部分奖励。
对于赢得比赛的问题,没有答案。这取决于许多因素,我在这里列举几个因素:给定游戏、奖励稀疏性、观察类型(图像、非矢量数据)、数据p再处理、对代理的输入、探索量等,agent的架构是否合适?如果您使用X类型的方法解决您的任务(除非您的任务已经通过特定类型的学习者解决了)。你可以给出你想要解决的游戏/任务的名称。
发布于 2019-08-08 05:41:41
RL书籍中给出的大多数网格世界示例对每一步都使用-1的奖励,直到到达终端状态为止。这鼓励算法在尽可能少的步骤内达到终端状态。因此,对于每一项法律诉讼,你可以给予-1的奖励,而为了避免在一个州的非法行为,你可以给予大约-10的奖励。既然你说每集可能有25步左右,那么将胜利奖励提高到超过25步,比如50个算法来理解胜利是更重要的,因为它提供了更多的奖励。
https://datascience.stackexchange.com/questions/46918
复制相似问题