我在Java中从零开始实现了DQN,所有内容都是定制的。我打蛇,结果非常好。但是我有一个问题。
要使网络尽可能稳定,请同时使用replay memory
和target network
。网络融合非常好。但是一段时间之后,它就破裂了。
这是一张图表(X-玩游戏,Y-平均得分)
在我用target
网络更新policy
网络之后,通常会在几场比赛后发生这种“中断”。
我用于DQN的设置:
discount factor: 0.9
learning rate: 0.001
steps to update target network: 300 000 (means every 300k steps i update target network with policy)
replay memory size: 300 000
replay memory batch size: 256 (every step i take 256 samples from replay memory and train network)
任何想法可能有什么问题吗?感谢您的回答。
答案 0 :(得分:0)
查找“灾难性遗忘”
尝试调整重放内存大小和更新目标网络的步骤数。