QLearning 与永不结束的回合

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

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

第一次我们处于 A 状态并进入目标状态时,我们将按如下方式更新我们的 Q 值表:

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

可能会发生两种情况。我可以在这里结束回合,并开始另一个不同的回合,让机器人再次找到目标状态,或者我可以在找到目标状态后继续探索世界。但如果我尝试这样做,我会发现一个问题。如果我处于目标状态并返回到 A 状态,它的 Q 值将如下所示:

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,两个 q 值都会永远上升。

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

允许 agent 在找到目标后继续探索的想法与 agent 离目标状态越近,就越有可能处于可以立即更新的状态有关。


回答:

这是预期的,因为 Q 估计不是预期的奖励,而是预期的回报,也就是如果我从该状态/行动开始并按照我的策略直到回合结束或永远,我期望获得的(可能通过 gamma 折扣的)奖励金额。

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注