我在查看一个样本考试,其中有一道关于Q-learning的问题,我已经将其附在下面。在第3步中,为什么采取的行动是“向右”而不是“向上”(返回到A2)。看起来返回到A2的Q值应该是0.18,而向右的Q值是0.09。那么为什么代理不返回到A2而是去B3呢?
编辑:另外,为什么2,C在“向右”动作的奖励值是2,尽管那里有一堵墙,无法向右移动?我们是否只是假设这不是可能的移动并忽略其Q值?
编辑2:然后在第6步,状态1,C的“向下”和“向右”的Q值相等。在那一点,代理是随机选择吗?那么对于这个问题,我应该选择最佳移动,因为代理可能会选择它?
编辑3:可以说代理不会返回到他之前来的状态吗?代理会探索同一个状态超过一次吗(不包括开始新的迷宫实例)?
回答:
你似乎假设应该查看下一个时间步的状态值。这是错误的。Q函数回答的问题是:
如果我在状态
x
,我应该采取什么行动?
在非确定性环境中,你甚至不知道下一个状态会是什么,所以根据你的解释,确定采取什么行动是不可能的。
Q-learning的学习部分确实作用于两个连续的时间步,但它们是在已知之后进行的,并且它们被用来更新Q函数的值。这与这些样本(状态、行动、强化、下一个状态)是如何收集的无关。在这种情况下,样本是由代理与环境互动收集的。在Q-learning设置中,代理根据策略与环境互动,这里策略是基于当前的Q函数值。从概念上讲,策略是通过回答我上面引用的问题来工作的。
在第1步和第2步中,Q函数仅对状态1,A
和2,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函数。它不知道自己之前是否处于某个特定状态。