Label Smoothing Л

Метод регуляризации в машинном обучении, который заменяет жёсткие one-hot метки на «мягкие» вероятностные распределения, снижая переобучение и повышая калибровку модели.

English Label Smoothing, Label Smoothing Regularization
Синонимы LS, сглаживание меток, label smoothing regularization, LSR

Label Smoothing — метод регуляризации, применяемый при обучении нейросетей для задач классификации. Вместо «жёстких» меток, где правильный класс кодируется единицей, а остальные — нулями (one-hot encoding), модель обучается на «мягких» вероятностных распределениях. Например, при пяти классах и параметре сглаживания 0.1 правильная метка становится не (0, 0, 1, 0, 0), а (0.025, 0.025, 0.9, 0.025, 0.025).[reference:0] Такая модификация целевых значений заставляет модель быть менее категоричной в предсказаниях.

Метод был предложен Кристианом Сегеди и коллегами в 2016 году в работе о архитектуре Inception и с тех пор широко применяется в компьютерном зрении, обработке текстов и распознавании речи.[reference:1]

Как это работает

Стандартное обучение с кросс-энтропией стремится привести выходы softmax к one-hot вектору: вероятность правильного класса → 1, остальных → 0. Это требует, чтобы логиты правильного класса уходили в +∞, а остальных — в −∞, что ведёт к огромным весам и переобучению.[reference:2]

Label Smoothing ограничивает этот процесс. Целевое распределение становится линейной комбинацией one-hot вектора и равномерного распределения: q'(k) = (1 − ε)·q(k) + ε/K, где ε — сила сглаживания, K — число классов.[reference:3] При ε = 0 метод вырождается в стандартную кросс-энтропию, при ε → 1 модель обучается предсказывать равномерное распределение.

С точки зрения оптимизации, label smoothing добавляет в функцию потерь слагаемое, штрафующее за уверенность модели. Модель больше не может «бесконечно» увеличивать логит правильного класса, поскольку целевая вероятность для него теперь меньше единицы.

Зачем это нужно

Основная практическая ценность — борьба с переобучением и излишней уверенностью модели. Нейросети часто выдают высокие вероятности даже для ошибочных предсказаний. Label Smoothing делает распределение выходов более «осторожным», что улучшает калибровку: уверенность модели начинает лучше соответствовать реальной точности.

Метод особенно полезен в задачах с шумными метками, при ограниченном объёме данных, а также в сценариях, где важна не только точность, но и надёжность вероятностных оценок. В трансформерных архитектурах, включая оригинальный Transformer для машинного перевода, label smoothing с ε = 0.1 используется по умолчанию.[reference:4]

Примеры

  • Классификация изображений (ImageNet): в сети Inception-v3 сглаживание меток с ε = 0.1 снизило топ-1 ошибку примерно на 0.2–0.3 п.п. по сравнению с обучением на one-hot метках.
  • Машинный перевод (Transformer): модель «Attention Is All You Need» обучалась с label smoothing 0.1, что улучшило BLEU-метрику и снизило переобучение на малых корпусах.
  • Классификация текста (BERT, RoBERTa): эксперименты показывают рост точности на 0.5–2.3 п.п. в зависимости от архитектуры и датасета при добавлении сглаживания меток.[reference:5]
  • Дистилляция знаний: учитель, обученный с label smoothing, передаёт ученику более «мягкие» логиты, что может как помогать, так и вредить — эффект зависит от температуры и задачи.[reference:6]

Формула или метрика

Сглаженная метка для класса k вычисляется как:

ykLS = (1 − ε) · yk + ε / K

где yk — исходная one-hot метка (1 для правильного класса, 0 для остальных), ε ∈ [0, 1) — параметр сглаживания, K — число классов.[reference:7]

Функция потерь принимает вид:

LLS = −(1/N) Σn Σc [(1 − ε)·δ(c, cn) + ε/K] · log qθ(c | xn)

где qθ — предсказанная вероятность класса c для примера xn.[reference:8]

Типичные ошибки

  • Слишком высокий ε. При ε > 0.2 модель может потерять способность различать классы, особенно если они семантически близки. Типичный диапазон — 0.05–0.1.
  • Применение без учёта задачи. В задачах с очень большим числом классов (например, языковое моделирование с десятками тысяч токенов) равномерное сглаживание по всем классам вносит сильный шум. Для таких случаев разработаны адаптивные варианты.
  • Игнорирование влияния на дистилляцию. Учитель с label smoothing передаёт ученику «размытые» логиты, что может ухудшить качество дистилляции при высоких температурах.[reference:9]
  • Отсутствие валидации. Оптимальное ε зависит от датасета и архитектуры; его подбор «на глаз» без кросс-валидации часто даёт субоптимальный результат.

Как улучшить

  • Подбирайте ε экспериментально. Начните с 0.1, затем протестируйте 0.05 и 0.2 на валидационной выборке. Для небольших датасетов более сильное сглаживание может помочь, для больших — навредить.
  • Используйте адаптивные схемы. Для задач с большим числом классов рассмотрите сглаживание только по top-k наиболее вероятным альтернативам или семантически близким классам вместо равномерного по всем.
  • Комбинируйте с другими регуляризаторами. Label Smoothing хорошо работает в паре с dropout, weight decay и аугментацией данных, но требует пересмотра их интенсивности.
  • Мониторьте калибровку. Оценивайте ECE (Expected Calibration Error) до и после добавления сглаживания — это покажет, действительно ли метод улучшает надёжность вероятностей.
  • Учитывайте взаимодействие с дистилляцией. Если планируете дистиллировать модель, обучайте учителя без label smoothing или с минимальным ε, чтобы сохранить «информативные» логиты.

Источники

Szegedy et al. — «Rethinking the Inception Architecture for Computer Vision» (CVPR 2016, DOI: 10.1109/CVPR.2016.308) — оригинальная работа, предложившая label smoothing.

Müller, Kornblith, Hinton — «When Does Label Smoothing Help?» (NeurIPS 2019, arXiv:1906.02629) — анализ влияния на калибровку и дистилляцию знаний.

Lienen, Hüllermeier — «From Label Smoothing to Label Relaxation» (AAAI 2021, DOI: 10.1609/aaai.v35i10.17037) — теоретическое обоснование и обобщение метода.

ICML 2025 — «Calibrated Language Models and How to Find Them with Label Smoothing» (Slides, ICML 2025) — применение для калибровки языковых моделей.