[计算机视觉]-MSE、MEA、L1、L2、smooth L1解释及优缺点

MAE损失函数

M A E = ∑ i = 1 n ∣ y i − y i p 1 ∣ n M A E=\frac{\sum_{i=1}^{n} \mid y_{i}-y_{i}^{p_{1}} \mid}{n} MAE=ni=1nyiyip1

以分类问题举例。
对于上式中, y i y_{i} yi代表真实值, y i p y_{i}^{p} yip代表预测值。

下面是一个MAE函数的图,其中真实目标值为100,预测值在-10,000至10,000之间。预测值(X轴)= 100时,MSE损失(Y轴)达到其最小值。损失范围为0至∞。
[计算机视觉]-MSE、MEA、L1、L2、smooth L1解释及优缺点_第1张图片
优点 :无论对于什么样的输入值,都有着稳定的梯度,不会导致梯度爆炸问题,具有较为稳健性的解

缺点 :在中心点是折点,不能求导,不方便求解,且由于稳定的梯度,在接近解的附近会发生持续的震荡


MSE损失函数

M S E = ∑ i = 1 n ( y i − y i p ) 2 n M S E=\frac{\sum_{i=1}^{n}\left(y_{i}-y_{i}^{p}\right)^{2}}{n} MSE=ni=1n(yiyip)2

以分类问题举例。
对于上式中, y i y_{i} yi代表真实值, y i p y_{i}^{p} yip代表预测值。

下面是一个MSE函数的图,其中真实目标值为100,预测值在-10,000至10,000之间。预测值(X轴)= 100时,MSE损失(Y轴)达到其最小值。损失范围为0至∞。

[计算机视觉]-MSE、MEA、L1、L2、smooth L1解释及优缺点_第2张图片
优点:各点都连续光滑,方便求导,具有较为稳定的解

缺点:不是特别的稳健,为什么?因为当函数的输入值距离中心值较远的时候,使用梯度下降法求解的时候梯度很大,可能导致梯度爆炸(想象一下这个曲线继续往上走);在接近于真实值的时候,曲线却变得十分的平缓,甚至可能会出现梯度趋向于0的情况,这就造成训练速度变慢。

备注:上面的两种损失函数也被很多资料或者是教材称之为

L损失L2损失,但是本文还是将它们跟下面的L1损失和L2损失`进行区分了的。


L1&L2损失函数

L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。
总的说来,它是把目标值(Yi)与估计值(f(xi))的绝对差值的总和(S)最小化
M A E = ∑ i = 1 n ∣ y i − y i p 1 ∣ M A E={\sum_{i=1}^{n} \mid y_{i}-y_{i}^{p_{1}} \mid} MAE=i=1nyiyip1

L2范数损失函数,也被称为最小平方误差(LSE)。
总的来说,它是把目标值(Yi)与估计值(f(xi))的差值的平方和(S)最小化
M S E = ∑ i = 1 n ( y i − y i p ) 2 M S E={\sum_{i=1}^{n}\left(y_{i}-y_{i}^{p}\right)^{2}} MSE=i=1n(yiyip)2

可以看到L1跟MAE,L2跟MSE 差别就是少除了n,在很多参考资料上,这两者也没啥区别。相对应的优缺点也大致相同。
由上述的函数图像我们可以得出如下总结:

L1损失函数 L2损失函数
稳定的梯度 不稳定的梯度导
可以求得最优解(唯一) 可以求得次优解(多个)
相对鲁棒 相对不鲁棒

鲁棒性

因为与最小平方相比,最小绝对值偏差方法的鲁棒性更好。
L1损失对于那些异常(离群)值没有那么敏感,而L2(用的是平方)异常值会被放大(真实-预测大于1的情况下)。因此模型对于L2损失,想要去优化使得L2损失函数最小,就会过分的关注异常值,确牺牲了很多正常的样本,因为正常的样本误差较小。

梯度

从损失函数的曲线可以看出,L1的斜率是确定的,梯度也就是确定的。L2的斜率离中心点(真实值)越远越大,越接近越小。这在越远离或越接近时都会带来一定的问题。

解的问题

L1因为在最低点是不可导的,所以势必不会收敛到最低点,可能会在最优解附近震荡,而L2则是可以缓慢收敛至最优解的。


Smooth L1损失函数

顾名思义,smooth L1说的是光滑之后的L1,前面说过了L1损失的缺点就是有折点。

 Smooth  L 1 = 0.5 x 2 , ∣ x ∣ < 1 ∣ x ∣ − 0.5 , x < − 1  or  x > 1 \text { Smooth } \quad L_{1}=\begin{array}{l}0.5 x^{2}, \quad|x|<1 \\|x|-0.5, \quad x<-1 \text { or } x>1\end{array}  Smooth L1=0.5x2,x<1x0.5,x<1 or x>1

上式中 x = y i − y i p x =y_{i}-y_{i}^{p} x=yiyip
[计算机视觉]-MSE、MEA、L1、L2、smooth L1解释及优缺点_第3张图片

Smooth L1 Loss 结合了 L1 和 L2 的优点:早期使用 L1,梯度稳定,快速收敛,后期使用 L2,逐渐收敛到最优解。

Smooth L1能从两个方面限制梯度:

  • 当预测框与 ground truth 差别过大时,梯度值不至于过大;
  • 当预测框与 ground truth 差别很小时,梯度值足够小。

优点

  • 相比于L1损失函数,可以收敛得更快;
  • 相比于L2损失函数,对离群点、异常值不敏感,梯度变化相对更小,训练时不容易跑飞。

总结:
smooth L1,结合了L1与L2的优点,可以堪称他俩的合体


你可能感兴趣的:(计算机视觉图像方向面试,计算机视觉,目标检测,深度学习,python,机器学习,人工智能,损失函数)