深度Q学习变体与TF - Agents库在Atari游戏中的应用
1. 深度Q学习算法变体
深度Q学习(Deep Q - Learning)算法有多种变体,这些变体能够稳定并加速训练过程。
1.1 固定Q值目标
在基本的深度Q学习算法中,模型既用于预测,又用于设置自身的目标,这可能导致类似“狗追自己尾巴”的情况,使网络不稳定,出现发散、振荡、冻结等问题。为解决此问题,研究人员使用两个深度Q网络(DQN):
- 在线模型 :在每一步学习,并用于控制智能体移动。
- 目标模型 :仅用于定义目标,是在线模型的克隆。
以下是相关代码实现:
target = keras.models.clone_model(model)
target.set_weights(model.get_weights())
在 training_step() 函数中,计算下一个状态的Q值时使用目标模型:
next_Q_values = target.predict(next_states)
在训练循环中,定期(如每50个回合)将在线模型的权重复制到目标模型:
if episode % 50 == 0:
target.set_weights
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



