Machine learning 强化学习中相同状态的不同奖励

Machine learning 强化学习中相同状态的不同奖励,machine-learning,reinforcement-learning,q-learning,Machine Learning,Reinforcement Learning,Q Learning,我想为Chrome恐龙游戏(离线时可以玩的游戏)实施Q-Learning 我将我的状态定义为:到下一个障碍物的距离、速度和下一个障碍物的大小 对于奖励,我想使用成功通过障碍的数量,但同一个州可能有不同的即时奖励。同一类型的障碍物可能会在游戏中再次出现,但是通过它的奖励会更高,因为已经通过了更多的障碍物 我现在的问题是:这是一个问题还是Q-Learning仍然有效?如果没有更好的方法?an的定义是,奖励r(s,a,s')被定义为在s状态下采取行动a以搜索s'的预期奖励。这意味着一个给定的(s,a,

我想为Chrome恐龙游戏(离线时可以玩的游戏)实施Q-Learning

我将我的状态定义为:到下一个障碍物的距离、速度和下一个障碍物的大小

对于奖励,我想使用成功通过障碍的数量,但同一个州可能有不同的即时奖励。同一类型的障碍物可能会在游戏中再次出现,但是通过它的奖励会更高,因为已经通过了更多的障碍物

我现在的问题是:这是一个问题还是Q-Learning仍然有效?如果没有更好的方法?

an的定义是,奖励
r(s,a,s')
被定义为在
s
状态下采取行动
a
以搜索
s'
的预期奖励。这意味着一个给定的
(s,a,s')
可以有一个固定的奖励,或者有一些奖励分布,只要它有一个明确的期望。正如您所定义的,奖励与通过的障碍数量成比例。因为游戏可以永远持续下去,对一些
(s,a,s')
的奖励开始看起来像自然数的总和。这一系列的分歧,所以它没有一个预期。在实践中,如果你运行Q-学习,你可能会看到价值函数发散(NaN值),但是在学习中的策略可能是好的,因为增长最快的值将是最好的状态-动作对。
为了避免这种情况,您应该选择不同的奖励功能。当代理死亡时,你可以用它的分数来奖励它(最后是大的奖励,否则为零)。只要代理人别无选择,只能继续前进,你也可以给他一个活的奖励(每一步的小奖励)。只要将最高的总奖励分配给最长的跑步记录(并且对
(s,a,s')
元组的预期奖励定义良好),这是好的。

我建议一个奖励方案,对死亡给予较大的负奖励。每次分数增加时都会有一个积极的奖励(可能等于分数增加)。我不认为Q-learning有什么问题——我见过神奇的吃豆人特工使用香草Q-learning。恐龙游戏不应该成为一个问题。