Caffe sigmoid交叉熵损失

我在多标签分类问题中使用了sigmoid交叉熵损失函数,参考了这个教程。然而,无论是在教程中的结果还是我的结果中,输出预测都在(-Inf, Inf)范围内,而sigmoid函数的范围应该是[0, 1]。sigmoid函数只在反向传播中处理吗?也就是说,前向传递不应该压缩输出吗?


回答:

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注