我目前正在为具有以下特征的游戏实施 PPO:
- 观察空间:9x9x(>150)
- 行动空间:144
- 在给定的状态下,只有少数动作(~1-10)是合法的
- 时间步长 t 中的状态与状态 t+1 有很大不同
- 环境是偶发的(约 25 步,取决于级别),并以胜利或松散结束
- 在某些关卡中,随机策略(如果仅采取法律行动)可能会导致胜利,在某些关卡中需要策略。
我希望算法学习:
- 尽量避免违法行为,最好只采取合法行为
- 学会打法的最佳组合,以最快的速度取胜
我尝试了不同的奖励功能,到目前为止最好的一个是:
- 非法行为:-0.10
- 法律行动:+0.10
- 赢:+1.0
我在一个随机策略会击败的简单级别上对其进行了测试。在我训练期间,我的策略学会了采取大约 80% 的法律行动,但从未成功。如果我跑得更久,也许会开始赢,它可能会上升得更多。
上述奖励函数的问题在于,它不鼓励以尽可能少的动作获胜,因为每个合法动作都会获得正奖励。
我还尝试了以下奖励功能:
- 非法行为:-0.10
- 法律行动:-0.02
- 赢:+1.0
但它收敛到大约 20% 的合法动作。
我有两个问题:
- 任何熟悉类似问题的人都知道我如何设计奖励功能?
- 有谁知道他们讨论学习三个不同目标的问题的任何论文:避免非法行为、获胜和通过最少数量的行为获胜?