ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【深度学习】损失函数记录

2021-09-06 22:01:18  阅读:344  来源: 互联网

标签:loss dice 记录 预测 Precision log 深度 quad 函数


every blog every motto: You can do more than you think.

0. 前言

简单记录损失函数,dice loss、focal loss
说明: 后续增补

1. 正文

1.1 基础概念

举个栗子:
用模型对100人进行身体健康状况预测,已知30人患肿瘤。规定肿瘤为阳性,正常为阴性。
预测结果:25人阳性,其中5人实际为阴性。则,
TP = 20,(True Positive,正确预测为阳性
FP = 5,False Positive,错误预测为阳性
FN=10, (False Negative,错误预测为阴性
TN = 65,(True Negative,正确预测为阴性

小结:
第二字母为预测结果(P或N,预测为阳性或阴性),第一个字母为对预测结果的判断(T或F,预测正确或错误)
第二字母为预测结果(P或N,预测为阳性或阴性),第一个字母为对预测结果的判断(T或F,预测正确或错误)
第二字母为预测结果(P或N,预测为阳性或阴性),第一个字母为对预测结果的判断(T或F,预测正确或错误)

混淆矩阵形式:
在这里插入图片描述

图示:
在这里插入图片描述

说明: 不管是肿瘤还是建筑物预测,我们一般将我们所关心的类别归为阳性,剩下的归为阴性

1.2 正文

1.2.1 dice loss

dice loss 来自 dice coefficient(一种用于评估两个样本相似性的度量函数参考文献1),取值范围0-1。
dice coefficient定义如下:

d i c e = 2 ∣ X ∩ Y ∣ ∣ X ∣ + ∣ Y ∣ dice = {2 |X \cap Y| \over |X| + |Y|} dice=∣X∣+∣Y∣2∣X∩Y∣​

dice loss 定义如下:
L d i c e = 1 − d i c e = 1 − 2 ∣ X ∩ Y ∣ ∣ X ∣ + ∣ Y ∣ L_{dice} = 1 - dice = 1 - {2 |X \cap Y| \over |X| + |Y|} Ldice​=1−dice=1−∣X∣+∣Y∣2∣X∩Y∣​
对于二分类问题,用混淆矩阵计算如下,
d i c e = 2 T P 2 T P + F P + F N dice = {2TP \over 2TP + FP + FN} dice=2TP+FP+FN2TP​
参考文献1知,
精确率:
P r e c i s i o n = T P T P + F P Precision = {TP \over TP + FP} Precision=TP+FPTP​
召回率:
R e c a l l = T P T P + F N Recall = {TP \over TP + FN} Recall=TP+FNTP​
其中,F1:
F 1 = 2 ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n + R e c a l l F1 = {2*Precision*Recall \over Precision + Recall} F1=Precision+Recall2∗Precision∗Recall​
又,
F 1 = 2 ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n + R e c a l l = 2 T P 2 T P + F P + F N = d i c e F1 = {2*Precision*Recall \over Precision + Recall} = {2TP \over 2TP + FP + FN} = dice F1=Precision+Recall2∗Precision∗Recall​=2TP+FP+FN2TP​=dice
F1和我们的评价指标dice本质是一个意思,即,我们优化dice loss是直接优化F1

def dice_loss(target,predictive,ep=1e-8):
    intersection = 2 * torch.sum(predictive * target) + ep
    union = torch.sum(predictive) + torch.sum(target) + ep
    loss = 1 - intersection / union
    return loss

小结:
dice loss 对于正负样本不平衡问题有着不错的性能,训练过程侧重前景的挖掘。但训练loss容易不稳定,改进操作包括和其他loss结合,包括:
dice loss + ce loss
dice loss + focal loss
具体参考文献1

1.2.1 focal loss

1. 二分类交叉熵回顾

主要解决样本不平衡问题提出的。
我们首先回顾一下二分类交叉熵
l o s s = − 1 N [ p ∗ l o g q + ( 1 − p ) ∗ l o g ( 1 − q ) ] loss =-{1 \over N} [p*logq + (1-p)*log(1-q)] loss=−N1​[p∗logq+(1−p)∗log(1−q)]
其中,p为标签,q为预测。对于二分类,我们规定上述p为正样本,则,1-p代表负样本。如果我们对遥感影像进行建筑物提取,那么p代表建筑物(像素),q代表背景(像素)。则,上式又可改写为:

l o s s = { − l o g q , p = 1 − l o g ( 1 − q ) , p = 0 loss = \begin{cases} -logq, \quad \quad \quad p=1 \\ -log(1-q), \quad p=0 \end{cases} loss={−logq,p=1−log(1−q),p=0​
-log函数图如下,
在这里插入图片描述

我们对上式进行解释:
对一张遥感进行建筑物提取,简化图如下,
(我们规定,像素值为0代表背景,像素值为1代表建筑物)
在这里插入图片描述
我们分析左上角的像素点的计算过程,其中标签值为1,我们预测结果为0.45。那么我们代入公式
l 1 = − l o g ( 0.45 ) l1 = -log(0.45) l1=−log(0.45)
我们再分析右下角像素的计算过程,其中,右下角点为背景,所以我们的标签值为0,如下图所示,
在这里插入图片描述

代入公式
l 2 = − l o g ( 1 − 0.7 ) l2 = -log(1-0.7) l2=−log(1−0.7)
0.7位我们预测为建筑物的概率
更进一步关于数据验证部分,参考文献3
参考文献4

2. focal loss

对于上述二分类交叉熵而言,对正负样本是同等考虑的,
同时,由公式我们发现一个现象,
对于正样本(标签中正样本像素位置),输出概率概率越大,损失越小
对于负样本(标签中负样本像素位置),输出概率越小,损失越小
为了抑制样本不平衡问题(背景占比多),添加平衡因子 α \alpha α,论文中取值为0.25

l o s s = { − α × l o g q , p = 1 − ( 1 − α ) × l o g ( 1 − q ) , p = 0 loss = \begin{cases} -\alpha×logq ,\quad p=1 \\ -(1-\alpha) × log(1-q) ,\quad\quad\quad\quad p=0 \end{cases} loss={−α×logq,p=1−(1−α)×log(1−q),p=0​

为了 减少易分类样本的损失,更加关注困难的、错分样本,又添加了调制系数 γ \gamma γ,
l o s s = { − α × ( 1 − q ) γ × l o g q , p = 1 − α × q γ × l o g ( 1 − q ) , p = 0 loss = \begin{cases} -\alpha×(1-q)^\gamma ×logq ,\quad p=1 \\ -\alpha×q^\gamma × log(1-q) ,\quad\quad\quad\quad p=0 \end{cases} loss={−α×(1−q)γ×logq,p=1−α×qγ×log(1−q),p=0​

参考文献

[1] https://zhuanlan.zhihu.com/p/269592183
[2] https://blog.csdn.net/qq_34107425/article/details/110119894
[3] https://blog.csdn.net/weixin_39190382/article/details/114922578
[4] https://blog.csdn.net/weixin_39190382/article/details/114681163
[5] https://zhuanlan.zhihu.com/p/49981234
[6] https://www.cnblogs.com/king-lps/p/9497836.html
[7] https://www.aiuai.cn/aifarm1159.html

标签:loss,dice,记录,预测,Precision,log,深度,quad,函数
来源: https://blog.csdn.net/weixin_39190382/article/details/120115129

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有