Online Hard Example Mining(OHEM)是一种在深度学习目标检测和分类任务中用于样本挖掘和损失加权的技术。它的主要目标是帮助模型更好地处理难以分类的样本,提高模型的性能。本文记录相关内容。
OHEM
在传统的随机采样训练中,每个训练批次都从数据集中随机选择样本,包括容易分类的样本和难以分类的样本。这可能导致模型过度关注容易分类的样本,而对难以分类的样本不够关注,从而降低了性能。Online Hard Example Mining 试图解决这个问题,其核心思想如下:
- 挖掘困难样本:在每个训练批次中,OHEM 首先使用当前模型对数据集中的所有样本进行前向传播,并计算每个样本的损失值。然后,它会选择那些损失值最高的一部分样本,通常是那些难以分类的样本,作为训练批次的一部分。
- 损失加权(可选):OHEM 不仅仅选择困难样本,还将这些样本的损失值进行加权,以确保模型更多地关注难以分类的样本。这意味着在反向传播过程中,困难样本的梯度对模型参数的更新具有更大的影响。
OHEM 的优点是可以帮助模型集中精力处理难以分类的样本,从而提高模型的性能,特别是在高度不平衡的数据集中。它在目标检测、图像分类和语义分割等任务中得到广泛应用。
为什么要 Hard Mining
- 减少fg和bg的ratio,而且不需要人为设计这个ratio;
- 加速收敛,减少显存需要这些硬件的条件依赖;
- hard mining已经证实了是一种booststrapping的方式, 尤其当数据集较大而且较难的时候;
- 通过自动选择困难示例,消除了常用的几种启发式方法和超参数,从而简化了训练。 放宽了定义negative example的bg_lo threshold,即从[0.1, 0.5)变化到[0, 0.5)。取消了正负样本在mini-batch里的ratio(原Fast-RCNN的ratio为1:3)。
算法优点
- 对于数据的类别不平衡问题不需要采用设置正负样本比例的方式来解决,这种在线选择方式针对性更强;
- 随着数据集的增大,算法的提升更加明显(作者是通过在COCO数据集上做实验和VOC数据集做对比,因为前者的数据集更大,而且提升更明显,所以有这个结论);
参考资料
- 《Training Region-based Object Detectors with Online Hard Example Mining》
- https://blog.csdn.net/m_buddy/article/details/89042338
文章链接: https://cloud.tencent.com/developer/article/2372742