来自|知乎 作者|小白 链接|https://zhuanlan.zhihu.com/p/51708428报道|人工智能前沿讲习最近看了几篇文章关于难分样本的挖掘,如何将难分样本抽取出来,通过训练,使得正负样本数量均衡。一般用来减少实验结果的假阳性问题。Training Region-based Object Detectors with Online Hard Example Mining论文:https://arxiv.org/pdf/1604.03540.pdf代码:https://github.com/abhi2610/ohem
CVPR2016的Training Region-based Object Detectors with Online Hard Example Mining(oral)将难分样本挖掘(hard example mining)机制嵌入到SGD算法中,使得Fast R-CNN在训练的过程中根据region proposal的损失自动选取合适的Region Proposal作为正负例训练。上面的论文就是讲的在线的方法:Online Hard Example Mining,简称OHEM实验结果表明使用OHEM(Online Hard Example Mining)机制可以使得Fast R-CNN算法在VOC2007和VOC2012上mAP提高 4%左右。即:训练的时候选择hard negative来进行迭代,从而提高训练的效果。简单来说就是从ROI中选择hard,而不是简单的采样。Forward: 全部的ROI通过网络,根据loss排序;Backward:根据排序,选择B/N个loss值最大的(worst)样本来后向传播更新model的weights.这里会有一个问题,即位置相近的ROI在map中可能对应的是同一个位置,loss值是相近的,所以针对这个问题,提出的解决方法是:对hard做nms,然后再选择B/N个ROI反向传播,这里nms选择的IoU=0.7。在后向传播时,直觉想到的方法就是将那些未被选中的ROI的loss直接设置为0即可,但这实际上还是将所有的ROI进行反向传播,时间和空间消耗都很大,所以作者在这里提出了本文的网络框架,用两隔网络,一个只用来前向传播,另一个则根据选择的ROIs进行后向传播,的确增加了空间消耗(1G),但是有效的减少了时间消耗,实际的实验结果也是可以接受的。给定图像和选择性搜索RoI,卷积网络计算转换特征映射。在(a)中,只读RoI网络在特征映射和所有RoI上运行正向传递(以绿色箭头显示)。然后Hard RoI模块使用这些RoI损失来选择B个样本。在(b)中,RoI网络使用这些硬性示例来计算前向和后向通道(以红色箭头示出)。想法很类似于新扩展一个空间,错放错误样本,然后单独训练这些样本,更新权重。