目录
1、L1 损失、平均绝对误差(L1 Loss、Mean Absolute Error,MAE)
2、L2 损失、均方误差(L2 Loss、Mean Squared Error,MSE)
3、交叉熵损失(Cross-Entropy Loss)
4、混合损失(Combined Losses)
5、Dice Loss 或 IoU Loss
6、对抗损失(Adversarial Loss)
7、对比损失(Contrastive Loss)/ 三重损失(Triplet Loss)
以下是一些常用的损失函数,可根据不同的应用场景进行选择和组合:
1、L1 损失、平均绝对误差(L1 Loss、Mean Absolute Error,MAE)
适用于回归任务,L1 损失计算预测值与真实值之间差的绝对值,对异常值不那么敏感。
其中,是样本数量, 是第 个样本的真实值, 是第 个样本的预测值。
L1 损失 更适合处理异常值,因为它不会像 L2 损失那样对较大的误差赋予过高的惩罚。
2、L2 损失、均方误差(L2 Loss、Mean Squared Error,MSE)
适用于回归任务,L2 损失计算预测值与真实值之差的平方,适用于输出连续值的任务。
其中,是样本数量, 是第 个样本的真实值, 是第 个样本的预测值。
L2 损失 通常会导致模型在预测时试图最小化所有样本误差的平方和,这可能导致模型对异常值过于敏感。
这张图展示了 L1 损失(绝对误差损失)和 L2 损失(均方误差损失)随预测误差变化的情况:
L1 损失 在误差为零的地方形成了一个角点,其余部分是线性的。
L2 损失 在误差为零时更加平滑,但随着误差的增大,损失的增速比 L1 损失快得多。
所以 L1 损失对于大误差的惩罚相对较小,而 L2 损失对于大误差的惩罚更为严厉。
3、交叉熵损失(Cross-Entropy Loss)
适用于分类任务,对于二分类问题,可以使用二元交叉熵(Binary Cross-Entropy),又称作对数损失;
其中 是损失函数, 是样本的数量, 是第 个样本的真实标签(0或1), 是第 个样本的预测概率。
对于多分类问题,使用多类别交叉熵(Categorical Cross-Entropy)。
4、混合损失(Combined Losses)
在某些情况下,你可能需要结合多种损失函数。例如,在一个多任务学习场景中,你可以将 MSE 用于回归任务的输出,同时将交叉熵用于分类任务的输出。
5、Dice Loss 或 IoU Loss
在图像分割任务中常用,尤其是当类别不平衡时。这些损失函数关注预测区域与真实区域的重叠程度。
6、对抗损失(Adversarial Loss)
在使用生成对抗网络(GANs)的应用中常见,例如风格转换或图像生成任务。
7、对比损失(Contrastive Loss)/ 三重损失(Triplet Loss)
在度量学习和某些类型的嵌入学习中使用,特别是在需要学习输入之间关系的场景中。
在实际应用中,可以根据任务的具体需求和网络的输出特性,选择合适的损失函数,甚至可以设计自定义的损失函数以更好地适应特定的应用场景。同时,还可以对不同输出的损失进行加权,以反映不同任务的重要性。