【发布时间】:2018-06-29 10:43:44
【问题描述】:
我正在查看 2 个不同的策略梯度示例,并且想知道为什么有 2 种不同的方法可以获得优势函数。 其中一个https://github.com/flyyufelix/VizDoom-Keras-RL/blob/master/reinforce.py 将优势直接设置为折扣奖励
advantages[i][self.actions[i]] = discounted_rewards[i]
并将其直接传递给分类交叉熵。
loss = tf.reduce_mean(neg_log_prob * self.tf_vt)
然后他试图将其最小化(tf_vt 只是 discounted_reward,以与上述相同的方式计算)。
第一种方法不应该是
advantages[i][self.actions[i]] = probability_from_softmax * discounted_rewards[i]
如果他们是一样的?还是我误解了这里手动计算负对数概率的区别?
【问题讨论】:
标签: keras reinforcement-learning