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 или с минимальным ε, чтобы сохранить «информативные» логиты.