【深度学习基础知识 - 01】L1和L2损失函数的区别

L1损失函数是平均绝对误差,L2是平均平方误差,两者常用于回归任务。L2对异常值敏感,适合图像重建;L1则在存在异常值时更具优势。L1的梯度问题可能需要学习率衰减,而L2的梯度已自然缩放。加权L1和L2或混合使用在特定任务中也是常见策略。
摘要由CSDN通过智能技术生成

机器学习、深度学习任务中经常提到L1和L2损失的概念,在这里简单介绍一下它们的基础概念以及区别。

基础概念

  • L1损失函数又称为MAE(mean abs error),即平均绝对误差,也就是预测值和真实值之间差值的绝对值。
  • L2损失函数又称为MSE(mean square error),即平均平方误差,也就是预测值和真实值之间差值的平方。

相同点

  • 因为计算的方式类似,只有一个平方的差异,因此使用的场合都很相近,通常用于回归任务中。

差异

  • L2没有L1鲁棒,直观来说,L2会将误差平方,如果误差大于1,则误差会被放大很多,因此模型会对异常样本更敏感,这样会牺牲许多正常的样本。当训练集中含有更多异常值的时候,L1会更有效。
  • 如果是图像重建任务,如超分辨率、深度估计、视频插帧等,L2会更加有效,这是由任务特性决定了,图像重建任务中通常预测值和真实值之间的差异不大,因此需要用L2损失来放大差异,进而指导模型的优化。
  • L1的问题在于它的梯度在极值点会发生跃变,并且很小的差异也会带来很大的梯度,不利于学习,因此在使用时通常会设定学习率衰减策略。而L2作为损失函数的时候本身由于其函数的特性,自身就会对梯度进行缩放,因此有的任务在使用L2时甚至不会调整学习率,不过随着现在的行业认知,学习率衰减策略在很多场景中依然是获得更优模型的手段。

变体

  • 最近也有很多场景中出现了加权的L1和L2,即两者的加权求和。或者其他L1和L2的变体,如分段使用L1和L2,在预测值满足一定条件时使用L1计算损失,其他情况下使用L2计算损失。这要由具体的任务来定。

L1和L2的函数图像

在这里插入图片描述在这里插入图片描述
(图片来自于网络)

博主会持续更新一些深度学习相关的基础知识以及工作中遇到的问题和感悟,喜欢请关注、点赞、收藏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雁宇up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值