我正在使用由此教程提出的sigmoid交叉熵损失函数来解决多标签分类问题。然而,在他们的教程结果和我的结果中,输出预测值的范围为(-Inf, Inf)
,而sigmoid函数的范围是[0, 1]
。sigmoid函数只在后向传递过程中进行处理吗?也就是说,前向传递不应该将输出值压缩到[0,1]之间吗?
我正在使用由此教程提出的sigmoid交叉熵损失函数来解决多标签分类问题。然而,在他们的教程结果和我的结果中,输出预测值的范围为(-Inf, Inf)
,而sigmoid函数的范围是[0, 1]
。sigmoid函数只在后向传递过程中进行处理吗?也就是说,前向传递不应该将输出值压缩到[0,1]之间吗?
"SigmoidCrossEntropyLoss"
层的输入是全连接层的输出。实际上,"InnerProduct"
层的输出值没有任何限制,可以在范围[-inf, inf]
内。"SigmoidCrossEntropyLoss"
,你会注意到它包含一个"Sigmoid"
层 -- 以确保梯度估计的稳定性。"Sigmoid"
层替换"SigmoidCrossEntropyLoss"
以输出每个类别的预测结果。