最近读了两篇文章《Training Region-based Object Detectors with Online Hard Example Mining》和《Gradient Harmonized Single-stage Detector》,两篇文章都是难样本挖掘相关的。本文对这两篇文章分别做一个简单的总结。
Training Region-based Object Detectors with Online Hard Example Mining
本文主要是为了解决目标检测中正负样本比例极度不均衡而提出的。
在目标检测中,通常大部分样本(boungding box)都是负样本,正样本较少,因而在模型训练时会出现正负样本不均衡的情况。此外,很多负样本多模型训练起到的贡献较少,这些一般都是简单样本,其前向传播的loss很小,模型很容易认出,因此在模型后期这些大量的简单样本会浪费大量的时间。因此本文在此基础上提出了基于loss的难样本挖掘技术。
具体地,以Fast RCNN为例,作者在Fast RCNN的网络框架基础上添加了一个挑选难样本(loss较大)的网络,这个网络只进行前向传播计算loss,并挑选出一些loss较大的proposal,不进行反向传播,具体如下图所示。挑选出难样本后指导真正的主网络输入那些loss较大的难样本进行模型训练。
更多的细节,这里不具体探讨,感兴趣可以研究下论文。
Gradient Harmonized Single-stage Detector
这篇文章比上面的难一些也有意思一些。首先,这篇文章不是从loss而是从梯度的角度来讲的。其次,如果说上面的直接选用loss较大的图片(proposal)而丢弃掉loss较小的是硬阈值的话,那本文就相对的可以说是提出了一种软阈值的方法——给各个输入图片设置一个权重。
在训练集中,根据梯度大致可以将样本分为三类(如下图所示):第一类是简单样本,其梯度接近于0,一般在训练一定步数后这类样本将会占据训练集的绝大多数;第二类样本是中间梯度的,这里我们姑且将其视为0.2~0.8,这类样本对模型训练起到重要作用(可将这部分看作是label正确的难样本);第三部分是梯度大于0.8的样本,这部分样本可能包括很多label错误的样本,如果模型强行对这些样本进行拟合可能会导致其对正确样本的预测结果变得更差。因此,本文在此基础上,提出了一种新颖的技术,根据样本及梯度分布给样本梯度值赋予不同的
下面我们对如何赋予不同权重进行简单的介绍。
首先定义梯度密度函数(Gradient density function):
其中 gk表示第k个样本的梯度,而且
所以梯度密度函数GD(g)就表示梯度落在区域
的样本数量。再定义梯度密度协调参数(gradient density harmonizing parameter)β:
其中N表示总的样本数,GD(gi)/N表示标准化。可以看出,梯度密度大的样本的权重会被降低,密度小的样本的权重会增加。把GHM的思想应用于分别应用于分类和回归上就形成了GHM-C和GHM-R。
更具体的细节可以参见论文或者博客Gradient Harmonized Single-stage Detector
参考:
Training Region-based Object Detectors with Online Hard Example Mining
Gradient Harmonized Single-stage Detector
网友评论