【AI数学】hard negative mining

困难负例挖掘(hard negative mining)是2009年rbg等人发表在TPAMI上的trick,这个trick就类似于AI模型的“错题集”,把难以区分的sample添加进去继续训练。这是一个增加正负样本discrimination的trick,可以一定程度上减少误检。

原文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5255236

文章标题:《Object Detection with Discriminatively Trained Part-Based Models》


Hard Negative Mining

在早期的目标检测算法中,尤其强调正负样本均衡,在模型的最后一关,都会做一个“二分类”,是目标或不是目标。如Fast R-CNN(https://arxiv.org/pdf/1504.08083.pdf)中,使用的分类器是SVM,就使用了“困难负例挖掘”的技巧。

一些很容易被分类器误判的非目标样本被称为“困难负样本”(hard negative)。这样的例子很好举,比如你做球体检测的时候,背景中有一个圆形干扰物,这个原型干扰物就很容易被误当成目标物体,那这就是一个“hard negative”。

当某负例被分类器误判,模型就会自动把它标记为“负样本”然后丢进训练集重新训练。这一步,就类似于一个错题集。如果同一道题错多次那就是学生的不对了~

模型反复将“错题集”中的错题加入训练,然后一直到能有效区分这些困难负样本和正样本的过程,就叫做“难例挖掘”。

近年来,随着神经网络的发展,hard negative mining逐渐淡出视线。比如,faster R-CNN因为抛弃了SVM,自然而然就抛弃了这个trick(https://arxiv.org/pdf/1506.01497.pdf)。一切都得感谢强大的深度学习,就算不用这个trick,我们对着一直“煲汤”,时间够了也能达到这个trick的效果。不过,前辈留下的好东西,往往可以给我们留下很多启示。


总结

hard negative一直都是CV领域的难题,哪怕再强大的神经网络出现,也架不住训练数据的稀疏。难例是错检的罪魁祸首,所以Hard Negative Mining这个技巧需要被重视起来,不是只像fast rcnn中简单迭代而已。现在有了更成熟的生成式模型、强化学习等技术,其实可以更好的结合hard negative mining的。我们可以从多个维度对难例进行“挖掘”。

发布了147 篇原创文章 · 获赞 1858 · 访问量 90万+

猜你喜欢

转载自blog.csdn.net/leviopku/article/details/97800427