Focal Loss 与 GHM

Focal Loss

Focal Loss 的提出主要是为了解决难易样本数量不平衡(注意:这有别于正负样本数量不均衡问题)问题。下面以目标检测应用场景来说明。

  1. 一些 one-stage 的目标检测器通常会产生很多数量的 anchor box,但是只有极少数是正样本,导致正负样本数量不均衡。这里假设我们计算分类损失函数为交叉熵公式。

  2. 由于在目标检测中,大量的候选目标都是易分样本,这些样本的损失很低,但是由于数量极不平衡,易分样本数量相对来说太多,最终主导了总的损失,但是模型也应该关注那些难分样本(难分样本又分为普通难分样本特别难分样本,后面即将讲到的GHM就是为了解决特别难分样本的问题)。

基于以上两个场景中的问题,Focal Loss 给出了很好的解决方法:


GHM

Focal Loss存在一些问题:

  • 如果让模型过多关注 难分样本 会引发一些问题,比如样本中的离群点(outliers),已经收敛的模型可能会因为这些离群点还是被判别错误,总而言之,我们不应该过多关注易分样本,但也不应该过多关注难分样本;
  • \(\alpha\) 与 \(\gamma\) 的取值全从实验得出,且两者要联合一起实验,因为它们的取值会相互影响。

几个概念:

  1. 梯度模长g:\(g\) 正比于检测的难易程度,\(g\) 越大则检测难度越大,\(g\) 从交叉熵损失求梯度得来
    \[ g=|p-p^*|= \begin{cases} 1-p, & \text{if p* = 1} \\ p, & \text{if p* = 0} \end{cases} \]
    \(p\) 是模型预测的概率,\(p^*\) 是 Ground-Truth 的标签(取值为1或者0);

    \(g\) 正比于检测的难易程度,\(g\) 越大则检测难度越大;

  2. 梯度模长与样本数量的关系:梯度模长接近于 0 时样本数量最多(这些可归类为易分样本),随着梯度模长的增长,样本数量迅速减少,但是当梯度模长接近于 1 时样本数量也挺多(这些可归类为难分样本)。如果过多关注难分样本,由于其梯度模长比一般样本大很多,可能会降低模型的准确度。因此,要同时抑制易分样本和难分样本!

  3. 抑制方法之梯度密度 \(G(D)\): 因为易分样本和特别难分样本数量都要比一般样本多一些,而我们要做的就是衰减 单位区间数量多的那类样本,也就是物理学上的密度概念。
    \[ GD(g) = \frac{1}{l_{\epsilon}}\sum_{k=1}^{N}\delta_{\epsilon}(g_k, g) \]
    \(\delta_{\epsilon}(g_k, g)\) 表示样本 \(1 \sim N(样本数量)\) 中,梯度模长分布在 \((g-\frac{\epsilon}{2}, g+\frac{\epsilon}{2} )\) 范围内的样本个数,\(l_{\epsilon}(g)\) 代表了 \((g-\frac{\epsilon}{2}, g+\frac{\epsilon}{2} )\) 区间的长度;

  4. 最后对每个样本,用交叉熵 \(CE\) \(\times\) 该样本梯度密度的倒数即可。

分类问题的GHM损失:
\[ L_{GHM-C} = \sum_{i=1}^{N}\frac{L_{CE}(p_i, p_i^*)}{GD(g_i)} \]
回归问题的GHM损失:
\[ L_{GHM-R} = \sum_{i=1}^N \frac{ASL_1(d_i)}{GD(gr_i)} \]
其中,\(ASL_1(d_i)\) 为修正的 smooth L1 Loss。

抑制效果:


参考资料:

5分钟理解Focal Loss与GHM-解决样本不平衡利器——知乎

转载于:https://www.cnblogs.com/xxxxxxxxx/p/11602248.html

【深度学习】Focal Loss 与 GHM——解决样本不平衡问题相关推荐

  1. 寻找解决样本不均衡方法之Focal Loss与GHM

    寻找解决样本不均衡方法之Focal Loss与GHM 主要参考资料:5分钟理解Focal Loss与GHM--解决样本不平衡利器 - 知乎 (zhihu.com) Focal Loss的引入主要是为了 ...

  2. [机器学习] focal loss:解决样本不平衡的一种通用方案

    文章目录 focal loss 提出的场景和针对的问题 focal loss 提出的场景:目标检测 focal loss 针对的问题:类别不平衡 如何处理目标检测下的类别不平衡 如何理解目标检测场景下 ...

  3. Focal Loss与GHM 理解与使用

    一.理解 5分钟理解Focal Loss与GHM--解决样本不平衡利器 https://zhuanlan.zhihu.com/p/80594704 二.使用 GHM论文理解及实现 https://zh ...

  4. 焦点损失函数 Focal Loss 与 GHM

    文章来自公众号[机器学习炼丹术] 1 focal loss的概述 焦点损失函数 Focal Loss(2017年何凯明大佬的论文)被提出用于密集物体检测任务. 当然,在目标检测中,可能待检测物体有10 ...

  5. AI佳作解读系列(一)——深度学习模型训练痛点及解决方法

    AI佳作解读系列(一)--深度学习模型训练痛点及解决方法 参考文章: (1)AI佳作解读系列(一)--深度学习模型训练痛点及解决方法 (2)https://www.cnblogs.com/carson ...

  6. 【深度学习】弱/半监督学习解决医学数据集规模小、数据标注难问题

    [深度学习]弱/半监督学习解决医学数据集规模小.数据标注难问题 文章目录 1 概述 2 半监督学习 3 重新思考空洞卷积: 为弱监督和半监督语义分割设计的简捷方法 4 弱监督和半监督分割的训练和学习 ...

  7. 怎样解决样本不平衡问题

    怎样解决样本不平衡问题 参考文章: (1)怎样解决样本不平衡问题 (2)https://www.cnblogs.com/guoruibing/articles/9561035.html 备忘一下.

  8. Focal loss 和 GHM

    Focal Loss for Dense Object Detection 是ICCV2017的Best student paper,文章思路很简单但非常具有开拓性意义,效果也非常令人称赞. GHM( ...

  9. (HEM/OHEM)hard negative(example)mining难例挖掘 与focal loss、GHM损失函数

    目录 分类任务中的样本不均衡及hard negative mining的必要性 hard negative example HEM(hard example/negative mining) 与 OH ...

最新文章

  1. 5.springMVC数据回显(就是后台向页面传参的过程)
  2. fs7宽容度_《如果蜗牛有爱情》,FS7拍出电影级质感!
  3. 武魂觉醒s系列服务器,[多线]星河斗罗——新服开荒丨高程度剧情还原丨3D坐骑丨魂环丨武魂觉醒[1.12.2]...
  4. 爬虫结果数据完整性校验
  5. Vue.directive自定义指令
  6. c++11新特性_【C++11新特性】 C++11智能指针之weak_ptr
  7. 特殊类型窗体制作: 制作字形窗体
  8. oracle卸载客户端,oracle11g客户端如何完全卸载
  9. CentOS5u11 Oracle 10g 生产RMAN备份可用性恢复测试
  10. jQuery学习笔记(三)jQuery动画效果
  11. 读书笔记:普通心理学之个体心理
  12. 新息自适应卡尔曼滤波matlab代码,基于自适应卡尔曼滤波的弱信号跟踪方法与流程...
  13. 如何在职场人际冲突中“立于不败之地”?
  14. 大数据正式京淘附加爬虫
  15. 什么叫工作流?什么叫信息流?
  16. 22.12.1的学习笔记
  17. Real-ESRGAN笔记
  18. Android游戏历程,快忘掉“吃鸡” 2019最佳Android游戏Top20出炉
  19. Android 监听home、锁屏、解屏简单实现
  20. python中加法表达式_Python自然语言处理练习一

热门文章

  1. Ceph:RBD在线扩容容量
  2. es6的Proxy(代理)
  3. Android Activity跳转动画,让你的APP瞬间绚丽起来
  4. golang辟谣之模板编程
  5. 【Python-ML】探索式数据分析EDA(Exploratory Data Analysis)
  6. Linux下为文件增加列的shell脚本
  7. Leetcode 146. LRU缓存机制 解题思路及C++实现
  8. let/var的使用详解
  9. 管理springmvc组件——前端控制器、控制器映射器和适配器、视图解析器、文件上传的、拦截器||消息转化
  10. BugKu:cookies 欺骗