0

zeta 在critic 方法中代表什么?我相信它会跟踪状态-动作对并表示资格跟踪,这是状态-动作的临时记录,但是 zeta 究竟代表什么以及它在 c++ 中的外观(例如双精度向量)?

评论家 评论家

4

1 回答 1

1

就像您已经说过的那样,zeta 代表资格痕迹。这可以直观地理解为包含“在所有先前时间步中遇到的所有状态-动作特征向量的衰减混合”。这是我们之前看到的东西的痕迹,因此我们也应该对我们现在观察到的奖励给予一点信任。

更正式地说,如果您想编写 RL 算法的增量实现(计算时间均匀分布在所有时间步长上),这只是必需的,当以更直接/明显/幼稚的方式编写时,只能在一种非增量方式,因为它们具有更新规则,需要您剧集中所有时间步长的信息(例如 lambda-returns / Monte Carlo 返回)。这听起来可能相当复杂,但坚持直观的解释可能会更好。

至于它在 C++ 中的外观,是的,几乎是一个双精度向量。图像中第一行代码之前的“ z \in R^d”正好意味着,它是d实数的维向量(C++ 中的双精度或浮点数),其中d是状态动作特征向量的维数 ( phi)。

您还可以通过它需要在伪代码中的其他几个位置添加到其他维向量(和)d这一事实来判断它必须是一个维向量。如果 zeta 本身也是一个维向量,那么这只能在数学上正确计算。dphithetad

于 2018-04-12T16:53:03.157 回答