均方误差(Mean Square Error,MSE)和平均绝对误差(Mean Absolute Error,MAE) 是回归中最常用的两个损失函数,但是其各有优缺点。为了避免MAE和MSE各自的优缺点,在Faster R-CNN和SSD中使用 Smooth L 1 \text{Smooth} L_1 SmoothL1损失函数,当误差在 [ − 1 , 1 ] [-1,1] [−1,1] 之间时, Smooth L 1 \text{Smooth} L_1 SmoothL1损失函数近似于MSE,能够快速的收敛;在其他的区间则近似于MAE,其导数为 ± 1 \pm1 ±1,不会对离群值敏感。
本文再介绍几种回归常用的损失函数
- Huber Loss
- Log-Cosh Loss
- Quantile Loss
Huber Loss
Huber损失函数( Smooth L 1 \text{Smooth} L_1 SmoothL1损失函数是其的一个特例)整合了MAE和MSE各自的优点,并避免其缺点
L δ ( y , f ( x ) ) = { 1 2 ( y − f ( x ) ) 2 ∣ y − f ( x ) ∣ ≤ δ δ ∣ y − f ( x ) ∣ − 1 2 δ 2 otherwise L_\delta(y,f(x)) = \left \{ \begin{array}{c} \frac{1}{2} (y - f(x))^2 & \mid y - f(x) \mid \leq \delta \\ \delta \mid y-f(x) \mid - \frac{1}{2} \delta ^2 & \text{otherwise}\end{array}\right. Lδ(y,f(x))={
21(y−