关于focal loss和分类任务中的hard negative(positive)mining

深度学习,数据是关键。

在训练一个分类器的时候,对数据的要求是class balance,即不同标签的样本量都要充足且相仿。然而,这个要求在现实应用中往往很难得到保证。

下面我以基于检测的单目标跟踪举例分析这个问题。

visual object tracking是在一段视频中跟踪一个特定目标。常见的方法有one-stage regression(比如correlation filter tracking)和two-stage classifcation tracking。这里我们只关注后者。two stages分别是首先在上一帧视频中目标的跟踪位置周围采样得到一堆target candidates(这与two-stageRCNN系列检测器的proposal生成是一样的意思);在第二个stage,就要使用训练所得的一个classfier来进行前景or背景的而分类

训练这个第二stage中的classfier就面临这class imbalance的问题(在two-stage检测器中同理。这就可以推广为,凡是在一个estimated bounding box周围随机采集正负样本bounding box时,都会有imbalance的问题。),即严格意义上的正样本只有一个,即the estimated bounding box,而负样本则可以是这一帧图像上除了正样本bbox之外的所有bbox。为了放宽这一要求,采用bbox IoU thresholding的方法来使得那些与正样本bbox overlap足够大的bbox也被认定为是正样本呢,多么无奈的妥协。但即便是这样,依旧存在严重的imbalance。

为了解决这种imbalance,在训练一个分类器(用cross-entropy loss)的时候,就需要设计一些hard (postive/negative)samples mining [1-5] 的策略。focal loss [1-4] 就是一种hard samples mining的手段。所谓mining(挖掘),就是去让那些掩埋很深的(weight share很小的:因为在使用cross-entropy loss做mini-batch SGD时,是大量的样本产生的loss average之后计算gradient以及实施参数update。这个average的操作是伤的,因为一个batch里面easy sample占绝大多数,hard sample只占很少部分,如果没有re-weighting或者importance balancing,那么在average之后,hard sample的contribution完全就被easy samples侵蚀平均抹掉了。更严重的是,往往这些hard samples,才是分类器性能进一步提升的bottleneck)宝藏(hard sample:很少出现但是现实存在的那些极端样本,比如车辆跟踪中出过事故的车辆。这里符合一个样本呢的long-tail效应[6])被重视被获得。具体是postive or negative mining,体现在是给postive还是negative sample更大的re-weighting权重

我理解的focal loss 是,利用一个re-weighting factor来modulating(re-weighting)每一个样本的importance,得到一个cost sensitve的classifier

focal loss的具体实现在此以而分类cross entropy loss举例:

无focal:

                                       

有focal(hard negative mining,加大难的负样本权重):

                                  

上式中p是classifer输出的[0,1]实数值,y是非0即1的label。将一个一维实数p进行二分类化的操作是令p指示label = 1为正样本的概率,另1-p指示label = 0为负样本的概率。focal loss的核心就是直接用p作为modulating(re-weighting factor),当一个负样本很难时,p略小于0.5;easy negative则是p远小于0.5。所以hard negative mining就体现在给1-p越小的negative(hard negative)乘以一个越大的factor(p)

 

 

 

 

本blog提供的citation主要面向跟踪(检测)领域:

[1] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Doll´ar. Focal loss for dense object detection. In IEEE International Conference on Computer Vision, 2017. 

[2] Song, Y., Ma, C., Wu, X., Gong, L., Bao, L., Zuo, W., ... & Yang, M. H. (2018). VITAL: VIsual Tracking via Adversarial Learning. arXiv preprint arXiv:1804.04273.

[3] Dong X, Shen J. Triplet Loss in Siamese Network for Object Tracking[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 459-474.

[4] A. Shrivastava, A. Gupta, and R. Girshick. Training regionbased object detectors with online hard example mining. In IEEE Conference on Computer Vision and Pattern Recognition, 2016.

[5] P. F. Felzenszwalb, R. B. Girshick, and D. McAllester. Cascade object detection with deformable part models. In IEEE Conference on Computer Vision and Pattern Recognition, 2010

[6] Ouyang W, Wang X, Zhang C, et al. Factors in finetuning deep model for object detection with long-tail distribution[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 864-873.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章