cross-entropy for one-stage detecor

cross-entropy for one-stage detecor


将讲述三种cross-entropy,分别为standard cross-entropy、 balanced cross-entropy、focal loss。


standard cross-entropy


standard cross-entropy认为各个训练样本的权重是一样的,若用p_t表示样本属于true class的概率,则:

standard_CE = -log(p_t)


下图中,蓝色曲线就表示standard_CE.可以看出,对于well-classified样本(预测正确率大于0.6),他们的loss仍然不小,对于yolo/ssd这类one-stage detector,负样本远远多于正样本,而负样本里面绝大多数又是easy example(即容易分类正确的样本)。因此,相比hard example(较难分类正确的样本),easy example的loss在整个代价函数中具有主导作用,从而使得one-stage detector难以对hard example分类正确。


CSDN图标

balanced cross-entropy


由于one-stage detecor训练时正负样本数目相差较大,常见的做法就是给正负样本加上权重,给数量较少的正样本的loss更大的权重,减小负样本loss的权重。

balanced_CE = -α_t*log(p_t)
其中,α_t为样本loss的权重

focal loss


提出这种方法的作者【FAIR. ICCV2017 Oral Kaiming He & RBG】发现,one-stage detector的精度差的原因并不在于正负样本数量相差较大,而在于:
正负样本比例极度不平衡,以及损失函数(loss function)主要被easy negative example(容易分类正确的负样本)主导。
利用focal loss训练出的one-stage detector不仅能保持快速的优点,精确度也可以达到与two-stage detector一样的水平。


focal loss依照各个样本分类的分类难度来给定权重,如果某样本的分类正确率较大(easy example),则赋予较小的权重,相反,若某样本的分类难度较大(hard example),则赋予较大的权重。(类似adaboost:增大分类错误样本的采样概率,减小分类正确样本的采样概率)

FL=−(1−p_t)^γ * log(p_t)


由上式可以看出,预测正确率p_t越大,对应的loss越小。当γ=0时,即为standard cross-entropy。


实验发现γ=2时效果最好。当γ一定时,具有同样预测准确率p_t的 easy example,其 focal loss要比standard cross-entropy小100多倍,对于同样预测准确率p_t的hard example,其focal loss比standard cross-entropy最多小4倍,因此,hard example的权重就大大提高。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值