据我了解,DQN 代理的输出与操作(对于每个状态)一样多。如果我们考虑具有 4 个动作的标量状态,这意味着 DQN 将具有 4 维输出。
但是,当涉及到训练代理的目标值时,通常将其描述为标量值 = 奖励 + 折扣*best_future_Q。
如何使用标量值来训练具有向量输出的神经网络?
例如参见 https://towardsdatascience.com/deep-q-learning-tutorial-mindqn-2a4c855abffc中的图片
据我了解,DQN 代理的输出与操作(对于每个状态)一样多。如果我们考虑具有 4 个动作的标量状态,这意味着 DQN 将具有 4 维输出。
但是,当涉及到训练代理的目标值时,通常将其描述为标量值 = 奖励 + 折扣*best_future_Q。
如何使用标量值来训练具有向量输出的神经网络?
例如参见 https://towardsdatascience.com/deep-q-learning-tutorial-mindqn-2a4c855abffc中的图片
我认为这种架构只是可以解决相同问题的架构之一(例如,一个可能只有 2 个输出,一个用于所选操作,一个用于该操作的价值,但我不会进一步详细说明)。
这个架构所做的是输出整个函数, 那就是价值作为行动的函数. 所以每个输出节点代表某个动作的价值对应于该节点(因此节点 1 对应于行动价值, 节点 2 到行动价值等等..)
但这不是通常意义上的向量输出。这是代表整个函数的函数输出对于每个动作.
就学习/决策规则而言,事情和往常一样。希望这很清楚。