我正在使用DQN算法在我的环境中训练代理,如下所示:
我已经调整了一些超参数(网络架构,探索,学习率),这给了我一些下降的结果,但仍然没有它应该/可能的那么好。每个epiode的奖励在训练期间增加。 Q值也在收敛(见图1)。然而,对于超参数的所有不同设置,Q-损失不会收敛(参见图2)。我认为,Q缺失的缺乏收敛可能是获得更好结果的限制因素。
Q-value of one discrete action durnig training
我正在使用目标网络,每20k步更新一次。 Q损失计算为MSE。
你有没有为什么Q-loss没有收敛的想法? Q-Loss是否必须收敛DQN算法?我想知道为什么在大多数论文中都没有讨论过Q-loss。
我认为,当您的政策更新时,随着您的数据不断变化,Q-loss不会收敛是正常的。它与监督学习不同,您的数据永远不会发生变化,您可以对数据进行多次传递,以确保您的权重与数据完美匹配。
另一件事是我发现在每个时间步(软更新)稍微更新目标网络对我来说比在每个X时间步更新它(硬更新)更好。