Hard Negative Mining Method 思想

hard是困难样本,negative是负样本,hard negative就是说在对负样本分类时候,loss比较大(label与prediction相差较大)的那些样本,也可以说是容易将负样本看成正样本的那些样本。

  • 例如roi里没有物体,全是背景,这时候分类器很容易正确分类成背景,这个就叫easy negative;
  • 如果roi里有二分之一个物体,标签仍是负样本,这时候分类器就容易把他看成正样本,即假阳性(false positive),这时候就是hard negative。

hard negative mining就是多找一些hard negative加入负样本集,进行训练,这样会比easy negative组成的负样本集效果更好。主要体现在虚警率更低一些(也就是false positive少)。因为它相当于一个错题集。

如何判断它为困难负样本呢?也很简单,我们先用初始样本集去训练网络,再用训练好的网络去预测负样本集中剩余的负样本,选择其中得分最高,即最容易被判断为正样本的负样本为困难样本,加入负样本集中,重新训练网络,循环往复,然后我们会发现:咦!我们的网络的分类性能越来越强了!假阳性负样本与正样本间也越来越相似了!(因为此时只有这些妖怪区域能迷惑我们的分类器了)。

Hard Negative Mining Method 使用

通常 使用 Hard Negative Mining Method 的方法为:

迭代地交替训练,用样本集更新模型,然后再固定模型来选择分辨错的目标框并加入到样本集中继续训练。传统,我们会使用 SVM + Hard Negative Mining Method 进行训练
Hard Negative Mining Method 缺点

那么传统的 Hard Negative Mining Method 有什么 缺点 呢?

Hard Negative Mining Method 很难应用到 end-to-end 的检测模型。 因为 Hard Negative Mining Method 需要迭代训练,如果我们将他使用到 end-to-end 的卷积神经网络,需要每次将网络冻结一段时间用来生成 hard negative。而这对于使用线上优化的算法来说是不可能的,例如 SGD (随机梯度下降算法)。使用 SGD 来训练网络需要上万次更新网络,如果每迭代几次就固定模型一次,这样的速度会慢得不可想象。

我们可以观察到在 fast rcnn 和 faster rcnn 中都没有用到 Hard Negative Mining Method。这就是因为如上的原因,一般使用 SVM 分类器才能使用此方法(SVM 分类器和 Hard Negative Mining Method 交替训练)

深度学习之 hard negative mining (难例挖掘)相关推荐

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

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

  2. 学习了解online hard example mining在线难例挖掘

    对于每一个网络,相当于一个桶,总有样本效果比较好,有的样本比较差,多用效果差的样本进行训练,那提高了整个网络的短板,总体的效果也会有提升. 一. 难例挖掘是指,针对模型训练过程中导致损失值很大的一些样 ...

  3. OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) HNM (目标检测)

    Hard Negatie Mining与Online Hard Example Mining(OHEM)都属于难例挖掘,它是解决目标检测老大难问题的常用办法,运用于R-CNN,fast R-CNN,f ...

  4. 目标检测之六:OHEM 在线难例挖掘

    https://zhuanlan.zhihu.com/p/102817180 6.OHEM 在线难例挖掘 OHEM(Online Hard negative Example Mining,在线难例挖掘 ...

  5. 在线难例挖掘(OHEM)

    OHEM(online hard example miniing) 详细解读一下OHEM的实现代码: def ohem_loss(batch_size, cls_pred, cls_target, l ...

  6. 如何评价深度学习相关顶级期刊论文难复现的问题?

    链接:https://www.zhihu.com/question/265953178 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 在本人的研究动作识别过程中,曾多次复现该领域顶级期刊的论文 ...

  7. 证券投资深度学习_20170711-广发证券-深度学习研究报告之三:深度学习新进展:Alpha因子再挖掘...

    近年 来,国内外知名的 IT 公司,如谷歌.微软.百度.腾讯等纷纷在人工智能 上发力, 创造了一系列突破性成果. 同时, 海外的对冲基金和投资银行也开 始在人工智能上进行布局. Citadel . T ...

  8. 如何在云服务器上跑深度学习的代码?(ResNet50为例)

    ✅ 个人简介:南京邮电大学,计算机科学与技术,在读本科 兴趣领域:数据结构.C/C++ 文章目录 一.选择一款云服务器 二.上传代码和数据 三.解压"代码和数据的压缩包" 四.训练 ...

  9. 深度学习之 OHEM (Online Hard Example Mining)

    论文 <Training Region-based Object Detectors with Online Hard Example Mining> 链接 https://arxiv.o ...

最新文章

  1. 分享.NET 3.5的书籍下载(2009-04-01更新Silverlight 2书籍打包)
  2. Java 中商业运算必备的精确运算类:BigDecimal
  3. python 多维list 排序_人生苦短 | Python列表和元组归纳整理
  4. C++中实现回调机制的几种方式
  5. 解决vmware移动虚拟机之后执行ifconfig命令无输出的问题
  6. 我发现养生这个梗好像在程序员圈火起来了
  7. 解读MySQL 8.0新特性:Skip Scan Range
  8. 正则表达式及其在python上的应用
  9. 【LeetCode笔记】448. 找到所有不存在的数(Java、原地)
  10. 笨办法学 Python · 续 练习 29:`diff`和`patch`
  11. 顺时针 vs 逆时针
  12. 【个人笔记】OpenCV4 C++ 快速入门 12课
  13. 【网络通信 -- 直播】SRS 实战记录 -- 开源流媒体服务器对比与 SRS 直播效果测试
  14. HTML中如何修改提示文字,html中input提示文字样式修改
  15. 简单人物画像_超级简单人物素描画图片精选
  16. js获取不同时区时间
  17. 30分钟学会js新特性
  18. 网页制作的形式美的规则
  19. adguard自定义_AdGuard-轻量级的全平台广告过滤工具
  20. 回归系数(拟合度)与相关系数

热门文章

  1. Androud 如何有效减少重复代码
  2. 视频编解码,bbv 缓冲区的上溢和下溢
  3. OpenCL 第8课:旋转变换(2)
  4. 项目经理沟通的四个好习惯
  5. 用博客见证自己的成长
  6. 6个变态的C语言写的Hello World
  7. springCloud - 第2篇 - 服务的发现 seeParam
  8. ItelliJ IDEA开发工具使用—创建一个web项目
  9. if...elif...else...fi和case...esac的脚本条件判断式
  10. 【MySQL】PREPARE 的应用