machine-learning - Q-Learning:你能倒退吗?

标签 machine-learning artificial-intelligence computer-science reinforcement-learning q-learning

我正在查看样本考试,有一个关于 Q-learning 的问题,我已将其包含在下面。在第三步中,为什么采取的 Action 是“正确”而不是“向上”(回到A2)。返回到 A2 的 Q 值似乎为 0.18,向右的 Q 值为 0.09。那么为什么代理不返回 A2 而是前往 B3 呢?

Maze & Q-Table

Solution

编辑:另外,为什么 2,C 对于“正确” Action 的奖励值为 2,即使那里有一堵墙并且不可能向右走?我们是否只是假设这不是一个可能的举动并忽略它的 Q 值?

Edit2:然后在步骤 6 中,在状态 1,C 处“向下”和“向右”的 Q 值相等。那么代理会随机选择吗?那么对于这个问题我只会选择最好的举动,因为代理可能会选择它?

Edit3:说特工不会返回到他之前的状态是真的吗?代理是否会多次探索同一状态(不包括启动迷宫的新实例)?

最佳答案

您似乎假设您应该在下一个时间步中查看状态的值。这是不正确的。 Q 函数回答了这个问题:

If I'm in state x, which action should I take?

在非确定性环境中,您甚至不知道下一个状态是什么,因此不可能确定在您的解释中采取哪个操作。

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

<小时/>

在步骤 1 和 2 中,仅针对状态 1,A2,A 修改 Q 函数。在第 3 步中,代理处于状态 3,A,因此这是 Q 函数中唯一相关的部分。

In the 3rd step, how come the action taken is 'right' rather than 'up' (back to A2).

在状态 3,A 中,具有最高 Q 值的 Action 是“正确”(0.2)。所有其他操作的值为 0.0

Also, how come 2,C has a reward value of 2 for action 'right' even though there's a wall there and not possible to go right? Do we just assume thats not a possible move and ignore its Q value?

据我所知,2,C 右侧没有墙。然而,Q 函数是给定的,并且在该任务中是否可以使用 Q 学习达到这样的 Q 函数并不相关。无论如何,您始终可以从任意 Q 函数开始 Q 学习。

在 Q 学习中,你唯一的知识是 Q 函数,因此你对“墙”和其他事物一无所知 - 你根据 Q 函数行事,这就是该算法的全部优点。

Then in step 6, the Q values for going 'down' and 'right' at state 1,C are equal. At that point does the agent just pick randomly? So then for this question I would just pick the best move since it's possible the agent would pick it?

同样,您应该查看代理当前所处状态的值,因此对于 1,B“正确”是最佳的 - 它有 0.1 和其他操作为 0.0

回答最后一个问题,尽管它在这里无关紧要:是的,如果代理采取贪婪步骤并且多个操作似乎是最优的,它会在最常见的策略中随机选择一个。

Would it be true to say the agent doesn't return to the state he previously came from? Will an agent ever explore the same state more than once (not including starting a new instance of the maze)?

没有。正如我上面所说 - 在纯 Q 学习中使用的唯一指导代理是 Q 函数。它不知道自己之前曾处于特定状态。

关于machine-learning - Q-Learning:你能倒退吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572624/

相关文章:

machine-learning - 对话流分析中不匹配(红色)和不匹配(蓝色)有什么区别?

machine-learning - 机器学习中如何处理超过二维的输入数据

machine-learning - 最新的句子可读性算法

python - 连续状态和 Action 空间的强化学习

计算数组中的位数并显示它们,然后将其乘以给定数字

database-design - PintOS 等数据库系统的教育项目?

java - 一个字符串上有数百个正则表达式

python - 存储 session 时 tensorflow 中出现错误 "no Variable to save"

c# - 如何让敌人在 XNA 中全屏跟随玩家?

algorithm - O(3^n) 仍然写成 O(2^n) 吗?