咖啡因Sigmoid交叉熵损失

5

我正在使用由此教程提出的sigmoid交叉熵损失函数来解决多标签分类问题。然而,在他们的教程结果和我的结果中,输出预测值的范围为(-Inf, Inf),而sigmoid函数的范围是[0, 1]。sigmoid函数只在后向传递过程中进行处理吗?也就是说,前向传递不应该将输出值压缩到[0,1]之间吗?

1个回答

5
在这个例子中,"SigmoidCrossEntropyLoss"层的输入是全连接层的输出。实际上,"InnerProduct"层的输出值没有任何限制,可以在范围[-inf, inf]内。
然而,如果你仔细检查"SigmoidCrossEntropyLoss",你会注意到它包含一个"Sigmoid" -- 以确保梯度估计的稳定性。
因此,在测试时,你应该用简单的"Sigmoid"层替换"SigmoidCrossEntropyLoss"以输出每个类别的预测结果。

谢谢@Shai。你对这些Caffe答案非常得心应手。 - marcman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接