Q学习二十一点,奖励功能?

时间:2020-01-30 21:35:22

标签: reinforcement-learning

我目前正在学习强化学习,并且已经建立了二十一点游戏。

游戏结束时有明显的奖励(支出),但是某些操作并不能直接带来奖励(按5击中),即使最终结果为负(松散)也应鼓励手)。

我的问题是,这些行为应获得的报酬是什么?

我可以为不会导致爆胎的命中打出积极的奖励(赢得手的奖励分数),但是感觉好像我没有正确解决问题。

此外,当我为获胜分配奖励时(在移手结束后),我会更新与最后一个动作/状态对相对应的q值,这似乎不是最优的,因为该动作可能不会直接导致赢。

我认为的另一种选择是为序列中的所有动作/状态对分配相同的最终奖励,但是,即使导致失手也应该鼓励某些动作(例如击中计数<10)。

注意:我的最终目标是将Deep-RL与LSTM结合使用,但我是从q学习开始的。

1 个答案:

答案 0 :(得分:0)

我会说从简单开始,并使用游戏所规定的奖励。如果您获胜,则如果您输了-1,则将获得+1的奖励。

看来您想奖励一些基于人类知识的行动。也许从使用epsilon贪婪开始,然后让代理发现所有动作。与确定未来奖励重要性的折扣超参数一起玩,看看它是否带有一些有趣的策略。

此博客与RL和21点有关。 https://towardsdatascience.com/playing-blackjack-using-model-free-reinforcement-learning-in-google-colab-aa2041a2c13d