0

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

这是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 会不断向负无穷递减,直到发生下溢。
需要在损失评估中进行哪些更改才能解决问题?

4

1 回答 1

0

乘以 -1,然后最小化。这样,它会尝试找到得分最少的路径:最短的浴缸。您正在做的是无限最小化负项,这将变为 -∞ 。

于 2019-12-01T17:54:20.793 回答