文章目录

  • 1 引言
  • 2 L1 Loss
  • 3 L2 Loss
  • 4 Smooth L1 Loss
  • 5 曲线对比分析
  • 6 参考链接

1 引言

目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。

Bounding Box Regression Loss Function的演进路线是:
Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss

本文介绍L1 loss、L2 loss以及Smooth L1 Loss。

2 L1 Loss

  • 公式:

    假设 x 为预测框和真实框之间的数值差异时,公式变为:

L1=∣x∣L_1 = |x|L1​=∣x∣

  • 导数:
  • 特点:
    L1 loss在零点处不平滑,学习慢;
    L1L_1L1​ 损失函数对 x 的导数为常数,训练后期,x 很小时,如果学习率不变,损失函数会在稳定值附近波动,很难收敛到更高的精度。(这句话可能得想一下才能懂)

3 L2 Loss

  • 公式:

    假设 x 为预测框和真实框之间的数值差异时,公式变为:

L1=x2L_1 = x^2L1​=x2

  • 导数:
  • 特点
    L2 loss由于是平方增长,因此学习快。
    L2L_2L2​ 损失函数对 x 的导数为2x,当 x 很大的时候,导数也很大,使 L2L_2L2​ 损失 在 总loss 中占据主导位置,进而导致,训练初期不稳定。

4 Smooth L1 Loss

由微软rgb大神在 Fast RCNN论文提出该方法。

  • 公式:假设 x 为预测框和真实框之间的数值差异
  • 导数:
  • 特点:
    Smooth L1 Loss 相比L1 loss 改进了零点不平滑问题。
    相比于L2 loss,在 x 较大的时候不像 L2 对异常值敏感,是一个缓慢变化的loss。

5 曲线对比分析

实际目标检测框回归位置任务中的损失loss为:

三种loss的曲线如下图所示,可以看到Smooth L1相比L1的曲线更加的Smooth。

存在的问题:

  • 三种Loss用于计算目标检测的Bounding Box Loss时,独立的求出4个点的Loss,然后进行相加得到最终的Bounding Box Loss,这种做法的假设是4个点是相互独立的,实际是有一定相关性的
  • 实际评价框检测的指标是使用IoU,而IoU和Smooth L1是不等价的,多个检测框可能有相同大小的Smooth L1 Loss,但IoU可能差异很大,为了解决这个问题就引入了IoU Loss。

再后面学习参考链接:

https://zhuanlan.zhihu.com/p/104236411

6 参考链接

https://zhuanlan.zhihu.com/p/104236411
https://blog.csdn.net/qq_33278461/article/details/100752896

【Smooth L1 Loss】Smooth L1损失函数理解相关推荐

  1. 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

    损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...

  2. 【IoU loss】IoU损失函数理解

    文章目录 1 引言 2 问题分析 3 IoU Loss 4 代码演示IoU 5 感谢链接 1 引言 目标检测任务的损失函数由Classificition Loss和Bounding Box Reger ...

  3. 【AI面试】hard label与soft label,Label Smoothing Loss 和 Smooth L1 Loss

    往期文章: AI/CV面试,直达目录汇总 [AI面试]NMS 与 Soft NMS 的辨析 [AI面试]L1 loss.L2 loss和Smooth L1 Loss,L1正则化和L2正则化 在一次询问 ...

  4. 从L1 loss到EIoU loss,目标检测边框回归的损失函数一览

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/342991797 目标检测任务的损失函数由Classificition Loss和BBox Reg ...

  5. 在caffe中添加新层 L1 Loss layer

    本文地址:http://blog.csdn.net/ismarvellous/article/details/79069661,转载请注明出处. 本文涉及的所有完整文件可在我的github下载. 1. ...

  6. 【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解

    1. L1 Loss(Mean Absolute Error,MAE) 平均绝对误差(MAE)是一种用于回归模型的损失函数.MAE 是目标变量和预测变量之间绝对差值之和,因此它衡量的是一组预测值中的平 ...

  7. smooth L1 loss个人理解

    最近在整理目标检测损失函数,特将Fast R-CNN损失函数记录如下: smooth L1 损失函数图像如下所示: L1损失的缺点就是有折点,不光滑,导致不稳定. L2 loss的导数(梯度)中包含预 ...

  8. L1、L2正则化以及smooth L1 loss

       一.L1.L2正则化 当样本特征很多,而样本数相对较少时,学习过程很容易陷入过拟合.为了缓解过拟合问题,可以对损失函数加入正则化项.正则化项中的Lp范数有很多,常见的有L1范数和L2范数. 给定 ...

  9. 深度学习: smooth L1 loss 计算

    RPN的目标函数是分类和回归损失的和,分类采用 交叉熵,回归采用稳定的 Smooth L1, SmoothL1公式 为: 整体损失函数 具体为: Smooth L1 相比于L1损失函数,可以收敛得更快 ...

最新文章

  1. Asp.net后台创建HTML
  2. Socket编程(4)TCP粘包问题及解决方案
  3. ThreadLocal类
  4. 原创-互联网技术图谱
  5. web.xml中load-on-startup的作用
  6. mysql group by 查询慢_MySQL慢查询优化(线上案例调优)
  7. Java中的非对称加密算法RSA实现
  8. 联通引入乐phone:联想欲克隆PC成功模式
  9. 软考高项--项目管理概述
  10. V270文件存储服务器,天堂2V270 服务端和客户端
  11. 如何区分网线是几类的_网线如何区分五类线、超五类线和六类线?
  12. 如何寻找计算机领域的英文文献?
  13. 用Vue做一个音乐app
  14. 蛋白质二级结构预测工具psipred安装使用
  15. Ubuntu18.04下 安装SMPlyer视频播放器 设置倍速播放
  16. 第十三课功能键之开根号——C#计算器编程教学
  17. [程序人生]北大学生12年不回家,你怎么看?
  18. Java zxing生成vcard二维码名片
  19. SAP校园精英同略会邀请 参考答案
  20. Android游戏-切水果(代码都有)

热门文章

  1. 全国城市空气质量查询,PM2.5查询
  2. Unity for kinect的开发教程
  3. C语言知识的回顾(笔记)
  4. D2欧拉路,拓扑排序,和差分约束
  5. erp物料报废 oracle_ERP库存报废作业流程
  6. java实现简繁体转换demo
  7. python实现KNN模型分类预测并验证评估(附代码)
  8. 完美国际武侠加点 技能 练级
  9. 【iMessage苹果推】群发软件您的通行证类型ID并拒绝您的通行证productable两个父协议
  10. BUUCTF:[HCTF 2018]Hide and seek