카테고리 없음

[DL] L1 Loss, L2 Loss, SmoothL1Loss 비교하기

meenham 2024. 8. 15. 12:59

- L1 Loss 와 L2 Loss 그리고 이 둘을 조합한 SmoothL1Loss 는 주로 회귀 문제에서 사용되는 loss function 이다.

- 각각의 특징을 알아보도록 하자

 

 

1. L1 Loss ( MAE Loss ) : 예측값과 실제값의 차이의 절대값의 평균을 계산하는 손실 함수

< 특징 >

  • 장점 : 데이터에 노이즈가 많은 경우, 노이즈의 영향을 덜 받아, 예측이 보다 안정적일 수 있다.
  • 단점 : 예측값과 실제값이 일치하는 구간에서 미분이 불가능하다. 
    • 그렇다면 미분이 불가능한 점이 미치는 영향은 무엇일까?
      • 미분의 좌극한과 우극한이 다르게 정의된다. ( 1 or -1 )
      • 이로 인해 학습 방향이 불분명해질 수 있고, 혹은 미분값이 0이 되어 업데이트가 이루어지지 않을 수도 있다. 
    • 미분값이 0 이 되어 업데이트가 이루어지지 않으면 학습이 멈추는 것인가?
      • 학습은 단일 데이터만으로 진행되는 것이 아닌, batch 로서 진행되기 때문에 학습은 계속된다.

 

2. L2 Loss ( MSE Loss ) : 예측값과 실제값의 차이의 제곱을 평균하는 손실 함수

< 특징 > 

  • 장점 : 미분 불가능한 지점이 없다.
  • 단점 : 제곱으로 인해 노이즈에 민감하게 반응한다. 

3. SmoothL1Loss ( L1 + L2 ) 

 

< 특징 > 

  • 델타 값은 주로 1로 설정된다.
  • 예측값과 실제값의 차이가 클 때에는, L1 loss 처럼 작동하여 아웃라이어의 과도한 영향을 줄인다.
  • 예측값과 살제값의 차이가 작을 때에는, L2 loss 처럼 작동하여 미분이 가능하도록 하고, 아웃라이어에 민감하게 반응하도록 한다.
  • L1 loss 나 L2 loss 에 비해 무조건적으로 우수하지는 않다. 따라서 델타 값을 실험을 통해 잘 설정할 필요가 있다.