1

假设我们有一个机器人可以移动的 (x,y) 平面。现在我们将世界的中间定义为目标状态,这意味着一旦我们的机器人达到该状态,我们将给予 100 的奖励。

现在,假设有 4 个状态(我称之为 A、B、C、D)可以导致目标状态。

我们第一次处于 A 并进入目标状态时,我们将更新我们的 QValues 表,如下所示:

Q(state = A, action = going to goal state) = 100 + 0

可能发生两件事之一。我可以在这里结束这一集,然后开始一个不同的集,机器人必须再次找到目标状态,或者即使我找到了目标状态,我也可以继续探索世界。如果我尝试这样做,我会看到一个问题。如果我处于目标状态并回到状态 A,它的 Qvalue 将如下:

Q(state = goalState, action = going to A) = 0 + gamma * 100

现在,如果我尝试从 A 再次进入目标状态:

Q(state = A, action = going to goal state) = 100 + gamma * (gamma * 100)

这意味着如果我继续这样做,因为 0 <= gamma <= 0,两个 qValue 都将永远上升。

这是 QLearning 的预期行为吗?难道我做错了什么?如果这是预期的行为,这不会导致问题吗?我知道从概率上讲,所有 4 个状态(A、B、C 和 D)都会以相同的速度增长,但即便如此,让它们永远增长还是有点让我烦恼。

即使在找到目标之后允许代理继续探索的想法与他离目标状态越近,它越有可能处于当前可以更新的状态有关。

4

1 回答 1

2

这正如预期的那样,因为 Q 估计不是预期的回报,它是预期的回报,如果我从那个状态/动作开始并遵循,这是我期望从那个状态/动作中获得的(可能通过伽玛打折的)奖励量我的政策直到剧集结束或永远。

如果你给我一些按钮,其中一个按钮在按下时总是产生 1 美元,那么按下该按钮的真正预期回报是 1 美元。但按下按钮的真正预期回报是无限美元,假设我有无数次按下按钮的机会。

于 2009-12-03T00:10:54.613 回答