我目前正致力于建立一个深度q网络,我对我的Q网络如何知道我给予的奖励感到有些困惑。
例如,我有这个具有策略和时间差异的状态动作函数:
然后我有我的Q-network:
在我输入状态的地方,我在同一个观察中得到4个不同的q值。理论明智如何奖励我的Q-network ,因为我唯一的输入是状态而不是奖励。
我希望有人能解释一下这个!
答案 0 :(得分:2)
您应该熟悉培训和推理。
在训练阶段,您向神经网络提供输入和所需输出。编码所需输出的确切方式可能有所不同;一种方法是定义奖励功能。然后定义权重调整程序以优化奖励
在生产中,网络用于推理。您现在用它来预测未知结果,但您不会更新权重。因此,在这个阶段你没有奖励功能。
这使得神经网络成为监督学习的一种形式。如果您需要无监督学习,通常会遇到更大的问题,并且可能需要不同的算法。一种例外是您可以事后自动评估预测的质量。一个例子是CPU的分支预测器;这可以使用分支机构的实际数据进行培训。