一文理清L1 loss、L2 loss、smooth L1 loss原理与区别


L1 loss

L1 loss常用别称:

  • L1范数损失
  • 最小绝对偏差(LAD)
  • 平均绝对值误差(MAE)
    在这里插入图片描述
    其中,yi是真实值,f(xi)是预测值,n是样本点个数

优缺点?

  • 优点:无论对于什么样的输入值,都有着稳定的梯度,不会导致梯度爆炸问题,具有较为稳健性的解
  • 缺点:在中心点是折点,不能求导,梯度下降时要是恰好学习到w=0就没法接着进行了

什么时候使用?

  1. 回归任务
  2. 简单模型
  3. 神经网络通常比较复杂,直接使用L1 loss作为损失函数的非常少

L2 loss

L2 loss常用别称:

  • L2范数损失
  • 最小均方误差(LSE)
  • 均方误差(MSE)
    在这里插入图片描述
    其中,yi是真实值,f(xi)是预测值,n是样本点个数

优缺点?

  • 优点:各点都连续光滑,方便求导,具有较为稳定的解
  • 缺点:不是特别的稳健,因为当函数的输入值距离真实值较远的时候,对应loss值很大在两侧,则使用梯度下降法求解的时候梯度很大,可能导致梯度爆炸

什么时候使用?

  1. 回归任务
  2. 数值特征不大(防止loss太大,继而引起梯度大,梯度爆炸)
  3. 问题维度不高(loss本身比较简单,高纬度的还是得要更复杂的loss支撑)

Smooth L1 loss

平滑版的L1 loss
在这里插入图片描述
分析一下,当预测值f(xi)和真实值yi差别较小的时候(绝对值差小于1),其实使用的是L2 loss;差别大的时候,使用的是L1 loss的平移。因此,Smooth L1 loss其实是L1 loss 和L2 loss的结合,同时拥有两者的部分优点:

  1. 真实值和预测值差别较小时(绝对值差小于1),梯度也会比较小(损失函数比普通L1 loss在此处更圆滑)
  2. 真实值和预测值差别较大时,梯度值足够小(普通L2 loss在这种位置梯度值就很大,容易梯度爆炸)
    在这里插入图片描述

什么时候使用?

  1. 回归任务
  2. 特征中有较大数值
  3. 适合大多数问题(用的最多!)

三者区别

(1)L1 loss在零点不平滑,此处不可导,所以在w=0时没法接着梯度下降了,用的少
(2)L2 loss对离群点比较敏感,离群点处的梯度很大,容易梯度爆炸
(3)smooth L1 loss结合了L1和L2的优点,修改了零点不平滑问题,且比L2 loss对异常值的鲁棒性更强


常见问题解释

一、L1 loss、L1正则、L1范数有何区别?

L1范数:
在这里插入图片描述
L1 loss和L1 正则都使用了L1范数,L1 loss是指对预测值和真实值的差值使用L1范数计算生成的一个损失函数;L1正则是指损失函数之后单独加了一项,这一项是对所有的权重参数w进行L1范数的运算。

两者只是使用了同一种运算方式,但并不是同一个东西,L2同理(注意,L2正则项是L2范数的平方)。

二、L1正则为何会引起特征稀疏?

因为L1正则会使得大部分无用特征的权重被置0,这源于公式特性,解释如下:

(1)这是一个L2 loss加上一个L1正则或L2正则
在这里插入图片描述

(2)梯度下降法优化时,会这样更新参数
在这里插入图片描述
(3)对参数w求导
在这里插入图片描述
(4)下面是L1正则、L2正则的原函数图像和求导之后的函数图像
在这里插入图片描述
在这里插入图片描述
(5)先看L1的,在梯度更新时,无论L1的大小是多少,梯度都是1或者-1,所以每次更新时,它都是固定步长向0前进
在这里插入图片描述
(6)再看L2,梯度越靠近0,就会越小
在这里插入图片描述
(7)也就是说加了L1正则后,经过一定学习步数后w是有可能变为0的,而L2不可能,因为w = w - αw,每次都是减去的原始w的一个比例,永远不会减到0。L1正则中由于很多无用的w可能变为0,则乘上对应位置特征后,对应位置特征也变成0。

因此说L1会造成特征稀疏!

Yolov5 是一种广泛应用于目标检测的算法,其 loss 原理相对简单。Yolov5 通过将目标检测问题转化为一个回归问题,通过预测 bounding box 的坐标来实现目标检测。 Yolov5 的 loss 主要包括三个部分:分类损失、定位损失和目标置信度损失。 分类损失是用来衡量预测的类别与真实类别之间的差异。Yolov5 使用交叉熵损失函数来计算分类损失。对于每个边界框(bounding box),它将计算预测类别的 softmax 概率与真实类别的 one-hot 向量之间的交叉熵。 定位损失用于衡量预测的边界框位置与真实边界框位置之间的差异。Yolov5 使用 Smooth L1 损失函数来计算定位损失。它通过对预测边界框的坐标与真实边界框的坐标之间进行平滑处理,减小了异常值的影响。 目标置信度损失用于衡量预测的边界框与真实边界框之间的 IoU(Intersection over Union)之间的差异。Yolov5 使用 Binary Cross-Entropy 损失函数来计算目标置信度损失。它将预测的边界框是否包含目标与真实边界框是否包含目标之间的差异进行衡量。 最终,Yolov5 的总损失是通过将三个部分的损失加权求和得到的。这些权重可以根据具体的任务和数据集进行调整。 通过最小化 Yolov5 的 loss 函数,模型可以学习到更准确的目标检测结果。这样,我们就可以在图像中准确地检测和定位不同类别的目标。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值