TensorFlow softmax_crossentropy_with logits:“标签”也经过培训(如果可以区分)?

时间:2017-12-15 14:25:17

标签: tensorflow fixed labels gradients loss-function

具有logits loss函数的softmax交叉熵用于减少提供给函数的logits和标签之间的差异。通常,标签是固定的,用于监督学习并且适应对数。但是当标签来自可区分的来源(例如另一个网络)时会发生什么?两个网络,即“logits network”和“标签网络”是否都会被后续优化器训练,或者这个丢失函数是否始终将标签视为固定的?

TLDR:tf.nn.softmax_cross_entropy_with_logits()是否也为标签提供渐变(如果它们是可微分的),还是它们总是被认为是固定的?

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用tf.softmax_cross_entropy_with_logits_v2来获取标签的渐变。

答案 1 :(得分:-1)

如果"标记&#34>,则根据提供给优化器的损失计算梯度。来自另一个可训练的网络,然后是,这些将被修改,因为它们会影响损失。使用其他网络输出的正确方法是将其定义为无法使用,或者列出要训练的所有变量并将它们显式传递给优化器。