目标检测——Faster R_CNN使用smooth L1作为bbox的回归损失函数原因

本文探讨了目标检测框架Faster R-CNN中使用Smooth L1作为bbox回归损失函数的原因。主要分析了Smooth L1相较于L1和L2损失函数的优势,包括防止梯度爆炸和确保收敛性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  前情提要—— 网上关于目标检测框架——faster r_cnn有太多太好的博文,这是我在组会讲述faster r_cnn这一框架时被人问到的一个点,当时没答上来,于是会下好好百度和搜索一下研究了一下这个问题。

先看faster r_cnn的对bounding_box的回归损失函数:

  百度百科的解释是:对于边框的预测是一个回归问题。通常可以选择平方损失函数(L2损失):f(x)=x^2。但这个损失对于比较大的误差的惩罚很高。我们可以采用稍微缓和一点绝对损失函数(L1损失):f(x)=|x|,它是随着误差线性增长,而不是平方增长。但这个函数在0点处导数不唯一(这里应该是0点两边的导数,因为0点处导数不存在),因此可能会影响收敛。一个通常的解决办法是在0点附近使用平方函数使得它更加平滑。它被称之为平滑L1损失函数,它通过一个参数sigma来控制平滑的区域。

  牛客网的解释:是当预测值与目标值相差很大时,L2 Loss的梯度为(x-t),容易产生梯度爆炸,L1 Loss的梯度为常数,通过使用Smooth L1 Loss,在预测值与目标值相差较大时,由L2 Loss转为L1 Loss可以防止梯度爆炸。

 

posted on 2019-03-30 21:02  E-Dreamer 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/E-Dreamer-Blogs/p/10534039.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值