我正在 MountainCar 模拟中从头开始实施 DQN 算法。我正在使用的设置当汽车撞到国旗时,和除此以外。奖励衰减因子设置为. 算法从探索因子开始并随着时间的推移减少到.
如果我理解正确,某些状态和动作对的函数定义为:
所以,将满足条件:
意思是:
但是,由于我的网络仅近似于函数它有时可能产生大于. 当这种情况发生时,进一步的训练会导致值开始呈指数增长,整个事情就会爆炸。
当我将预期值与当前预测值的误差限制在某个较小的数字时,它仍然会导致爆破稍微慢一点。
我能想到的唯一解决方案是钳制预测值到并强迫它永远不会超过这个。我已经这样做了,并且得到了很好的结果。
这有意义吗?这是在 DQN 中发生的情况吗?或者也许我错过了一些东西,我的实现有点错误?