Узнайте, как сглаживание меток предотвращает переобучение и улучшает обобщение модели. Узнайте, как реализовать эту технику с помощью Ultralytics для получения лучших результатов.
Сглаживание меток — это метод регуляризации, широко используемый в машинном обучении для улучшения обобщающей способности модели и предотвращения переобучения. При обучении нейронных сетей цель обычно состоит в том, чтобы минимизировать ошибку между прогнозами и реальными данными. Однако, если модель становится слишком уверенной в своих прогнозах — присваивая вероятность, близкую к 100%, одному классу — она часто начинает запоминать специфический шум в учебных данных, а не изучать надежные паттерны. Это явление, известное как переобучение, ухудшает производительность на новых, невиданных примерах. Сглаживание меток решает эту проблему, не позволяя модели делать прогнозы с абсолютной уверенностью, по сути сообщая сети, что всегда существует небольшая погрешность.
Чтобы понять, как работает сглаживание меток, полезно сравнить его со стандартными «жесткими» целями. В
традиционном обучение с учителем, классификационные
метки обычно представляются с помощью кодирование «один-горячий». Например,
в задаче различения кошек и собак изображение «собаки» будет иметь целевой вектор
[0, 1]. Чтобы идеально соответствовать этому, модель продвигает свои внутренние оценки, известные как
логиты, к бесконечности, что может привести
к нестабильным градиентам и неспособности адаптироваться.
Сглаживание меток заменяет эти жесткие 1 и 0 на «мягкие» цели. Вместо целевой вероятности
1.0, может быть назначен правильный класс 0.9, тогда как остальная вероятность
(0.1) распределяется равномерно по неправильным классам. Это тонкое изменение модифицирует цель функция потерь, например
перекрестная энтропия, предотвращая
функция активации (обычно
Софтмакс) от насыщения. Результатом является модель, которая обучается
более плотным кластерам классов в пространстве признаков и дает лучшие
калибровка модели, что означает, что прогнозируемые
вероятности более точно отражают истинную вероятность правильности.
Эта техника особенно важна в областях, где недвусмысленность данных является неотъемлемой чертой или наборы данных подвержены ошибкам маркировки.
Современные фреймворки глубокого обучения упрощают применение этой техники. Используя
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)
Чтобы понять, когда следует использовать сглаживание меток, полезно отличать его от других стратегий регуляризации.
Сглаживание меток, смягчая проблему исчезающего градиента в конечных слоях и стимулируя модель к изучению более надежных характеристик, остается основным элементом современных архитектур глубокого обучения.