Label Smoothing
Узнай, как сглаживание меток (label smoothing) предотвращает переобучение и улучшает обобщающую способность модели. Узнай, как реализовать этот метод с помощью Ultralytics YOLO26 для достижения лучших результатов.
Сглаживание меток (label smoothing) — это метод регуляризации, широко используемый в машинном обучении для улучшения обобщающей способности модели и предотвращения переобучения. При обучении neural networks цель обычно состоит в том, чтобы минимизировать ошибку между предсказаниями и истинными данными. Однако, если модель становится слишком уверенной в своих предсказаниях, присваивая вероятность почти 100% одному классу, она часто начинает запоминать конкретный шум в training data, а не изучать надежные закономерности. Это явление, известное как overfitting, ухудшает производительность на новых, ранее не встречавшихся примерах. Сглаживание меток решает эту проблему, не позволяя модели делать предсказания с абсолютной уверенностью, по сути сообщая сети, что всегда есть небольшой запас для ошибки.
Механика мягких целевых значений#
Чтобы понять, как работает сглаживание меток, полезно сопоставить его со стандартными «жесткими» целями. В традиционном supervised learning классификационные метки обычно представляются с помощью one-hot encoding. Например, в задаче различения кошек и собак у изображения «собаки» будет целевой вектор [0, 1]. Чтобы идеально соответствовать этому, модель подтягивает свои внутренние оценки, известные как logits, к бесконечности, что может привести к нестабильным градиентам и неспособности к адаптации.
Сглаживание меток заменяет эти жесткие 1 и 0 на «мягкие» цели. Вместо целевой вероятности 1.0 правильному классу может быть назначено 0.9, в то время как оставшаяся масса вероятностей (0.1) распределяется равномерно между неправильными классами. Это тонкое изменение модифицирует цель loss function, такой как cross-entropy, предотвращая насыщение activation function (обычно Softmax). В результате получается модель, которая изучает более плотные кластеры классов в пространстве признаков и обеспечивает лучшую model calibration, что означает, что предсказанные вероятности более точно отражают истинную вероятность правильности.
Реальные приложения#
Этот метод особенно важен в областях, где неоднозначность данных является естественной или наборы данных склонны к ошибкам разметки.
- Медицинская диагностика: В области AI in healthcare клинические данные редко бывают черно-белыми. Например, в medical image analysis снимок может показывать признаки, которые сильно указывают на заболевание, но не являются окончательными. Обучение с жесткими метками заставляет модель игнорировать эту неопределенность. Применяя сглаживание меток, модель сохраняет определенную степень скептицизма, что жизненно важно для систем поддержки принятия решений, где излишняя уверенность может привести к ошибочному диагнозу.
- Масштабная классификация изображений: Массивные публичные наборы данных, такие как ImageNet, часто содержат неправильно размеченные изображения или изображения, содержащие несколько валидных объектов. Если модель пытается подогнать эти зашумленные примеры со 100% confidence, она изучает неверные ассоциации. Сглаживание меток служит буфером против шума в метках, гарантируя, что несколько плохих точек данных не приведут к резкому искажению финальных model weights.
Реализация сглаживания меток с помощью Ultralytics#
Современные фреймворки глубокого обучения упрощают применение этого метода. Используя пакет ultralytics, ты можешь легко интегрировать сглаживание меток в свой пайплайн обучения для задач image classification или обнаружения. Это часто делается для того, чтобы выжать максимум производительности из современных моделей, таких как 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)Сравнение со смежными концепциями#
Полезно отличать сглаживание меток от других стратегий regularization, чтобы понимать, когда его использовать.
- по сравнению с Dropout: dropout layer случайно деактивирует нейроны во время обучения, чтобы заставить сеть изучать избыточные представления. Хотя оба метода предотвращают переобучение, dropout динамически изменяет архитектуру сети, в то время как сглаживание меток изменяет цель оптимизации (сами метки).
- по сравнению с дистилляцией знаний: Обе техники предполагают обучение на мягких целях. Однако при knowledge distillation мягкие цели поступают от модели-«учителя» и содержат усвоенную информацию (например, «это на 10% похоже на кошку»). В отличие от этого, сглаживание меток использует «неинформативные» мягкие цели, полученные математическим путем (например, «придать 10% вероятности всем остальным классам поровну»).
- по сравнению с аугментацией данных: Стратегии для data augmentation изменяют входные данные (поворот, кадрирование, цветокоррекция) для увеличения разнообразия. Сглаживание меток изменяет ожидания на выходе. Комплексные рабочие процессы обучения на Ultralytics Platform часто объединяют аугментацию, dropout и сглаживание меток для достижения максимальной точности.
Смягчая проблему vanishing gradient в финальных слоях и побуждая модель изучать более надежные признаки, сглаживание меток остается ключевым элементом в современных архитектурах deep learning.






