CrossEntropyLoss() 和 nn.BCEWithLogitsLoss() 举例说明区别

logits细节理解
logits就是最终的全连接层的输出,指的是未经过softmax函数处理的网络输出,也就是各个类别的得分(score)或未经归一化的原始数值
在这里插入图片描述

CrossEntropyLoss() 通常用于多分类任务,它接受一个包含类别标签的张量作为目标值,并且假设每个样本只属于一个类别。在多分类任务中,模型的最后一层输出是一个概率分布,表示每个类别的概率。CrossEntropyLoss() 计算模型输出与目标标签之间的交叉熵损失,用于衡量模型的预测与真实标签之间的差异。多分类问题通常使用softmax函数来解决。这是因为softmax函数能将一组输入归一化(和为1)并映射到(0,1)区间内,可以看作是概率分布,从而取得了良好的效果。
在这里插入图片描述

nn.BCEWithLogitsLoss() 通常用于二分类任务,它接受一个包含二进制标签的张量作为目标值,并且假设每个样本可以属于多个类别。在二分类任务中,模型的最后一层输出是一个单个值,表示正类的概率。nn.BCEWithLogitsLoss() 将模型的输出应用于 Sigmoid 函数,将其转换为一个在0到1之间的概率值。然后,它计算模型输出与目标标签之间的二元交叉熵损失。

需要注意的是,nn.BCEWithLogitsLoss() 可以用于多标签分类任务, 其中每个样本可以属于多个类别。在这种情况下,每个类别被视为一个独立的二分类问题,并且损失通过对每个类别计算二元交叉熵的平均值得到。

总之,CrossEntropyLoss() 适用于多分类任务,而 nn.BCEWithLogitsLoss() 适用于二分类任务和多标签分类任务。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值