当在带有负奖励的图中找到最短路径时,策略梯度(REINFORCE)会发散

我想使用策略梯度来找到网络中一组节点之间的最短路径。
该网络使用带有标记为-1的边的图表示。
现在,最接近负值的路径是最短的路径。
因此,我将梯度下降用于策略参数更新。

这是TensorFlow中的更新规则。

self.cross_entropy = tf.nn.softmax_cross_entropy_with_logits_v2(labels = self.outputTrue,logits = self.outputPred)
self.cerd = tf.tensordot(self.cross_entropy,self.reward,axes=1)
self.meanCEloss = self.cerd/tf.cast(BS,tf.float32) # BS is the batch size.
self.train_step = tf.train.AdamOptimizer(1e-4).minimize(self.meanCEloss)

但是,在运行代码之后,self.meanCEloss会一直朝负无穷大减小,直到发生下溢为止。
损耗评估需要哪些更改来解决该问题?

dashantufei 回答:当在带有负奖励的图中找到最短路径时,策略梯度(REINFORCE)会发散

乘以-1,然后最小化。这样,它将尝试找到得分最低的路径:最短的洗澡时间。您正在做的是-∞的否定项的无穷小。

本文链接:https://www.f2er.com/2998378.html

大家都在问