我正在尝试实现一个 Deep Q 网络,但是当您只能收集单个操作的数据时,我一直坚持如何训练网络来预测多个操作值。
在论文中,它建议为每个动作使用不同的输出
相反,我们使用一种架构,其中每个可能的动作都有一个单独的输出单元,只有状态表示是神经网络的输入。输出对应于输入状态的各个动作的预测 Q 值。
由于我们只能访问一个动作,我们只知道该动作的损失(即单个输出)。但据我所知,我们需要为所有输出设置值才能训练网络。您可以使用什么黑魔法来获得其他输出值?
让网络预测其他动作值并将它们反馈回来似乎是个坏主意,因为它会影响优化器。如果你试图忽略其他输出并训练它,就好像只有你当前关注的一个,你仍然会影响其他输出,因为它们会共享边缘。