深度Q学习变体与TF - Agents库的应用
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(model.get_weights())
为
深度Q学习变体与TF-Agents实战
超级会员免费看
订阅专栏 解锁全文
13

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



