1 BCE loss函数
BCE:二分类交叉熵(Binary Cross Entropy);
在PyTorch中对应着函数torch.nn.BCELoss();
具体公式如下:(引用自PyTorch官方文档)
1.1 Sigmoid BCE loss
BCE loss需要搭配sigmoid函数一起使用,具体的使用方法可以参考PyTorch官方文档中的Example:
>>> m = nn.Sigmoid()
>>> loss = nn.BCELoss()
>>> input = torch.randn(3, requires_grad=True)
>>> target = torch.empty(3).random_(2)
>>> output = loss(m(input), target)
>>> output.backward()
2 Focal loss函数——解决类别不平衡问题
在我看来,Focal loss是一种基于平均思想的在线难例挖掘;
为什么说是基于基于平均思想呢?因为 Focal loss出发点是要解决目标检测算法中正样本和负样本中数量占比不平衡的问题,
在目标检测中,这是一个值得探究的问题,因为正样本和负样本是否平均还与使用的评价指标有关;
而在语义分割的多分类问题中,这确实是一种很好的思想,因为在语义分割中常常使用mIoU作为评价指标,
而在mIoU中,所有类别的IoU是取平均值,所以所有类别都是视作平等的;