본문 바로가기

🤖AI/딥러닝

Regression task의 Loss: L1, L2, Huber, Log Cosh Loss

각 Loss의 장단점 및 특징

1. MSE Loss (L2 Loss)

$$
L2\ Loss = \frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2
$$

- 장점: Convergence(수렴)가 더 빠르다.

- b/c 실제값과 치아기 크면 해당 Loss 값은 더욱 크다. (MSE은 Quadratic 하므로)

- 단점: Anomaly (Outlier)에 대해서 더 민감하다.

 

2. MAE Loss (L1 Loss)

$$
L1\ Loss = \frac{1}{N} \sum_{i=1}^{N} |y_i - \hat{y}_i|
$$

- 장점: MSE와 비교했을 때 Anomaly에 대해서 비교적 robust하다.

- 단점: 0에서 미분가능하지 않다. MSE보다 초반 학습이 느릴 수 있다.

 

3. Huber Loss

$$
L_{\delta}(a) = \begin{cases} 
\frac{1}{2}a^2 & \text{if } |a| \le \delta \\
\delta (|a| - \frac{1}{2}\delta) & \text{if } |a| > \delta 
\end{cases}
$$

- MSE의 faster convergence의 장점과 MAE의 outlier에 대한 robustness 장점을 둘 다 가지고 있다.

- 단점: 한 번만 전구간 미분가능하다.

 

4. Log Cosh

$$
\text{log cosh}(x) = \begin{cases}
\frac{x^2}{2} & \text{if } |x| \leq 18 \\
|x| - \frac{1}{2}\log(2) & \text{if } |x| > 18
\end{cases}
$$

- Huber Loss와 비슷한 성격을 가졌지만 전구간 두 번 이상 미분가능하다.

왜 미분가능함이 중요한가?

Smoothness & Well-behaved function

1. "미분가능함" = Smooth(매끄럽다)Well-behaved(얌전하다)

2. 함수의 출력값이 입력값의 변화에 따라 "매끄럽고 부드럽게" 변함.

3. 매끄럽고 부드러운 함수 -> extrapolate(추정), interpolate(보간)하기 수월함.

b/c 학습된 딥러닝 모델이 학습에서 보지 못한 input data space에 대해서 inerpolate 혹은 extrapolate 가능해진다.

출처: 딥러닝 이론 + Pytorch 실무 완전 정복 16강

'🤖AI > 딥러닝' 카테고리의 다른 글

(04강) Semantic Segmentation  (0) 2021.09.07
Quickdraw dataset  (0) 2021.09.07
[딥러닝] RNN  (0) 2021.05.25
[딥러닝] CNN (Convolution Neural Network)  (0) 2021.05.15
[딥러닝] Optimization  (0) 2021.04.16