OHEM算法论文理解

OHEM算法论文理解OHEM层

大家好,又见面了,我是你们的朋友全栈君。

CVPR2016的文章,CMU与rbg大神的合作。原谅我一直没有对这篇文章做一个笔记~~

文章提出了一种通过online hard example mining(OHEM)算法训练基于区域的卷积检测算子的高效目标检测算法,能够对简单样本和一些小数量样本进行抑制,使得训练过程更加高效。该方法利用显著的bootstrapping技术(SVM中被普遍利用),对SGD算法进行一定的修改,使得原有的region-based ConvNets的启发式学习和多参数可以被移除,并得到较准确稳定的检测结果。在PASCAL VOC2007和2012中的mAP分别为:78.9%,76.3%。https://github.com/abhi2610/ohem


Hard example mining:

主要有2种参见Hard example mining算法,优化SVM时候的算法和非SVM时的利用。

在优化SVM中使用Hard example mining时,训练算法主要维持训练SVM和在工作集上收敛的平衡迭代过程,同时在更新过程中去除一些工作集中样本并添加其他特殊的标准。这里的标准即去掉一些很容易区分的样本类,并添加一些用现有的模型不能判断的样本类,进行新的训练。工作集为整个训练集中的一小部分数据。

非SVM中使用时,该Hard example mining算法开始于正样本数据集和随机的负样本数据集,机器学习模型在这些数据集中进行训练使其达到该数据集上收敛,并将其应用到其他未训练的负样本集中,将判断错误的负样本数据(false positives)加入训练集,重新对模型进行训练。这种过程通常只迭代一次,并不获得大量的再训练收敛过程。

注意点:bg_lo = 0.1, 这里已经近似的使用难例挖掘;

要使用OHEM时,建议采用正负比例设置为1:3,并且bg_lo =0;这样效果较好


网络结构框架:

OHEM算法基于Fast R-CNN算法进行改进,作者认为Fast R-CNN算法中创造mini-batch用来进行SGD算法,并不具有高效和最优的状态,而OHEM可以取得lower training loss,和higher mAP。对比下图两种算法Fast R-CNN和OHEM结构:

OHEM算法论文理解


OHEM算法论文理解

对比可以发现,文章提出的OHEM算法里,对于给定图像,经过selective search RoIs,同样计算出卷积特征图。但是在绿色部分的(a)中,一个只读的RoI网络对特征图和所有RoI进行前向传播,然后Hard RoI module利用这些RoI的loss选择B个样本。在红色部分(b)中,这些选择出的样本(hard examples)进入RoI网络,进一步进行前向和后向传播。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139272.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月7日 下午12:00
下一篇 2022年5月7日 下午12:00


相关推荐

  • atitit 短信接口规范与短信解决方案.docx

    atitit 短信接口规范与短信解决方案.docx

    2022年2月22日
    61
  • Oracle 语法

    Oracle 语法

    2021年12月14日
    49
  • 断点调试原理

    断点调试原理调试断点原理   调试断点,依赖于父进程和子进程之间的通信,打断点实际是在被调试的程序中,改变断点附近程序的代码,这个断点使得被调试的程序,暂时停止,然后发送信号给父进程(调试器进程),然后父进程能够得到子进程的变量和状态。达到调试的目的。   修改断点附近程序的指令地址为0xcc,这个地址的指令就是int3,含义是,是当前用户态程序发生中断,告诉内核当前程序有断点,那么内核

    2022年5月22日
    90
  • 扣子工作流json结构怎么输入

    扣子工作流json结构怎么输入

    2026年3月12日
    2
  • linux的通配符有哪些,Linux通配符「建议收藏」

    linux的通配符有哪些,Linux通配符「建议收藏」Linux通配符说明:通配符是bash的内置功能,几乎适用于所有Linux命令。*匹配任意(0个或多个)字符或字符串,包括空字符串。?匹配任意1个字符,有且只有一个字符。[abcd]匹配abcd中任何一个字符,abcd也可以是其他任意不连续字符。[a-z]匹配a到z之间的任意一个字符,字符前后要连续,也可以用连续数字,即[1-9]。[!abcd]表示不匹配括号里面的任何一个字符…

    2026年1月27日
    5
  • Apache和Tomcat区别

    Apache和Tomcat区别nbsp nbsp 对比项 nbsp nbsp nbsp nbsp nbsp nbsp 服务器种类 nbsp 解释 java 程序 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 资源区别 Apache Web 服务器 不能 支持 html img 等静态资源 不支持动态请求如 CGI Servlet JSP PHP ASP Tomcat Java 服务器 Servl

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号