focal loss 学习记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30362711/article/details/89399200

上图:

图中的pt

横轴的取值范围是0-1,接近1时有两种可能情况,(1)y是1,logit接近1(2)y是0,logit接近0.

因为pt是随着y变的。所以以上两种情况来说都是预测的比较好的情况,在目标检测中,大部分都是背景,因此大部分都预测的很好,因此要减少预测的好的在loss中的权重。

交叉熵解释

交叉熵是一种代价函数,其可以计算出两个概率分布的差异程度。

在二分类时很简单,因为分布是多输入单输出的概率分布。

在多分类时比较复杂,因为此时的概率分布是多输入多输出概率分布。如输入是一张图片,而输出是多维输出。

此时

而多个二分类时是,注意,这不是回归问题,回归的话,只有一个输出,而这里是两个输出。这里是理想化了,就是标签只有0和1,而假如一个真实的分布,可能青蛙是0.8,蛇是0.2。因此这里算的就会出问题,tensorflow里就是理想化的算子,假如你的标签不是0和1,而是小数的化,那么调他的接口就会出错。

因此在多个二分类时,focal loss是单独作用于每一个输出维度。多个也一样计算pt

l连续情况下的计算

连续情况下公式转化为乘上一个|a-c|^r。a和c分别是logit和label,label可以是连续的情况

猜你喜欢

转载自blog.csdn.net/qq_30362711/article/details/89399200