大数跨境
0
0

深度学习中回归任务常见损失函数小结

深度学习中回归任务常见损失函数小结 AI算法之道
2022-02-27
0
导读:损失函数是深度学习相关问题的核心组成部分,主要用于评估模型的性能并相应地更新权重。通过本文,希望大家可以了解特定损失函数的优缺点以及在那些场景下应该使用它们。





01


引言


在深度学习领域中,损失函数定义了模型的预测与目标值之间的距离。因此我们必须正确地选择它,只有这样所有的参数才会根据其值进行更新。损失函数的选择取决于模型的设计。

在这篇文章中,我们主要讨论两种常见的的任务,即回归和分类。
闲话少说,我们直接开始吧。:)




02


MSE损失


Mean Square Error (MSE) 是回归任务中最通用的损失函数,MSE是目标值与预测值之间差值平方和的均值,MSE的公式定义如下:

优点:

  • 易导

  • 存在解析解

  • 预测值越接近真值梯度越小

缺点:

  • 对异常值不鲁棒

正如我们所了解到的一样,MSE 总体上对预测错误的情形进行了严厉的惩罚,但这是一把双刃剑,假如我们训练数据中存在较大的异常值,此时我们将会有一个巨大的权重更新,这有可能会使模型失去平衡。
MSE简单的可导性使它成为一种非常流行的损失函数,我们可以在一些回归问题中找到它。



03


MAE损失


Mean Absolute Error (MAE) 是目标值与预测值差的绝对值之和的均值。MAE的公式定义如下:

优点:

  • 对异常值鲁棒

缺点:

  • 无解析解

  • 所有预测错误的梯度幅度值相同


MAE 是目标和预测值之间差异的绝对值。这个函数的主要问题是它实际上没有解析解。

如上述公式所示,对于预测错误时,反传的梯度值为 1 或 -1。这意味着无论误差有多大,我们都会用相同的值更新权重。

MSE损失函数的明显用途是回归问题,但它也用于其他领域 比如在CycleGAN论文中,它用作一致性损失主要是用来计算原始图像和重新生成的图像之间的差异性。




04


Pseudo-Huber损失


Pseudo-Huber Loss损失函数的定义如下:


优点:

  • 对异常值鲁棒

  • 存在解析解

缺点:

  • 需要对delta参数进行微调

Pseudo-Huber损失函数是MAE函数的鲁棒性和 MSE的实际现有解的结合体。该损失函数还有一个附加参数 delta,主要用于控制函数从二次到线性切换的位置。此外该参数还用于剪裁梯度值,从而可以限制异常值的影响。

由于具有裁剪梯度的能力,Pseudo-Huber损失函数被用于Fast R-CNN模型中,以防止梯度爆炸。



05


三种损失对比


在了解了一些理论之后,我们来具体举个栗子,对上述几个函数做个对比。

下图中,蓝线上的采样点为我们的真值,红色x为我们的预测值。

接着,我们来看下不同损失函数的计算值:

如上所示,Pseudo-Huber损失函数显示具备MAE LOSS对异常值的鲁棒性以及MSE LOSS对预测值越接近真值梯度越小的特性。




06


总结


损失函数是深度学习相关问题的核心组成部分,主要用于评估模型的性能并相应地更新权重。

通过本文,希望大家可以了解特定损失函数的优缺点以及在那些场景下应该使用它们。



您学废了吗?





点击上方小卡片关注我




万水千山总关情,点个在看行不行。

【声明】内容源于网络
0
0
AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
内容 573
粉丝 0
AI算法之道 一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
总阅读23
粉丝0
内容573