【Loss总结】适用与弱监督语义分割中的各类loss
文章目录
交叉熵损失
交叉熵损失函数(CrossEntropy Loss),它是分类问题中经常使用的一种损失函数
在模型的输出层总会接一个softmax函数
交叉熵是信息论中的一个重要概念,主要用于度量两个概率分布间的差异性
构建理论:
- 信息是用来消除随机不确定性的东西
- 信息量的大小与信息发生的概率成反比。概率越大,信息量越小。概率越小,信息量越大

I(x)表示信息量,P(x)表示概率
I(x)为正值,因为log(P(x))为负值
信息熵
信息熵也被称为熵,用来表示所有信息量的期望
期望是试验中每次可能结果的概率乘以其结果的总和。
信息量的熵可表示为:


0-1分布问题
一件事情发生的概率为P(x) ,则另一件事情发生的概率为1-P(x)

相对熵(KL散度)
有两个单独的概率分布P ( x ) 和Q ( x ) ,则我们可以使用KL散度来衡量这两个概率分布之间的差异。

P ( x ) 来表示样本的真实分布,Q ( x ) 来表示模型所预测的分布
真实分布P ( X ) = [ 1 , 0 , 0 ] , 预测分布Q ( X ) = [ 0.7 , 0.2 , 0.1 ]

将对应的P,Q值进行代入
KL散度越小,表示P ( x ) 与Q ( x ) 的分布更加接近,可以通过反复训练Q ( x ) 来使Q ( x ) 的分布逼近P ( x ) 。
交叉熵
KL散度公式拆开:

前者H ( p ( x ) ) )表示信息熵,后者即为交叉熵,KL散度 = 交叉熵 - 信息熵
当KL散度完全一致(loss=1)DKL=1 · log1
交叉熵公式表示为:

输入数据与标签常常已经确定,那么真实概率分布P ( x ) 也就确定下来了,所以信息熵在这里就是一个常量
在线性回归问题中,常常使用MSE(Mean Squared Error)作为loss函数,而在分类问题中常常使用交叉熵作为loss函数。

其中一个batch的loss为

n表示预测的类别数(猫,狗 ,马)n=3,m表示样本数量(batch_size=16)m=16
L1 Loss
也就是L1 Loss了,它有几个别称:
- L1 范数损失
- 最小绝对值偏差(LAD)
- 最小绝对值误差(LAE)
MAE也是指L1 Loss损失函数
目标值 yi与模型输出f(xi)(估计值)做绝对值得到的误差。

应用场景:
- 回归任务
- 简单的模型

本文详细介绍了在弱监督语义分割中常用的几种损失函数,如交叉熵损失、相对熵(KL散度)、L1Loss、L2Loss、SmoothL1Loss和DiceLoss。这些损失函数在分类和回归任务中的应用、优缺点及梯度特性被逐一讨论,同时提供了DiceLoss在语义分割代码中的实现示例。
最低0.47元/天 解锁文章
2449

被折叠的 条评论
为什么被折叠?



