在Q学习中,代理从其当前状态开始,在每个离散的时间步上采取行动,并且在执行某个动作之后,代理会立即获得奖励,以访问已执行动作的成功或失败。
假设我们要使用Q学习来控制车速,其中的动作是目标速度,代理商的目标是尽快到达停车线(距起点1公里)。

1)因此,在此示例中,业务代表是否需要在每个离散时间步长(1秒)采取措施,或者业务代表可以在每100m而不是每个离散时间步长采取行动。在每个不连续的时间步伐都必须采取行动吗?

2)Q学习延迟奖励意味着什么?
代理商到达目标后立即更新奖励,而不是在每个时间步长执行每个操作后更新奖励?
提前致谢 :)

最佳答案

1)代理商需要在每个离散时间步长(1sec)采取行动,还是代理商可以在每100m而不是每个离散时间步长采取行动。在每个不连续的时间步骤中都必须采取行动吗?


我认为您可能会将Q学习中的时间步长概念与我们对时间的物理认识相混淆。在Q学习中,每个时间步骤都是轮到代理采取行动/采取行动的时间。因此,如果游戏是国际象棋,那么每个步骤都是玩家玩的时间。因此,座席采取行动的频率由游戏规则决定。在您的示例中,我不清楚“游戏”的规则是什么?如果规则说座席每1“秒”选择一个动作,那么座席将需要遵循该动作。如果您认为这太频繁了,可以查看“无”是否是代理采取的可用操作选项。


  Q学习延迟奖励的含义是什么?代理商到达目标后立即更新奖励,而不是在每个时间步长执行每个操作后更新奖励吗?


要了解延迟奖励,也许看看formula会有所帮助。machine-learning - Q学习更新频率-LMLPHP
如您所见,时间步长t处的Q值不仅受旧的Q值和立即回报的影响,而且还受“估计的最佳未来值”的影响。估计的最佳值(具有待调整的超参数折扣因子)设置为捕获“延迟奖励”。

延迟奖励背后的直觉是,有时某个动作在当时似乎是一个不好的动作(从数学上说,通过采取这种行动,特工得到的立即报酬甚至是惩罚都很低),但是某种程度上,这种行动会带来长期利益。以您的示例为例,假设代理位于位置P,有两条路线可到达停车线。一条路线的直线距离为1 km,另一条路线的弯路为1.5 km。代理商采取1.5公里的路线,与选择1公里的路线相比,它可能会获得较少的即时奖励。让我们进一步假设1.5 km的路线具有比1 km的路线更高的速度限制,这实际上使特工比使用1 km的路线更快地到达停靠线。该“未来奖励”是延迟奖励,在计算时间步t的Q值(位置P处的状态,采取1.5公里路线的动作)的Q值时,需要考虑该延迟奖励。

该公式的实现可能会有些混乱,因为它涉及将来的Q值。我曾经做过的方法就是简单地在时间步t上计算Q值,而不必担心延迟的奖励。

# @ time step t
Q(st, at) = Q(st, at) + alpha * immedate_reward - alpha*Q(st, at)


然后,在到达时间步t + 1之后,我又返回了更新时间延迟t的时间步t的先前Q值。

# @ time step t+1
Q(st+1, at+1) = Q(st+1, at+1) + alpha * immedate_reward - alpha*Q(st+1, at+t)
Q(st, at) = Q(st, at) + alpha * gama * max(Q(st+1, a))


我希望这有助于澄清并回答您的问题...

08-25 08:51