假设我有像这样的 logits
[[4.3, -0.5, -2.7, 0, 0],
[0.5, 2.3, 0, 0, 0]]
显然,第一个示例中的最后两个和第二个示例中的最后三个被屏蔽(即它们为零),并且不应影响损失和梯度计算。
如何计算此 logits 和相应标签之间的交叉熵损失?为了理智起见,这个例子的标签可以是这样的
[[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0]]
(一个问题:Logits 上的 Softmax,后跟 log,也适用于屏蔽零,并且 tf 的交叉熵方法也将考虑这些元素的损失。)
(另外,你可以这样思考这个问题:我在一个批次中有不同长度的 logits,即我的 logits 的长度分别为 3 和 2,分别用于eg.1和eg.2。同样的后面是标签。)