我在Tron的游戏中实现了Q-learning,这是完美的。但是,我想实现经验重播,看看它是如何工作的。这是我做的事情:
在给定数量的游戏后,我从体验中随机抽样(10%,50%或100%),然后使用当前状态重新计算输入值。
(我不确定这是否正确,因此我也尝试保存激活值,只是恢复它们以使其真正脱离政策)。
然后我使用反向传播。
然而,通过这样做,我的Q值会爆发为inf或-inf。当我在每次移动后直接测试相同的代码时,所以我以相同的方式保存所有内容并在每次操作后反向传播,然后它完美地学习。
有没有人知道这是怎么发生的?似乎体验重放会导致我的Q值变得非常大或很小。