Caffe 乙状结肠交叉熵损失

Caffe sigmoid cross entropy loss

我正在使用 S 型交叉熵损失函数解决 this tutorial 提出的多标签分类问题。然而,在他们关于教程的结果和我的结果中,输出预测都在 (-Inf, Inf) 范围内,而 sigmoid 的范围是 [0, 1]。 sigmoid 是否只在 backprop 中处理?也就是说,前向传递不应该压缩输出吗?

在此示例中,"SigmoidCrossEntropyLoss" 层的输入是全连接层的输出。实际上,"InnerProduct" 层的输出值没有限制,它们可以在 [-inf, inf].
范围内 但是,如果仔细检查 "SigmoidCrossEntropyLoss",您会注意到它包含一个 "Sigmoid" layer inside —— 以确保稳定的梯度估计。
因此,在测试时,您应该用一个简单的 "Sigmoid" 层替换 "SigmoidCrossEntropyLoss" 以输出每 class 个预测。