【发布时间】:2020-03-08 10:26:36
【问题描述】:
我在 Java 中从头开始实现 DQN,一切都是定制的。我做了它来玩蛇,结果非常好。但我有一个问题。
为了使网络尽可能稳定,我使用replay memory 和target network。网络融合得非常好。但过了一段时间它就坏了。
这是一个图表(X - 玩过的游戏,Y - 平均得分)
在我用policy 网络更新target 网络后,这种“中断”通常发生在几场比赛中。
我用于 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)
有什么想法可能是错的吗?感谢您的回答。
【问题讨论】:
-
损失表现如何?
-
嘿,我不太清楚你的意思是什么
-
每次运行训练函数时,都会得到一份损失函数报告。它会减少/增加/保持稳定吗?
标签: deep-learning neural-network reinforcement-learning q-learning dqn