在 DQN 中,神经网络中的参数何时根据收到的奖励进行更新?

人工智能 神经网络 机器学习 强化学习 深度学习 dqn
2021-10-21 10:32:54

我知道我们在计算以下之间的损失后进行反向传播:

神经网络 Q 值和目标网络 Q 值

然而,这一切所做的只是更新神经网络的参数,以产生尽可能接近目标 Q 值的输出。

假设运行一个 epoch 并且奖励是 +10,当然我们也需要使用它来更新参数,以告诉网络在给定这些参数的情况下推动这些动作的概率。

算法如何知道 +10 是好的?假设奖励范围是 -10(失败)和 +10(获胜)。

1个回答

然而,这一切所做的只是更新神经网络的参数,以产生尽可能接近目标 Q 值的输出。

是的。这就是它需要做的所有事情,因为我们已经定义了围绕 Q 值的策略,如下所示:

π(s)=argmaxaq^(s,a,θ)

在哪里θ是神经网络权重。

因此,如果 Q 的估计值与最优策略的动作值大致相同,则 DQN 中的策略近似为最优策略。

算法如何知道 +10 是好的?

它没有,至少不是直接的。如果算法始终在每一步选择最大化动作,则该算法大致知道动作值是什么,如果它的行为与其当前估计一致。

学习过程将了解到 +10 在您的场景中相对较好,因为它在探索时永远找不到更好的东西。