Q值是否每集更新?

人工智能 强化学习 q学习
2021-10-26 18:01:01

我试图了解更新 Q 表值的贝尔曼方程。最初更新值的概念对我来说很清楚。不清楚的是该值的后续更新。值是否被每一集替换?这似乎不会从过去吸取教训。也许将上一集的值与现有值平均?

不是专门从书上看的。我正在使用等式

V(s)=maxa(R(s,a)+γV(s)),

在哪里γ是学习率。0.9将鼓励探索,并且0.99会鼓励剥削。我正在使用一个简单的3×4来自YouTube的矩阵

1个回答

我认为您对什么是更新功能和目标有些困惑。

您在那里的方程式,以及视频中所做的是对某个状态的真实值的估计。在时间差分算法中,这称为 TD-Target。

您感到困惑的原因可能是在视频中,他从结束状态开始,然后使用该公式向后退,以获得每个状态的最终值。但这不是您更新值的方式,而是您希望在迭代状态结束时到达的位置。

更新公式可能有多种形式,具体取决于算法。对于 TD(0),这是一个简单的 1 步前瞻策略,其中正在评估的是状态(如您的情况),更新函数是:

V(s)=(1α)V(s)+α(R(s,a)+γV(s)),
其中 alpha 是学习率。阿尔法会做的是平衡你想要改变的当前估计的多少。你拿着1α的原始值并添加α乘以 td-target,它使用当前状态的奖励加上下一个状态值的折扣估计。例如,alpha 的正常值可以是 0.1 到 0.3。

估计将慢慢收敛到由您的方程给出的状态的实际值:

V(s)=maxa(R(s,a)+γV(s)).

此外,该γ正如您引用的视频中所说,实际上是与未来状态相关的折扣。它基本上说明了您对未来状态奖励的重视程度。如果γ=0,那么你只关心你当前状态的奖励来评估它(这不是用的)。在另一个极端,如果γ=1您将为在前 5 步的状态中获得的奖励付出与当前状态一样多的价值。如果您使用一些中间值,您将对未来的奖励给予一定的重视,但不如现在的奖励那么重要。状态奖励的衰减nsteps在未来由γn.

我要纠正的另一件事是探索-开发平衡与γ. 它通常由一些策略来平衡,例如ϵgreedy. 例如,这表明您采取的某些行动是随机的,这反过来又使您探索价值较低的状态。