盘点 深度学习的那些loss
A loss function is a part of a cost function which is a type of an objective function
-
0-1损失函数
-
绝对值损失函数
-
均方差损失(Mean Squared Error Loss)
在模型输出与真实值的误差服从高斯分布的假设下,最小化均方差损失函数与极大似然估计本质是一致的,最大化对数似然: -
平均绝对误差损失(Mean Absolute Error Loss)
是假设模型预测与真实值之间的误差服从拉普拉斯分布(μ,b=1),再推导负对数似然可以得到。对异常点更加鲁棒。 -
Huber Loss(Smooth Mean Absolute Error Loss)
是将MSE与MAE结合起来的损失函数,在误差接近0时使用MSE,较大时候使用MAE:
上式δ 是一个超参数,当δ=1.0时,图像如下: -
分位数损失(Quantile Loss)
分位数回归可以通过给定不同的分位点,拟合目标值的不同分位数。:
公式中r为分位数,实现了分别用不同的系数控制高估和低估的损失,进而实现分位数回归。
-
交叉熵损失(Cross Entropy Loss)
二分类交叉熵损失:
可视化:
多分类( Categorical Cross Entropy Loss ):
-
加权交叉熵损失函数(Weighted Binary Cross-Entropy)
加权交叉熵损失函数只是在交叉熵Loss的基础上为每一个类别添加了一个权重参数为正样本加权,设置β>1,减少假阴性,设置β<1,减少假阳性。这样相比于原始的交叉熵Loss,在样本数量不均衡的情况下可以获得更好的效果。 -
平衡交叉熵损失(Balanced Crodd-Entropy)
-
与加权交叉熵损失函数类似,但对负样本也进行加权。
-
Focal Loss
Focal Loss是在目标检测领域提出来的,目的是关注难例。对于正样本,使其预测概率大的样本得到的loss变小,而预测概率小的样本loss变大,但需要手动调参。 -
距离图得出的损失惩罚项( Distance map derived loss penalty term )
可以将距离图定义为ground truth与预测图之间的距离(欧几里得距离、绝对距离等)。合并映射的方法有2种,一种是创建神经网络架构,在该算法中有一个用于分割的重建head,或者将其引入损失函数。遵循相同的理论,可以从GT mask得出的距离图,并创建了一个基于惩罚的自定义损失函数。使用这种方法,可以很容易地将网络引导到难以分割的边界区域。损失函数定义为:
-
Dice Loss
Dice广泛用于计算两个图像之间的相似度。更广泛的是用来度量集合相似度的度量函数,通常用于计算两个样本之间的像素之间的相似度:
Dice Loss:
此处,在分子和分母中添加1以确保函数在诸如y = 0的极端情况下的确定性。Dice Loss使用与样本极度不均衡的情况,如果一般情况下使用Dice Loss会回反向传播有不利的影响,使得训练不稳定。 -
Tversky Loss
Tversky系数是Dice系数和 Jaccard 系数的一种推广。当设置α=β=0.5,此时Tversky系数就是Dice系数。而当设置α=β=1时,此时Tversky系数就是Jaccard系数。α和β分别控制假阴性和假阳性。通过调整α和β,可以控制假阳性和假阴性之间的平衡。
- Focal Tversky Loss
与“Focal loss”相似,后者着重于通过降低易用/常见损失的权重来说明困难的例子。Focal Tversky Loss还尝试借助γ系数来学习诸如在ROI(感兴趣区域)较小的情况下的困难示例,如下所示:
-
log-Cosh Dice Loss
将Cosh(x)函数和Log(x)函数合并,可以得到Log-Cosh Dice Loss:
- Combo Loss
组合损失定义为Dice loss和修正的交叉熵的加权和。它试图利用Dice损失解决类不平衡问题的灵活性,同时使用交叉熵进行曲线平滑。定义为:(DL指Dice Loss)
-
合页损失(Hinge Loss)
-
KL散度损失
熵:就是对信息量求期望值:
相对熵(relative entropy)又称为KL散度(Kullback-Leibler divergence),KL距离,是两个随机分布间距离的度量。记为DKL(p||q)。它度量当真实分布为p时,假设分布q的无效性。 -
MarginRankingLoss
对于 mini-batch(小批量) 中每个实例的损失函数如下:
此外还有未介绍到的损失函数,比如, MultiLabelMarginLoss, SoftMarginLoss,MultiLabelSoftMarginLoss,TripletMarginLoss, CTCLoss , NLLLoss, NLLLoss2d,PoissonNLLLoss, 还有目标检测所用到的loss: IoU Loss, GIoU Loss, CIoU Loss,DIoU Loss等(之后会详细介绍目标检测内容上讲),比如在语义分割领域还有: Sensitivity Specificity Loss , Shape-aware Loss , Hausdorff Distance Loss , Exponential Logarithmic Loss,下表总结:
此外,损失函数有时候也离不开正则化:
- L0范数
- L1范数
- L2范数
- 迹范数
- Frobenius范数
- 核范数
以上这些范数如有兴趣大家可以去参考https://blog.csdn.net/luojun2007/article/details/78136615,讲的很清楚,我就不搬运了(懒)。
参考:
https://rorasa.wordpress.com/2012/05/13/l0-norm-l1-norm-l2-norm-l-infinity-norm/
https://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA==&mid=2247500026&idx=3&sn=e8fa6df1fa2639dee4c97aebf8bde20e&chksm=ec1c2d03db6ba4156f20f6478d22091a08fc804eeac7901f17a37b4d98b5ac3954bdcb724f39&mpshare=1&scene=1&srcid=07101tWKs18m8ri0lge0j8i4&sharer_sharetime=1594339433557&sharer_shareid=4e1eac3e3eb7330697402e2468a492c0&exportkey=A8Rnw26bY2nUlpxGzd%2Fz0LI%3D&pass_ticket=9xgOuflZBdzXa4WhVFcj2r2zz3GcLjMamNhXcYmp%2BmzjBBL9bmfFQzHVPBruicmr&wx_header=0#rd
https://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA==&mid=2247493294&idx=1&sn=d64822f1c2ca25901f7b707d78028364&chksm=ec1c0b57db6b82414c9177a13da5c1cceda8963785e22cb777b43892608c9ce71afc90c8d0c1&scene=21#wechat_redirect
https://blog.csdn.net/m0_37477175/article/details/83004746
https://zhuanlan.zhihu.com/p/89194726
https://blog.csdn.net/zandaoguang/article/details/107398963
https://zhuanlan.zhihu.com/p/97698386
c9ce71afc90c8d0c1&scene=21#wechat_redirect
https://blog.csdn.net/m0_37477175/article/details/83004746
https://zhuanlan.zhihu.com/p/89194726
https://blog.csdn.net/zandaoguang/article/details/107398963
https://zhuanlan.zhihu.com/p/97698386