Log loss
- 交叉熵,二分类交叉熵(BCE),即keras.losses.binary_crossentropy B C E = − y ∗ l o g ( y ′ ) − ( 1 − y ) ∗ l o g ( 1 − y ′ ) BCE = -y*log(y')-(1-y)*log(1-y') BCE=−y∗log(y′)−(1−y)∗log(1−y′)最终的loss是y=0和y=1两种类别的loss相加。
- 这种方法有一个明显缺点,当正样本数量远远小于负样本的数量时,即y=0的数量远大于y=1的数量,loss函数中y=0的成分就会占据主导,使得模型严重偏向背景。所以对于背景远远大于目标的分割任务,Log loss效果非常不好。
Weighted Cross Entropy
-
WCE是对BCE的改进,用于缓解类别不平衡的问题 W C E = − β ∗ y ∗ l o g ( y ′ ) − ( 1 − y ) ∗ l o g ( 1 − y ′ ) WCE = -\beta *y*log(y')-(1-y)*log(1-y') WCE=−β∗y∗log(y′)−(1−y)∗log(1−y′)
-
为减少假负样本数量,通常令 β > 1 \beta >1 β>1
-
需要使用convert_to_logits将分割网络在最后一层经过sigmod函数激活后的结果进行转换:
Focal loss
-
Focal loss是针对训练样本不平衡提出的loss函数