深度學習之L1、L2、smooth L1三類損失函數


原文鏈接

一、常見的MSE、MAE損失函數
  1.1 均方誤差、平方損失
均方誤差(MSE)是回歸損失函數中最常用的誤差,它是預測值與目標值之間差值的平方和,其公式如下所示:

 

 

 


下圖是均方根誤差值的曲線分布,其中最小值為預測值為目標值的位置。

 

 

 


優點:各點都連續光滑,方便求導,具有較為穩定的解
缺點:不是特別的穩健,為什么?因為當函數的輸入值距離中心值較遠的時候,使用梯度下降法求解的時候梯度很大,可能導致梯度爆炸。
什么是梯度爆炸?誤差梯度是神經網絡訓練過程中計算的方向和數量,用於以正確的方向和合適的量更新網絡權重。
在深層網絡或循環神經網絡中,誤差梯度可在更新中累積,變成非常大的梯度,然后導致網絡權重的大幅更新,並因此使網絡變得不穩定。在極端情況下,權重的值變得非常大,以至於溢出,導致 NaN 值。
網絡層之間的梯度(值大於 1.0)重復相乘導致的指數級增長會產生梯度爆炸。

梯度爆炸引發的問題
在深度多層感知機網絡中,梯度爆炸會引起網絡不穩定,最好的結果是無法從訓練數據中學習,而最壞的結果是出現無法再更新的 NaN 權重值。

1.2 平均絕對誤差
平均絕對誤差(MAE)是另一種常用的回歸損失函數,它是目標值與預測值之差絕對值的和,表示了預測值的平均誤差幅度,而不需要考慮誤差的方向,范圍是0到∞,其公式如下所示:
在這里插入圖片描述
在這里插入圖片描述
優點:無論對於什么樣的輸入值,都有着穩定的梯度,不會導致梯度爆炸問題,具有較為穩健性的解。
缺點:在中心點是折點,不能求導,不方便求解。

上面的兩種損失函數也被稱之為L2損失和L1損失。

二、L1_Loss和L2_Loss
2.1 L1_Loss和L2_Loss的公式
L1范數損失函數,也被稱為最小絕對值偏差(LAD),最小絕對值誤差(LAE)。總的說來,它是把目標值(Yi)與估計值(f(xi))的絕對差值的總和(S)最小化:
在這里插入圖片描述
L2范數損失函數,也被稱為最小平方誤差(LSE)。總的來說,它是把目標值(Yi)與估計值(f(xi))的差值的平方和(S)最小化:
在這里插入圖片描述

 1 import numpy as np
 2 
 3 def L1(yhat, y):
 4     loss = np.sum(np.abs(y - yhat))
 5     return loss
 6 
 7 def L2(yhat, y):
 8     loss =np.sum(np.power((y - yhat), 2))
 9     return loss
10 #調用
11 yhat = np.array([0.1, 0.2, 0.3, 0.4, 0.5])
12 y = np.array([1, 1, 0, 1, 1])
13 
14 print("L1 = " ,(L1(yhat,y)))
15 print("L2 = " ,(L2(yhat,y)))

L1范數與L2范數作為損失函數的區別能快速地總結如下:
在這里插入圖片描述


2.2 幾個關鍵的概念
(1)魯棒性
最小絕對值偏差之所以是魯棒的,是因為它能處理數據中的異常值。這或許在那些異常值可能被安全地和有效地忽略的研究中很有用。如果需要考慮任一或全部的異常值,那么最小絕對值偏差是更好的選擇。
從直觀上說,因為L2范數將誤差平方化(如果誤差大於1,則誤差會放大很多),模型的誤差會比L1范數來得大,因此模型會對這個樣本更加敏感,這就需要調整模型來最小化誤差。如果這個樣本是一個異常值,模型就需要調整以適應單個的異常值,這會犧牲許多其它正常的樣本,因為這些正常樣本的誤差比這單個的異常值的誤差小。
(2)穩定性
最小絕對值偏差方法的不穩定性意味着,對於數據集的一個小的水平方向的波動,回歸線也許會跳躍很大(如,在轉折點處求導)。在一些數據結構上,該方法有許多連續解;但是,對數據集的一個微小移動,就會跳過某個數據結構在一定區域內的許多連續解。在跳過這個區域內的解后,最小絕對值偏差線可能會比之前的線有更大的傾斜。
相反地,最小平方法的解是穩定的,因為對於一個數據點的任何微小波動,回歸線總是只會發生輕微移動;也就說,回歸參數是數據集的連續函數。

三、smooth L1損失函數
其實顧名思義,smooth L1說的是光滑之后的L1,前面說過了L1損失的缺點就是有折點,不光滑,導致不穩定,那如何讓其變得光滑呢?smooth L1損失函數為:
在這里插入圖片描述
smooth L1損失函數曲線如下圖所示,作者這樣設置的目的是想讓loss對於離群點更加魯棒,相比於L2損失函數,其對離群點(指的是距離中心較遠的點)、異常值(outlier)不敏感,可控制梯度的量級使訓練時不容易跑飛。
在這里插入圖片描述


 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM