在 Q Learning 中,你如何才能真正获得 Q 值? Q(s,a) 不会永远持续下去吗?

In Q Learning, how can you ever actually get a Q value? Wouldn't Q(s,a) just go on forever?

我一直在研究强化学习,但我不明白 Q 值是如何计算的。如果用贝尔曼方程Q(s,a) = r + γ*max(Q(s',a')),不就一直这样下去吗?因为 Q(s',a') 还需要一个时间步长的 Q 值,而且会一直持续下去。结局如何?

Reinforcement Learning中,你通常会尝试找到一个策略(在特定状态下采取的最佳行动),当策略不再改变或价值函数(代表预期的奖励)收敛了。


你似乎混淆了 Q-learning and Value Iteration using the Bellman equation。 Q-learning 是一种无模型技术,您可以使用获得的奖励来更新 Q:

这里的直接奖励rt+1是做了动作后得到的奖励at 处于状态 st。 α 是学习率,应该在 0 和 1 之间,如果为 0 则不进行学习,如果为 1 则只考虑最新的奖励。

Value iteration with the Bellman equation:

其中需要模型Pa(s,s'),也定义为P(s '|s,a),这是使用动作 从状态 ss' 的概率]a。为了检查值函数是否收敛,通常将值函数 Vt+1V[=49= 进行比较]t 对于所有状态,如果它小于一个小值 (ε),则该策略被认为是收敛的:


另请参阅: