Q-Learning: 你可以后退吗?

我在查看一个样本考试,其中有一道关于Q-learning的问题,我已经将其附在下面。在第3步中,为什么采取的行动是“向右”而不是“向上”(返回到A2)。看起来返回到A2的Q值应该是0.18,而向右的Q值是0.09。那么为什么代理不返回到A2而是去B3呢?

迷宫与Q表

解答

编辑:另外,为什么2,C在“向右”动作的奖励值是2,尽管那里有一堵墙,无法向右移动?我们是否只是假设这不是可能的移动并忽略其Q值?

编辑2:然后在第6步,状态1,C的“向下”和“向右”的Q值相等。在那一点,代理是随机选择吗?那么对于这个问题,我应该选择最佳移动,因为代理可能会选择它?

编辑3:可以说代理不会返回到他之前来的状态吗?代理会探索同一个状态超过一次吗(不包括开始新的迷宫实例)?


回答:

你似乎假设应该查看下一个时间步的状态值。这是错误的。Q函数回答的问题是:

如果我在状态x,我应该采取什么行动?

在非确定性环境中,你甚至不知道下一个状态会是什么,所以根据你的解释,确定采取什么行动是不可能的。

Q-learning的学习部分确实作用于两个连续的时间步,但它们是在已知之后进行的,并且它们被用来更新Q函数的值。这与这些样本(状态、行动、强化、下一个状态)是如何收集的无关。在这种情况下,样本是由代理与环境互动收集的。在Q-learning设置中,代理根据策略与环境互动,这里策略是基于当前的Q函数值。从概念上讲,策略是通过回答我上面引用的问题来工作的。


在第1步和第2步中,Q函数仅对状态1,A2,A进行了修改。在第3步中,代理处于状态3,A,所以这是Q函数中唯一相关的部分。

在第3步中,为什么采取的行动是“向右”而不是“向上”(返回到A2)。

在状态3,A中,具有最高Q值的行动是“向右”(0.2)。所有其他行动的值为0.0

另外,为什么2,C在“向右”动作的奖励值是2,尽管那里有一堵墙,无法向右移动?我们是否只是假设这不是可能的移动并忽略其Q值?

据我所见,从2,C向右没有墙。然而,Q函数是给定的,在这个任务中,使用Q-learning是否可能达到这样的Q函数是无关紧要的。而且你总是可以从任意Q函数开始Q-learning。

在Q-learning中,你唯一的知识是Q函数,所以你不知道“墙”和其他东西——你根据Q函数行动,这就是这个算法的全部美妙之处。

然后在第6步,状态1,C的“向下”和“向右”的Q值相等。在那一点,代理是随机选择吗?那么对于这个问题,我应该选择最佳移动,因为代理可能会选择它?

同样,你应该查看代理当前所在状态的值,所以对于1,B“向右”是最优的——它的值是0.1,其他行动是0.0

为了回答最后一个问题,尽管在这里无关紧要:是的,如果代理采取贪婪步骤并且多个行动看起来是最优的,大多数常见的策略会随机选择一个。

可以说代理不会返回到他之前来的状态吗?代理会探索同一个状态超过一次吗(不包括开始新的迷宫实例)?

不。正如我上面所说——在纯Q-learning中,代理使用的唯一指导是Q函数。它不知道自己之前是否处于某个特定状态。

Related Posts

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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