神经网络如何知道它从行动中获得了哪些奖励?

How does neural network know which reward it got from action?

我目前正在制作一个深度 q 网络,我对我的 Q 网络如何知道我给它的奖励有点困惑。

例如我有这个具有策略和时间差异的状态动作函数:

然后我有我的Q网络:

在我输入状态的地方,我在同一观察中得到 4 个不同的 q 值。理论上 我如何奖励我的 Q 网络 因为我唯一的输入是状态而不是奖励。

希望有人能给我解释一下!

您应该熟悉训练推理

在训练阶段,您向神经网络提供输入和所需的输出。对所需输出进行编码的确切方式可能会有所不同;一种方法是定义奖励函数。然后定义权重调整程序以优化奖励

在生产中,网络用于推理。您现在使用它来预测未知结果,但不更新权重。因此,您在这个阶段没有奖励功能。

这使得神经网络成为一种监督学习形式。如果您需要无监督学习,您通常会遇到更大的问题,并且可能需要不同的算法。一个 sort-of 例外是您可以在事后自动评估预测的质量。 CPU 的分支预测器就是一个例子;这可以使用来自分支机构的实际数据进行训练。