Label Smoothing
라벨 스무딩이 과적합을 방지하고 모델 일반화를 향상하는 방법을 알아봅니다. 더 나은 결과를 위해 Ultralytics YOLO26에서 이 기법을 구현하는 방법을 살펴봅니다.
레이블 스무딩은 머신러닝에서 모델의 일반화 성능을 향상하고 과적합을 방지하기 위해 널리 사용되는 정규화 기법입니다. 신경망을 학습할 때 일반적인 목표는 예측값과 정답 간의 오류를 최소화하는 것입니다. 그러나 모델이 예측에 지나치게 확신하여 단일 클래스에 거의 100%의 확률을 할당하면, 강건한 패턴을 학습하기보다 학습 데이터에 포함된 특정 노이즈를 암기하기 시작하는 경우가 많습니다. 과적합이라고 하는 이 현상은 새롭고 관측되지 않은 예제에 대한 성능을 저하시킵니다. 레이블 스무딩은 모델이 절대적인 확신을 바탕으로 예측하지 않도록 하여 이 문제를 해결하며, 이는 본질적으로 네트워크에 항상 작은 오차 가능성이 있음을 알려주는 것입니다.
소프트 타깃의 작동 원리#
레이블 스무딩의 작동 방식을 이해하려면 표준 "하드" 타깃과 비교해 보는 것이 도움이 됩니다. 전통적인 지도 학습에서는 분류 레이블을 일반적으로 원-핫 인코딩을 통해 표현합니다. 예를 들어 고양이와 개를 구분하는 작업에서 "개" 이미지의 타깃 벡터는 [0, 1]가 됩니다. 이를 완벽하게 일치시키기 위해 모델은 로짓이라고 하는 내부 점수를 무한대에 가깝게 높이게 되며, 이로 인해 그래디언트가 불안정해지고 적응하지 못할 수 있습니다.
레이블 스무딩은 이러한 경직된 1과 0을 "소프트" 타깃으로 대체합니다. 타깃 확률을 1.0으로 설정하는 대신 정답 클래스에는 0.9을 할당하고, 나머지 확률 질량(0.1)은 오답 클래스 전체에 균등하게 분배할 수 있습니다. 이러한 미세한 변화는 손실 함수(예: 크로스 엔트로피)의 목적을 수정하여 활성화 함수(일반적으로 Softmax)가 포화되는 것을 방지합니다. 그 결과 모델은 특징 공간에서 클래스별로 더 조밀한 클러스터를 학습하고, 더 나은 모델 캘리브레이션을 수행하게 됩니다. 즉, 예측 확률이 실제 정답일 가능성을 더 정확하게 반영합니다.
실제 적용 사례#
이 기법은 데이터의 모호성이 본질적으로 존재하거나 데이터셋에 레이블 오류가 발생하기 쉬운 분야에서 특히 중요합니다.
- 의료 진단: 헬스케어 분야의 AI에서는 임상 데이터가 명확하게 양분되는 경우가 드뭅니다. 예를 들어 의료 영상 분석에서는 스캔 결과에 특정 질환을 강하게 시사하지만 확정적이지는 않은 특징이 나타날 수 있습니다. 하드 레이블을 사용해 학습하면 모델은 이러한 불확실성을 무시하게 됩니다. 레이블 스무딩을 적용하면 모델이 일정 수준의 신중함을 유지하므로, 과도한 확신이 오진으로 이어질 수 있는 의사 결정 지원 시스템에서 매우 중요합니다.
- 대규모 이미지 분류: ImageNet과 같은 대규모 공개 데이터셋에는 레이블이 잘못 지정된 이미지나 여러 개의 유효한 객체가 포함된 이미지가 있는 경우가 많습니다. 모델이 이러한 노이즈가 있는 예제를 100% 확신도로 맞추려고 하면 잘못된 연관성을 학습하게 됩니다. 레이블 스무딩은 레이블 노이즈에 대한 완충 역할을 하여, 소수의 잘못된 데이터 포인트가 최종 모델 가중치를 크게 왜곡하지 않도록 합니다.
Ultralytics를 사용한 레이블 스무딩 구현#
최신 딥러닝 프레임워크를 사용하면 이 기법을 간편하게 적용할 수 있습니다. ultralytics 패키지를 사용하면 이미지 분류 또는 탐지 작업을 위한 학습 파이프라인에 레이블 스무딩을 쉽게 통합할 수 있습니다. 이는 YOLO26과 같은 최신 기술 수준의 모델에서 추가 성능을 끌어내기 위해 자주 사용됩니다.
다음 예제에서는 레이블 스무딩을 활성화한 상태로 분류 모델을 학습하는 방법을 보여줍니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Train with label_smoothing set to 0.1
# The target for the correct class becomes 1.0 - 0.5 * 0.1 = 0.95 (depending on implementation specifics)
model.train(data="mnist", epochs=5, label_smoothing=0.1)관련 개념과의 비교#
언제 레이블 스무딩을 사용해야 하는지 이해하려면 레이블 스무딩을 다른 정규화 전략과 구분하는 것이 도움이 됩니다.
- Dropout과 비교: Dropout 레이어는 학습 중 뉴런을 무작위로 비활성화하여 네트워크가 중복 표현을 학습하도록 합니다. 두 기법 모두 과적합을 방지하지만, Dropout은 네트워크 아키텍처를 동적으로 변경하는 반면 레이블 스무딩은 최적화 타깃, 즉 레이블 자체를 변경합니다.
- 지식 증류와 비교: 두 기법 모두 소프트 타깃을 사용해 학습합니다. 그러나 지식 증류에서는 소프트 타깃이 "교사" 모델에서 생성되며 학습된 정보(예: "이것은 고양이처럼 10% 보입니다")를 포함합니다. 반면 레이블 스무딩은 수학적으로 도출된 "정보가 없는" 소프트 타깃(예: "다른 모든 클래스에 동일하게 10%의 확률을 부여")을 사용합니다.
- 데이터 증강과 비교: 데이터 증강 전략은 다양성을 높이기 위해 입력 데이터(회전, 자르기, 색상 변경)를 변경합니다. 레이블 스무딩은 출력에 대한 기대값을 변경합니다. Ultralytics Platform의 종합적인 학습 워크플로에서는 최대 정확도를 달성하기 위해 증강, Dropout, 레이블 스무딩을 함께 사용하는 경우가 많습니다.
최종 레이어에서 그래디언트 소실 문제를 완화하고 모델이 더 강건한 특징을 학습하도록 유도함으로써, 레이블 스무딩은 최신 딥러닝 아키텍처에서 여전히 핵심 기법으로 사용되고 있습니다.









