深度强化学习融合零得分策略(DDPG)

时间:2019-08-10 10:26:54

标签: python tensorflow machine-learning keras deep-learning

我正在构建在Malmo(Minecraft AI平台)环境中运行的DDPG代理。我的实现收敛到零分。

我尝试了正向和负向奖励函数,但是,这两种结果都会导致代理收敛于零分策略。

如何创建动作梯度:

# critic __init__()
self.gradients = tf.gradients(self.model.outputs, self.model.inputs[1])

如何使用动作梯度:

# actor __init__()
self.action_gradients = tf.placeholder(dtype=tf.float32, shape=(None, self.action_size))
self.parameter_gradients = tf.gradients(self.model.outputs, self.model.trainable_variables, -self.action_gradients)
gradients = zip(self.parameter_gradients, self.model.trainable_variables)
self.optimize = tf.train.AdamOptimizer(self.learning_rate).apply_gradients(gradients)

我希望随着时间的推移奖励会增加,但是该模型会随着时间的推移减少奖励并收敛到接近“ 0”。

positive reward function negative reward function

0 个答案:

没有答案