Dice Loss

Dice系数是一种集合相似度度量函数,取值范围在[0,1]:s=2∣X∩Y∣∣X∣+∣Y∣s=\frac{2|X\cap Y|}{|X|+|Y|}s=∣X∣+∣Y∣2∣X∩Y∣​其中,∣X∩Y∣|X\cap Y|∣X∩Y∣是XXX和YYY之间的交集元素个数,∣X∣,∣Y∣|X|,|Y|∣X∣,∣Y∣分别是XXX和YYY的元素个数。

Dice Loss为:Ldice=1−2∣X∩Y∣+1∣X∣+∣Y∣+1L_{dice}=1-\frac{2|X\cap Y|+1}{|X|+|Y|+1}Ldice​=1−∣X∣+∣Y∣+12∣X∩Y∣+1​Dice Loss常用于语义分割,我们将∣X∩Y∣|X\cap Y|∣X∩Y∣近似为预测tensor与GT tensor的element-wise乘积,再将乘积后的矩阵求和(令XXX是pred,YYY是GT):

逐个元素求和:

对于∣X∣|X|∣X∣和∣Y∣|Y|∣Y∣的计算,直接对pred和GT tensor求和得到。


dice loss 比较适用于样本极度不均的情况,一般的情况下,使用 dice loss 会对反向传播造成不利的影响,容易使训练变得不稳定。因为CE的梯度形式是加法,而Dice Loss的梯度形式是乘法,这导致梯度会很小或者很大,训练过程难以收敛。


balanced cross entropy

基于样本非平衡造成的损失函数倾斜,一个直观的做法就是在损失函数中添加权重因子,提高少数类别在损失函数中的权重,平衡损失函数的分布。权重的大小根据正负样本的比例进行设置。

比如对于二分类问题,BCE为:L=−ylog(p^)−(1−y)log(1−p^)L=-ylog(\widehat{p})-(1-y)log(1-\widehat{p})L=−ylog(p​)−(1−y)log(1−p​)其中,p^\widehat{p}p​为预测是正样本的概率,yyy为label(0负样本或1正样本)

当考虑正负样本比例后,BCE为:L=−αlog(p^)−(1−α)log(1−p^)L=-\alpha log(\widehat{p})-(1-\alpha)log(1-\widehat{p})L=−αlog(p​)−(1−α)log(1−p​)其中,α1−α=nm\frac{\alpha}{1-\alpha}=\frac{n}{m}1−αα​=mn​,mmm为正样本数,nnn为负样本数。

Focal Loss

本质上,focal loss是针对样本难分类问题而设计的,focal loss的具体形式为:

将二分类拓展到多分类任务,我们令ptp_{t}pt​为样本真实类别上对应的预测概率,由于目前只有两类,并且前面规定类别1对应概率p^\widehat{p}p​,所以我们写成:

则focal loss表示为:Lfl=−(1−pt)γlog(pt)L_{fl}=-(1-p_{t})^{\gamma}log(p_{t})Lfl​=−(1−pt​)γlog(pt​)同理可将CE表示为:Lce=−log(pt)L_{ce}=-log(p_{t})Lce​=−log(pt​)在focal loss中,γ>0\gamma>0γ>0为可调节因子,对于分类准确的样本,ptp_{t}pt​接近1,则(1−pt)γ(1-p_{t})^{\gamma}(1−pt​)γ接近0,对于分类不准确的样本,ptp_{t}pt​接近0,则(1−pt)γ(1-p_{t})^{\gamma}(1−pt​)γ接近1。

即相比交叉熵损失,focal loss对于分类不准确的样本,损失没有改变,对于分类准确的样本,损失会变小。 整体而言,相当于增加了分类不准确样本在损失函数中的权重。换言之,focal loss有助于提高难分类样本的分类性能。

样本不平衡问题是样本难分类问题的一个体现,balanced cross entropy是一种hard的方式,而Focal loss是随训练过程动态决定样本分类难易程度的方式。

Dice Loss,balanced cross entropy,Focal Loss相关推荐

  1. 目标检测分类损失函数——Cross entropy、Focal loss

    一.Cross Entropy Loss 交叉熵是用来判定实际的输出与期望的输出的接近程度,刻画的是实际输出与期望输出的距离,也就是交叉熵的值越小,两个概率分布就越接近. 1. CE Loss的定义 ...

  2. 深度学习:神经网络,softmax + cross entropy,非tensorflow方式

    文章目录 softmax softmax 的损失函数:交叉熵 交叉熵求偏导 代码实现 代码测试: 附录:交叉熵求偏导推导: softmax softmax函数所表示的可以看成为对分类结果的概率分布. ...

  3. AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss

    单阶段物体检测(One-stage Object Detection)方法在模型训练过程中始终面临着样本分布严重不均衡的问题,来自香港中文大学的研究者们在论文 Gradient Harmonized ...

  4. Focal Loss损失函数(超级详细的解读)

     什么是损失函数?        1.什么是损失呢? 在机器学习模型中,对于每一个样本的预测值与真实值的差称为损失. 2.什么是损失函数呢? 显而易见,是一个用来计算损失的函数.它是一个非负实值函数, ...

  5. 卷积神经网络系列之softmax,softmax loss和cross entropy

    全连接层到损失层间的计算 先理清下从全连接层到损失层之间的计算. 这张图的等号左边部分就是全连接层做的事,W是全连接层的参数,我们也称为权值,X是全连接层的输入,也就是特征. 从图上可以看出特征X是N ...

  6. 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解

    我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等.虽然现在已经开源了很多深度学习框架(比如MxNet,Caf ...

  7. softmax,softmax loss和cross entropy

    我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等.虽然现在已经开源了很多深度学习框架(比如MxNet,Caf ...

  8. 【翻译】Focal Loss for Dense Object Detection(RetinaNet)

    [翻译]Focal Loss for Dense Object Detection(RetinaNet) 目录 摘要 1.介绍 2.相关工作 3.Focal Loss 3.1 平衡的交叉熵损失 3.2 ...

  9. 一、Focal Loss理论及代码实现

    文章目录 前言 一.基本理论 二.实现 1.公式 2.代码实现 1.基于二分类交叉熵实现. 2.知乎大佬的实现 前言 本文参考:几时见得清梦博主文章 参考原文:https://www.jianshu. ...

最新文章

  1. 使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸
  2. Keystone创建服务实体报错HTTP401和HTTP500
  3. java的collection集合
  4. 【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计
  5. java swing removeall_Java Swing Combobox removeAllItems调用ItemStateChange...
  6. 回家 Bessie Come Home
  7. Codeforces Round #420 E
  8. 防止sql注入的方法
  9. STM32----摸石头过河系列(八)
  10. C#图解教程 第十八章 枚举器和迭代器
  11. 相位测试音频mp3_苹果AirPods MAX耳机音质一大短板在哪里?蓝牙AAC编码品质讨论与测试 「Soomal」...
  12. teambition 还是jira_我用过的那些测试过程管理工具TAPD、Teambition、CODING
  13. ds哈希查找--链地址法_Hash冲突之开放地址法
  14. 简单几步教会你画出透明丝袜,初学者画出透明质感
  15. 服务器远程桌面连接限制ip,服务器设置防火墙规则,实现远程桌面连接的ip限制...
  16. python3GUI--做一款某雷影音播放器By:PyQt5
  17. 编程c语言经验,C语言编程学习经验3篇
  18. ae合成设置快捷键_AE脚本使用快捷键控制关键帧操作 Keyboard v1.2.1 + 使用教程【资源分享1081】...
  19. SPI转can芯片CSM300详解以及Linux驱动移植调试笔记
  20. Golang chan的任务分发和优雅退出

热门文章

  1. D3D9学习笔记之基础几何体的深入应用(一)
  2. python四则运算完整代码_2/20Python之四则运算
  3. 桂林瑶大叔名老中医馆
  4. 近两年最流行的面试题
  5. 如何使用xposed强制开启android webview debug模式
  6. MATLAB统计分析—描述性统计
  7. 第四次工业革命与龙的故事
  8. 红孩儿编辑器的开发规范
  9. js和vue调用百度地图,实现搜索功能
  10. 这些MOS管的特点和分类,你未必全都知道