AI VIDEO BRIEFING

라벨 스무딩(Label Smoothing): 과잉 확신·과적합을 줄이는 딥러닝 정규화 기법

라벨 스무딩이 원-핫 정답 벡터를 살짝 부드럽게 만들어 모델의 과잉 확신과 과적합을 줄이는 원리를 설명한다. 교차 엔트로피·최대 가능도와의 관계, 스무딩 정도 알파의 선택, 파이토치에서의 한 줄 적용법까지 차근차근 정리했다.

라벨 스무딩: 모델의 ‘과잉 확신’을 누그러뜨리는 간단한 정규화 기법 영상 대표 이미지

핵심 메시지

  • 라벨 스무딩은 원-핫 정답 벡터를 약간 부드럽게 만들어 모델이 더 잘 일반화하도록 돕는 정규화 기법이다.
  • 핵심은 과잉 확신(overconfidence)으로, 보정되지 않은 모델은 정확도보다 높은 확률을 일관되게 내놓는다.
  • 교차 엔트로피 손실을 최소화하려면 정답 로짓이 나머지보다 훨씬 커야 하는데, 이것이 과적합과 과잉 확신을 부른다.
  • 정답에 1 대신 1-엡실론을, 나머지에 작은 엡실론을 배정하면 로짓 간 격차가 줄어 모델이 더 유연해진다.
  • 분류 신경망이 과적합·과잉 확신을 보일 때 시도하며, 파이토치에서는 인자 하나로 손쉽게 적용한다.

쉽게 이해하기

라벨 스무딩은 한마디로 정답 라벨을 살짝 부드럽게 만들어 모델을 더 견고하게 하고 과잉 확신을 막는 방법이다. 원-핫 벡터 y를 (1-알파)·y + 알파/K 로 변환하는데, K는 클래스 수, 알파는 스무딩 정도를 정하는 하이퍼파라미터다. 알파가 0이면 원래의 원-핫 벡터가, 1이면 완전한 균등 분포가 된다.

문제의 본질은 과잉 확신이다. 보정이 안 된 모델은 실제 정확도가 0.6인 입력에도 0.9를 예측하곤 한다. 개·고양이·말 같은 이미지를 원-핫으로 라벨링하고 모델이 로짓을 출력한 뒤 교차 엔트로피 손실을 계산해 역전파하는 일반적 분류 학습에서 이런 현상이 나타난다.

교차 엔트로피 손실을 최소화하려면 정답 클래스의 로짓이 나머지보다 ‘현저히’ 커야 한다. 교차 엔트로피 최소화가 최대 가능도 추정과 같다는 점은 논문으로 증명됐는데, 이 성질이 두 가지 부작용을 낳는다. 첫째, 모델이 각 학습 예시의 정답에 가득 찬 확률을 배정하도록 학습돼 일반화가 보장되지 않는다. 둘째, 최대 로짓과 나머지 로짓의 격차가 커지도록 부추겨 모델이 덜 유연해진다.

라벨 스무딩을 적용하면 정답 로짓과 나머지의 격차가 눈에 띄게 줄어든다. 직관적으로 정답 클래스의 로짓을 다른 클래스의 로짓에 더 가깝게 묶어두는 셈이다. 손실 함수 측면에서는 정답에 1 대신 1-엡실론을, 나머지에 엡실론을 예측하도록 목표 벡터를 바꾸며, 표준 교차 엔트로피에 이 작은 양의 상수 엡실론과 클래스 수가 결합된 형태가 된다.

구현은 간단하다. fastai 소스의 LabelSmoothingCrossEntropy 클래스는 (1-엡실론)·NLL 손실에 엡실론/클래스수·로그소프트맥스 항을 더해 공식을 그대로 옮긴다. 파이토치에서는 nn.CrossEntropyLoss의 label_smoothing 인자에 0.0~1.0 사이 값을 넣기만 하면 된다. 알파에는 정답이 없어 실험으로 찾아야 하며, 균등 분포 외의 분포도 이론적으로 적용 가능하다.

주요 인사이트

  • 라벨 스무딩은 ‘정답을 100% 확신하라’는 압박을 완화해, 모델이 학습 데이터에 과적합하기 어렵게 만든다.
  • 과잉 확신은 단순히 보기 싫은 현상이 아니라 보정(calibration) 실패로, 예측 확률이 실제 정확도를 과장한다.
  • 교차 엔트로피 최소화가 최대 가능도 추정과 같다는 사실이, 정답 로짓을 과도하게 키우는 근본 원인이다.
  • 소프트맥스를 쓰는 딥러닝 맥락에서 주로 쓰이며, 그 바깥에서는 잘 적용되지 않는다.
  • 알파(엡실론)는 만능 최적값이 없는 하이퍼파라미터이므로 데이터에 맞춰 실험으로 정해야 한다.

자주 묻는 질문

라벨 스무딩은 어떤 문제를 푸는가?

모델의 과잉 확신과 과적합을 줄인다. 정답에 가득 찬 확률을 배정하도록 학습되면 일반화가 어려운데, 정답 라벨을 약간 부드럽게 만들어 로짓 간 격차를 줄임으로써 이를 완화한다.

수식으로는 어떻게 정의되나?

원-핫 벡터 y를 (1-알파)·y + 알파/K 로 바꾼다. K는 클래스 수, 알파는 스무딩 정도다. 손실에서는 정답에 1 대신 1-엡실론을, 나머지에 엡실론을 예측하도록 목표를 바꾼다.

언제 쓰고 어떻게 적용하나?

분류 신경망이 과적합이나 과잉 확신을 보일 때 시도한다. 파이토치에서는 nn.CrossEntropyLoss의 label_smoothing 인자에 0.0~1.0 값을 넣으면 되고, 알파 값은 실험으로 찾는다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#라벨스무딩#정규화#과적합#교차엔트로피#딥러닝