Jac*_*ack 2 python reinforcement-learning q-learning tensorflow
我正在尝试实施 DQN 和 DDQN(都有经验回复)来解决 OpenAI AI-Gym Cartpole Environment。这两种方法有时都能学习和解决这个问题,但并非总是如此。
我的网络只是一个前馈网络(我尝试使用 1 和 2 个隐藏层)。在 DDQN 中,我在 DQN 中创建了一个网络,在 DDQN 中创建了两个网络,一个评估 Q 值的目标网络和一个选择最佳动作的主网络,训练主网络,并在一些情节后将其复制到目标网络。
DQN 中的问题是:
DDQN 中的问题是:
我试过调整批量大小、学习率、隐藏层中的神经元数量、隐藏层数量、探索率,但不稳定性仍然存在。
关于网络大小和批量大小是否有任何经验法则?我认为合理更大的网络和更大的批量会增加稳定性。
是否有可能使学习稳定?任何意见或参考表示赞赏!
小智 5
这类问题经常发生,你不应该放弃。首先,当然,您应该再做一两次检查代码是否正确 - 尝试将您的代码与其他实现进行比较,查看损失函数的行为等。如果您非常确定您的代码一切正常 - 并且,正如您所说,该模型可以不时地学习任务,它可能是 - 您应该开始试验超参数。
您的问题似乎与探索技术、学习率、更新目标网络的方式以及经验回放记忆等超参数有关。我不会玩弄隐藏层的大小 - 找到模型学习一次的值并保持它们固定。