我目前正在学习强化学习,我已经建立了一个黑板游戏。
游戏结束时有明显的奖励(奖励),但是有些行为不会直接导致奖励(点5),即使最终结果是负数(松开手),也应该鼓励奖励。
我的问题是,这些行为的回报应该是什么?
我可以硬编码一个正面的奖励(赢得手的奖励的一部分),对不会导致失败的命中,但它感觉我没有正确地处理这个问题。
另外,当我为一场胜利分配奖励时(在比赛结束后),我会更新与最后一个动作/状态对对应的Q值,这似乎不是最优的,因为这个动作可能没有直接导致胜利。
我想的另一种选择是为序列中的所有动作/状态对分配相同的结束奖励,但是,一些动作(比如点击计数<10)应该被鼓励,即使它会导致手下留情。
注意:我的最终目标是在LSTM中使用深度RL,但我从Q学习开始。
发布于 2020-03-11 22:25:57
这取决于项目的目标。项目可以是从“纯”到“应用”的范围:
一个完全纯的项目只提供极少量的信息。在Blackjack奖励信号的情况下,这只会在每只手的末尾向代理提供赢、输或绑定信息。
更多应用的项目可以在每次操作之前、期间或之后向代理提供更多的信息。
一个应用项目最有可能开始更好的训练,学习更快,结束训练更高。然而,应用的项目不太可能提供关于该系统具体能力的证据。
对于纯项目和应用项目,奖励信号的数量和类型是一个超参数,最好通过经验实验来调整。
发布于 2020-02-10 20:23:46
如果你包含了额外的规则/“提示”,比如对“数<10”给予奖励,那么你就是在添加专家知识。有了足够的比赛,你的预期回报应该是更高的比赛“正确”。是否在算法中使用资格跟踪?
https://datascience.stackexchange.com/questions/67298
复制相似问题