损失函数综述
语义分割损失函数
在文章开始之前先贴出参考:A survey of loss functions for semantic segmentation,代码地址,语义分割资源综述。我主要是参考这两个方面,然后其他更多资料也可以自行Google一下。本文章主要是以A survey of loss functions for semantic segmentation为主展开,并且尽可能地配上代码。
基于分布损失函数(Distribution-base loss)
Binary Cross-Entropy
公式:
该损失主要是针对二分类的损失,当背景数量>>目标像素数量,模型会严重偏向背景
Weighted Cross-Entropy
为解决分类类别不均衡问题,提出了Weighted Cross-Entropy。公式:
Balanced Cross-Entropy
这个损失函数的公司类似于MAE。与Weighted Cross-Entropy不同的是,Balanced Cross-Entropy对负样本也进行加权。
公式:
Focal Loss
Focal loss
主要解决两方面的问题:1. 解决正负样本不均衡的问题,里面的
α
t
\alpha_t
αt参数负责控制;2. 解决正样本中的难易样本的区分,由
(
1
−
p
t
)
γ
(1-p_t)^{\gamma}
(1−pt)γ负责控制。该文章从二分类入手,首先我们看一下二分类的损失函数,binary cross entropy 简称BCE
,由下式定义:
L
c
e
=
−
y
log
y
^
−
(
1
−
y
)
log
(
1
−
y
^
)
=
{
−
log
(
1
−
y
^
)
,
y
=
0
−
log
(
y
^
)
,
y
=
1
L_{ce}=-y\log\hat{y}-(1-y)\log(1-\hat{y})=\{^{-\log(\hat{y}), y=1}_{-\log(1-\hat{y}), y=0}
Lce=−ylogy^−(1−y)log(1−y^)={−log(1−y^),y=0−log(y^),y=1,其中
y
y
y为真实的标签,
y
^
\hat{y}
y^为预测标签。关于二分类的损失函数以及多分类的cross_entropy
损失函数可以参考我的一篇博客:深度学习 交叉熵损失函数
Distance map derived loss penatly term
基于区域损失函数(Region-based)
Dice Loss
Sensitivity-Specificity Loss
Tversky Loss
论文地址:https://arxiv.org/pdf/1706.05721.pdf