Keras 中的最小深度 Q 学习 (DQN 和 DDQN) 实现
使用深度强化学习制作简单游戏 AI 的介绍
在 Keras 和 Gym 中实现最简洁的深度 Q 学习实现,仅需 100 行代码!
dqn.py 代码的解释已在博客文章中介绍
我对这个仓库做了一些小改动,例如添加了 load 和 save 函数,以方便使用。
我也将 memory 设置为 deque 而不是简单的列表。
这样做是为了限制内存中的元素数量。
对于 dqn.py 来说,训练可能不稳定。ddqn.py 中此问题已得到缓解。
我在下一篇文章中会介绍 ddqn。
gym 迁移到 gymnasium,并更新为现代的重置/步骤 API。Adam(learning_rate=), Input 层,keras.losses.Huber)。ddqn.py 现在实现了真正的双 DQN(在线网络选择,目标网络评估)。ddqn.py 中删除 CartPole 特定的奖励形状,使其环境无关。save() / load() 现在将 epsilon 与权重一起保存。dqn.py 在 CartPole 上可靠地学习。暂无开放 Issues,或尚未同步最近议题。