我已经测试了“ softmax_cross_entropy_with_logits_v2” 带有随机数
REMOTE_ADDR
控制台“ softmax [1.8194163 0.9048325]”
我对该功能的了解是 此功能仅在登录和标签不同时返回成本。
那为什么即使相同的值也返回0.9048325?
答案 0 :(得分:5)
tf.nn.softmax_cross_entropy_with_logits_v2
的工作方式是对x
数组进行softmax运算,以将数组变成概率:
其中i
是数组的索引。那么tf.nn.softmax_cross_entropy_with_logits_v2
的输出将是-log(p)
与标签之间的点积:
由于标签为0或1,因此只有标签等于1的项才起作用。因此,在您的第一个样本中,第一个索引的softmax概率为
输出将是
您的第二个示例将有所不同,因为x[0]
与x[1]
不同。
答案 1 :(得分:0)
tf.nn.softmax_cross_etnropy_with_logits_v2
期望未缩放的输入,因为它在内部对softmax
执行logits
操作。因此,您的第二个输入[0,0,0,0,1]在内部被软最大为[0.15,0.15,0.15,0.15,0.4]之类的东西,然后对该logit和真实标签[0,0, 0,0,1]计算为您获得的值