我正在使用DQN算法在我的环境中训练一个代理,如下所示:
我已经调整了一些超参数(网络架构、探索、学习速度),这给了我一些下降的结果,但仍然没有达到应有的效果。在训练过程中,每节课的奖励都在增加。Q值也在收敛(参见图1)。然而,对于所有不同的超参数设置,q损失并不收敛(见图2)。我认为,Q损失的收敛性不足可能是获得更好结果的限制因素.
我使用的是一个目标网络,每20k个时间步骤更新一次。Q损失计算为MSE.
你知道为什么q损失不收敛吗?对于DQN算法,Q损失必须收敛吗?我想知道,为什么大多数的论文都没有讨论q损失。
发布于 2018-09-05 13:57:20
我认为当您的策略更新时,Q损失不收敛是正常的,因为您的数据不断变化。这与监督学习不同,在那里你的数据永远不会改变,你可以多次传递你的数据,以确保你的权重与这些数据很好地吻合。
另一件事是,我发现在每个时间步骤(软更新)稍微更新目标网络比在每一个X个时间步骤(硬更新)更新它更有效。
https://stackoverflow.com/questions/47036246
复制相似问题