Faster-RCNN源码损失说明,及源码自定义的损失函数原理解析

平时工作太忙,时间都被碎片化拆分了,继续看Faster-RCNN源码,地铁上,时间关系,只看了损失部分

  • 分类损失,使用的是交叉熵损失函数
    在这里插入图片描述
  • 回归损失(smooth_l1_loss损失)
    在这里插入图片描述

特别说明:我担心有些朋友不太理解,源码这边为什么,还要自己定义smooth_l1_loss,而不是使用回归领域比较常用的L1损失(平均绝对误差)和L2损失(误差平方和),接下来我简单说一下他们的情况以及作者源码中选择自定义smooth_l1_loss的初衷:

L1损失:

结构图:
在这里插入图片描述

  • 优缺点对比:

优点:由于L1 loss具有稀疏性,为了惩罚较大的值,因此常常将其作为正则项添加到其他loss中作为约束。
问题:L1 loss的最大问题是梯度在零点不平滑,导致会跳过极小值。

L2损失:

结构图:
在这里插入图片描述
优缺点对比:

优点:L2 loss也常常作为正则项。
缺点:当预测值与目标值相差很大时, 梯度容易爆炸。

自定义的smooth_l1_loss损失:

本质说明:

按照源码中的意思,smooth_l1_loss,1. 结合了L1损失的负无穷到-1和1到正无穷的部分,有效的规避了零点区域的梯度不平滑问题;2. 结合了,L2损失的(-1, 1)部分,有效的避开了,L2损失在遇到极端情况时的梯度爆炸问题。

示例图如下:
在这里插入图片描述
在这里插入图片描述
时间关系,下一站就到站了,今天就写到这吧,祝各位工作顺利,生活愉快!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值