본문 바로가기
AI/DL

[DL] Label Smoothing (라벨 스무딩) 기법

by hyeok1235 2024. 7. 28.

Label Smoothing (라벨 스무딩)은 딥러닝 모델의 Overfitting을 줄이는 정규화 기법 중 하나입니다.

 

개요

라벨 스무딩은 Classification 문제에서 모델이 더 부드러운 확률 분포를 가지게 합니다. 모델의 일반화 성능을 향상됨에 따라, clustering과 같은 기법에서 넓게 분포된 요소들의 거리를 줄여서 더 tight한 그룹으로 만들어냅니다.

 

Label Smoothing 작동 방식

라벨 스무딩은 원래 0 또는 1을 가지던 기존 값을 0.05, 0.95처럼 조금 더 부드러운 값으로 조정합니다. 라벨 스무딩의 수학적 표현은 다음과 같습니다.

\[  y_{smooth} = (1 - \varepsilon )\cdot y_{one-hot} + \varepsilon / K \]

  • $y_{smooth}$은 스무딩된 라벨 결과 값이고, $ y_{one-hot}$은 원-핫 인코딩된 라벨 값입니다.
  • 은 스무딩 파라미터로, 보통 0.1이나 0.2 같은 작은 값으로 설정됩니다.
  • 는 클래스의 수입니다.

기존의 라벨 값인 원-핫 인코딩 라벨은 $ (1 - \varepsilon )$만큼 곱해서 조금 줄이고, 모든 클래스에 $ \varepsilon $를 분배해서 더 부드러운 분포를 만들게 됩니다. 

 

* One-Hot Encoding (원-핫 인코딩)

범주형(Categorical) 변수를 컴퓨터가 이해할 수 있는 숫자 데이터로 바꾸는 기법입니다. 더 자세히는 벡터로 표현하는 것인데, 집합의 크기를 벡터의 차원으로 하고 표현하고자 하는 값의 인덱스에만 1로 설정하고 나머지는 0으로 설정하는 것입니다. 만약 집합이 [고양이, 강아지, 새]일 때, 강아지를 표현하고자 한다면 [0, 1, 0]으로 나타내게 됩니다. 이 예시에서의 K, 클래스의 수는 3입니다. 

 

해당 이미지는 CIFAR10 데이터셋에서 라벨 스무딩을 적용하지 않았을 때의 학습 결과와 검증 결과(1, 2번)와 적용 했을 때의 학습 결과와 검증 결과 (3, 4번)을 나타냅니다. 라벨 스무딩을 적용했을 때 분포가 더 좁아지는(tight해지는) 것을 확인할 수 있습니다. 

 

Label Smoothing의 효과

✅ 특정 데이터에 맞춰지는 Overfitting을 방지해서 일반화 성능이 높아집니다. 

데이터셋의 노이즈에 대해서 더 Robust해집니다. 

❌ Training Data에 대한 정확도는 조금 감소하게 됩니다. 

주로 분류 문제에만 적용되며, 회귀 문제에는 적용되지 않습니다. 

 

라벨 스무딩 설명 논문 링크:
When Does Label Smoothing Help?
728x90
반응형

'AI > DL' 카테고리의 다른 글

[DL] Drop-out (드롭아웃) 기법  (0) 2024.07.27