我的问题听起来像是重复的,例如,奖励函数怎么可能既取决于下一个状态又取决于当前状态的动作? 但我仍然感到困惑。
在 Q 函数的神经网络逼近中,我遵循经验回放程序。论文和手册建议在体验回放中存储状态、动作、收到的奖励和下一个状态信息。然而,当一个人即将根据下一个动作计算 Q 值的最大值时,他们使用哪个状态:状态或下一个状态?如果使用下一个状态来计算最大 Q,那么存储上一个状态和动作信息的整个目的是什么?
一个例子(二维世界):
代理位于单元格 A1(状态)。他的目标是到达 C3 以获得积极的奖励。然后他移动到 B2(动作);比方说,收到的奖励是 0。下一个状态是 B2(在动作完成之后)。
问题:
是否应该依靠 B2 状态从该状态(下一个状态)迭代可能的动作以获得最高奖励(最大 Q)的近似值?
那么,为什么我们将 A1 和 move-to-B2 信息完全存储在重放缓冲区中?
或者我错了,我们只是使用 A1 并迭代可能的操作(包括对 B2 的操作)以获得最大 Q?
编辑:我想我找到了答案)。我们需要存储先前的状态(A1)和动作(移动到 B2),以创建状态-动作分布,这将满足我们在下一个状态例程之后获得的预期长期奖励分布。对?