栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Focal loss学习记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Focal loss学习记录

Focal Loss for Dense Object Detection

对于one stage方法来说,detection部分要直接处理大量的候选位置,其中负样本要占据绝大部分,SSD的策略是采用hard mining,从大量的负样本中选出loss最大的topk的负样本以保证正负样本比例为1:3.

onestage 不好的原因在于:正负样本比例极度不平衡,负样本绝大部分都是简单样本,构成了大部分的损失,并主导了梯度。

什么是“类别不平衡”:

  • 一幅正常的图像中需要检测的object不会很多,顶多就那么几个object。这就意味着绝大多数的bbox是属于background,使得foreground-background类别不平衡。
  • bbox中background太多导致分类器对于目标更不准确,所以目标检测的精度很低。
  • two-stage中RPN对anchor进行简单的二分类,大幅筛选掉background的bbox,但是也不能完全解决类别不平衡问题,只能说是在很大程度上减轻了“类别不平衡”对检测精度所造成的影响。

因此,通过重塑标准的交叉熵loss来解决,并且设计了RetinaNet来验证效果。

OHEM(online Hard Example Mining)是近年兴起的另一种筛选example的方法,它通过对loss排序,选出loss最大的example来进行训练,这样就能保证训练的区域都是hard example。这个方法有个缺陷,它把所有的easy example都去除掉了,造成easy positive example无法进一步提升训练的精度。

Focal Loss 交叉熵

我们从二元分类的交叉熵(CE)损失开始引入焦点损失

  • (1)为标准交叉熵损失,y=1为ground-truth,p是为该类gt的概率。

为了方便计算,重写为:
Balanced Cross Entropy也可以平衡正负样本

  • α是给正样本的权重,1-α是给负样本的权重,可以看到α=0.75时取得最好结果
  • 对于BCE来说label=0权重为1-α,label=1权重为α;对于CE来说label=0权重为1-α,label>=1的权重都为α
  • 对于样本过多的类别,设置较低的权重,比如给负样本设置<0.5的权重,这样也会使减轻被easy example主导的情况,但是实验效果不如Focal loss
Focal Loss Definition


γ gamma γ = 0 就是CE

  • α:为了解决 Class Imbalance 问题而引入,对于样本数过多的那一类样本,α应设得较低,这样就降低了该类样本对于Loss的重要性
  • γ:为了降低易分样本的权重,专注于训练难分负样本而引入,(1 - Pt)∈(0,1),当样本易分类时,(1 - Pt)很小,(1 - Pt)^γ会变得更小,这样就减少了简单易分类样本的重要性,相对增加了那些误分类样本的重要性

γ 和 α t gamma和α_t γ和αt​的最优值是相互影响的,所以在评估准确度时需要把两者组合起来调节。作者在论文中给出 γ = 2 、 α t = 0.25 gamma=2、α_t=0.25 γ=2、αt​=0.25最优

单单就α-balanced Focal Loss用在single stage检测中,α和γ的作用是有重合部分的,因为大量负样本就是easy example,它的权重需要下降,即α和γ都要对它改变。
原文链接
直觉上来说,调制因子减少了易分样本的损失贡献,拓宽了样例接收到低损失的范围。举例来说,当γ=2时,一个样本被分类的Pt=0.9的损失比CE小100多倍。这样就增加了那些误分类的重要性(它们损失被缩了4倍多,当Pt<0.5且γ=2)

个人学习记录,侵删
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号