Focal Loss
什么是Focal Loss
Focal Loss是kaiming he提出的一种有效的计算损失的方法,可以有效的应用分类问题中,并且论文中表示在RetinaNet中取得了较好的成绩。
Focal Loss的优势
简单的说,可以提高目标检测的准确率,two-stage的检测网络在精度上占了很大的优势,但是由于其需要进行两次预测和RPN的存在,使得速度不尽如人意,而one-stage检测构架的速度非常快,但准确率却远远低于two-stage,于是论文中作者希望one-stage的检测网络可以达到比较高的准确率,作者表明:将Focal Loss应用到RetinaNet中,准确率超过了当时所有的two-stage网络。
Focal Loss的核心
Focal Loss相比较于binary cross entropy的区别在于:
- 控制正负样本的权重
- 控制容易分类的难分类样本的权重
正负样本的定义
正样本指的是所有anchors中与真实框的IOU达到某个阈值的框为正样本
容易分类和难分类样本的定义
容易分类指的是该样本本来为正样本并且很容易就被分为正样本,也就是他的概率很高。
总共包含两类:
- 得分很高的正样本
- 得分很低的负样本
难分类则反之。
Cross Entropy
首先定义Cross Entropy(CE):
- y——候选框的真实标签
- p——候选框判断其是物体的概率值
可以使用如下的公式简化交叉熵:
CE(p, y) = CE(pt) = − log(pt)
添加权重参数α来平衡正负样本
作者在论文中提取了Balance CE目的来平衡正负样本
公式如下:
α是权重参数可以自行根据正负样本的比例来设置,一半设置为0.25即正负样本权值比例为3:1
平衡容易和难识别样本
作者提出虽然α的加入可以改善正负样本不平衡的短板,但是简单样本还是占了loss的大部分并且主导了梯度,因此作者通过变化权重的方式来降低简单样本的权重。
- | 样本1 | 样本2 | 样本3 |
---|---|---|---|
p | 0.9 | 0.6 | 0.1 |
label | 1 | 0 | 1 |
pt | 0.9 | 0.4 | 0.1 |
1-pt | 0.1 | 0.6 | 0.9 |
样本1属于容易识别的正样本
样本2属于比较难识别的负样本
样本3属于难识别的正样本
这样就可以根据难易来给样本减少权重
正负-难易样本平衡方法结合
结合了两种方法的优势最终生成了Focal Loss最终作者证明该损失计算方式取得了非常好的效果