MSE(最小二乘损失函数)
回归

分类

为什么分类问题不能使用mse损失函数:1 2

分割

像素级的交叉熵损失(pixel-wise cross entropy loss)。 该损失单独地检查每个像素点,将类预测(深度方向的像素矢量)与one-hot编码的目标矢量进行比较。

交叉熵(Cross Entropy)

损失函数 - 图1
其中,损失函数 - 图2表示类别数,损失函数 - 图3是一个one-hot向量,元素只有损失函数 - 图4损失函数 - 图5两种取值,如果该类别和样本的类别相同就取损失函数 - 图6,否则取损失函数 - 图7,至于损失函数 - 图8表示预测样本属于损失函数 - 图9的概率。
交叉熵Loss可以用在大多数语义分割场景中,但它有一个明显的缺点,那就是对于只用分割前景和背景的时候,当前景像素的数量远远小于背景像素的数量时,即损失函数 - 图10的数量远大于损失函数 - 图11的数量,损失函数中损失函数 - 图12的成分就会占据主导,使得模型严重偏向背景,导致效果不好。

  1. BCE loss

当类别数损失函数 - 图13等于损失函数 - 图14的时候,这个损失就是二元交叉熵损失函数 - 图15,在Pytorch中提供了一个单独的实现。

  1. #二值交叉熵,这里输入要经过sigmoid处理
  2. import torch
  3. import torch.nn as nn
  4. import torch.nn.functional as F
  5. nn.BCELoss(F.sigmoid(input), target)
  6. #多分类交叉熵, 用这个 loss 前面不需要加 Softmax 层
  7. nn.CrossEntropyLoss(input, target)

BCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步

  1. Weighted cross entropy(WCE)
  2. Balanced cross entropy(BCE)
  3. Focal loss

focal loss是在目标检测领域提出来的。其目的是关注难例(也就是给难分类的样本较大的权重)。对于正样本,使预测概率大的样本(简单样本)得到的loss变小,而预测概率小的样本(难例)loss变得大,从而加强对难例的关注度。但引入了额外参数,增加了调参难度。

Overlap measures

**

  1. Dice Loss / F1 score

损失函数 - 图16
损失函数 - 图17

损失函数 - 图18

  1. IoU(Jaccard Index)

intersect over union,中文:交并比。指目标预测框和真实框的交集和并集的比例。

损失函数 - 图19损失函数 - 图20
image.png

准确率(accuracy)
损失函数 - 图22
损失函数 - 图23
三大问题
类似于Dice loss,Dice>IoU.
image.png

  1. Tversky loss
  2. Generalized Dice loss

    损失函数组合

  3. BCE+Dice loss

  4. Dice+Focal loss
  5. Exponential Logarithmic loss

图像分割评价标准
损失函数 - 图25

参考
【损失函数合集】超详细的语义分割中的Loss大盘点
pytorch中的损失函数总结——分类和分割相关

b站龙曲良老师:交叉熵..
知乎