QLearning中的负奖励

dev*_*ium 5 artificial-intelligence reinforcement-learning

假设我们在一个我们的代理可以沿着xx和yy轴移动的房间里。在每个点他都可以上下左右移动。因此,我们的状态空间可以由(x,y)定义,而我们在每个点上的动作都可以由(上,下,右,左)给出。假设我们的特工在任何使他撞墙的行动中,我们都会给他-1的负数回报,并使他回到以前的状态。如果他在房间中央发现一个木偶,他将获得+10奖励。

当我们更新给定状态/动作对的QValue时,我们会看到在新状态下可以执行哪些动作,并计算出可能达到的最大QValue,因此我们可以更新Q(s,a)当前状态/动作的值。这意味着,如果我们在点(10,10)中有一个目标状态,则它周围的所有状态的QValue会随着距离的增加而越来越小。现在,在与墙壁的关系上,在我看来这是不正确的。

当业务代表撞墙时(假设他处于位置(0,0)并进行了动作UP),他将为该状态/动作获得-1的奖励,从而获得-1的QValue。

现在,如果稍后我处于状态(0,1),并假设状态(0,0 0)的所有其他动作均为零,则在为动作LEFT计算(0,1)的QValue时,它将计算它可以通过以下方式:

Q([0,1], LEFT) = 0 + gamma * (max { 0, 0, 0, -1 } ) = 0 + 0 = 0
Run Code Online (Sandbox Code Playgroud)

这就是说,碰壁不会传播到附近的状态,这与您拥有积极奖励状态时发生的情况相反。

在我看来,这似乎很奇怪。起初,我认为找到给予负面奖励的状态/动作对与正面奖励一样是学习上的明智之举,但是从我上面显示的示例来看,这种说法似乎并不成立。在算法中似乎存在偏见,其要更多地考虑正面奖励而不是负面奖励。

这是QLearning的预期行为吗?不好的奖励不应该和积极的奖励一样重要吗?什么是“解决方法”?

Ano*_*on. 5

负反馈仅在特定动作的唯一可能结果时传播。

我不知道这是故意的还是无意的。


cat*_*try 3

您可以通过将默认奖励从 0 增加到 1、将目标奖励从 10 增加到 11、将惩罚从 -1 增加到 0 来避免负奖励。

关于 Q 学习的科学出版物有大量,所以我确信还有其他允许负反馈的表述。

编辑:我纠正了,这并没有改变我之前所说的行为。我的想法是,带有负面反馈的表述可以用没有负面反馈的表述来代替。

您进行观察的原因是,您对操作的结果或其所处的状态没有不确定性,因此您的代理始终可以选择它认为具有最佳奖励的操作(因此,所有未来操作的最大 Q 值) 。这就是为什么您的负面反馈不会传播:代理将来会简单地避免该操作。

然而,如果你的模型包含你的行为结果的不确定性(例如,总是有 10% 的概率朝随机方向移动),那么你的学习规则应该整合所有可能的未来奖励(基本上用加权的最大值代替最大值)。和)。在这种情况下,负面反馈也可以传播(这就是为什么我认为它应该是可能的:p)。此类模型的示例是POMDP