BCE损失+sigmoid搭配、CE损失+softmax激活函数

一、基础知识

1. 交叉熵损失可以采用“sigmoid+BCE”或是“softmax+CE”。pyytorch的使用:

  • “sigmoid+BCE”: 
torch.nn.BCELoss(weight=None, reduction='mean')
torch.nn.BCEWithLogitsLoss(weight=None, reduction='mean', pos_weight=None)

BCEWithLogitsLoss损失函数把 Sigmoid 层集成到了 BCELoss 类中. 该版比用一个简单的 Sigmoid 层和 BCELoss 在数值上更稳定, 因为把这两个操作合并为一个层之后, 可以利用 log-sum-exp 的 技巧来实现数值稳定.

  • “softmax+CE”:
torch.nn.CrossEntropyLoss(weight=None,ignore_index=-100, reduction='mean')

2. 如何选择“sigmoid+BCE”还是“softmax+CE”?

  • 在分类问题中,如果遇到类别间不互斥的情况,只能采用“sigmoid+BCE”当作多个二分类问题处理;--> 二分类只能用“sigmoid+BCE”
  • 如果遇到类别间互斥的情况(只能有一类胜出),“sigmoid+BCE”化为多个二分类问题与“softmax+CE”直接进行分类都是有被用到的方法。-->多分类两者都有应用

二、理论部分

2.1 BCE 损失函数

设标签为y,网络预测结果为  ,BCE损失函数为:

此时有:

 因此,采用sigmoid激活函数+BCE损失函数,回传的梯度值是正比于预测与真值之差的。

2.2 CE 损失函数

设标签为 y,网络预测结果为 ,CE损失函数为:

此时有,

  可以观察到,对于只有一个类别是正确类别的分类问题:

 因此,softmax激活函数+CE损失函数,回传梯度的大小都是与预测值的偏差成正比。

 三、参考文章

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: BCE损失函数(二元交叉熵损失函数)是一种常用的分类损失函数,用于计算模型输出与真实标签之间的损失,它能够有效地衡量模型预测结果与实际结果之间的差异。CE损失函数(交叉熵损失函数)是多分类损失函数,用于计算模型输出与真实标签之间的损失,它能够有效评估多分类模型的预测准确率。两者的区别在于BCE损失函数只适用于二分类模型,而CE损失函数适用于多分类模型。 ### 回答2: BCE (Binary Cross-Entropy)和CE (Cross-Entropy)是常用的损失函数,用于训练机器学习模型进行二分类或多分类任务。 BCE损失函数广泛应用于二分类任务。它根据预测结果与真实标签之间的差异来计算损失BCE损失函数适用于样本只属于两个类别的情况,如声音的真假、邮件的垃圾与非垃圾等。BCE损失函数的计算不考虑其他类别的情况,只关注两个类别的差异。 CE损失函数适用于多分类任务。它通过计算预测结果与真实标签之间的差异来计算损失CE损失函数在计算损失时会考虑所有类别的差异,而不仅限于两个类别。它适用于样本属于多个类别的情况,如图像识别中不同动物的分类、情感分析中多种情绪的分类等。 两者的区别主要体现在处理的分类问题上。BCE损失函数只处理二分类问题,而CE损失函数可以处理多分类问题。在计算损失时,BCE损失函数只关注两个类别之间的差异,而CE损失函数关注所有类别之间的差异。因此,在选择损失函数时,需要根据具体的分类任务来决定使用BCE损失函数还是CE损失函数。 ### 回答3: BCECE是两种常用的损失函数,主要用于二分类任务。 BCE是二元交叉熵损失函数(Binary Cross Entropy Loss),而CE是多元交叉熵损失函数(Categorical Cross Entropy Loss)。 BCE适用于二分类任务,比如判断一张图像中是否存在某个特定的对象。它的计算方式是将真实标签(通常为0或1)与预测概率进行比较,然后计算交叉熵。BCE的计算结果只和一个概率值相关,因此,在计算中只需要一个神经元输出,并使用Sigmoid作为激活函数CE适用于多分类任务,比如图像分类问题中的多个类别预测。它的计算方式是将真实标签(通常使用one-hot编码)与预测概率进行比较,然后计算交叉熵。CE的计算结果和多个概率值相关,因此,在计算中需要多个神经元输出,并使用Softmax作为激活函数。 这两种损失函数的区别在于计算方式和使用场景。BCE适用于仅有两个类别的二分类任务,而CE适用于多个类别的分类任务。在实际使用中,我们根据具体的问题和数据集选择合适的损失函数来最小化模型的预测误差,提高模型的性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值