Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Сглаживание меток

Узнайте, как сглаживание меток предотвращает переобучение и улучшает обобщение модели. Узнайте, как реализовать эту технику с помощью Ultralytics для получения лучших результатов.

Сглаживание меток — это метод регуляризации, широко используемый в машинном обучении для улучшения обобщающей способности модели и предотвращения переобучения. При обучении нейронных сетей цель обычно состоит в том, чтобы минимизировать ошибку между прогнозами и реальными данными. Однако, если модель становится слишком уверенной в своих прогнозах — присваивая вероятность, близкую к 100%, одному классу — она часто начинает запоминать специфический шум в учебных данных, а не изучать надежные паттерны. Это явление, известное как переобучение, ухудшает производительность на новых, невиданных примерах. Сглаживание меток решает эту проблему, не позволяя модели делать прогнозы с абсолютной уверенностью, по сути сообщая сети, что всегда существует небольшая погрешность.

Механика мягких целей

Чтобы понять, как работает сглаживание меток, полезно сравнить его со стандартными «жесткими» целями. В традиционном обучение с учителем, классификационные метки обычно представляются с помощью кодирование «один-горячий». Например, в задаче различения кошек и собак изображение «собаки» будет иметь целевой вектор [0, 1]. Чтобы идеально соответствовать этому, модель продвигает свои внутренние оценки, известные как логиты, к бесконечности, что может привести к нестабильным градиентам и неспособности адаптироваться.

Сглаживание меток заменяет эти жесткие 1 и 0 на «мягкие» цели. Вместо целевой вероятности 1.0, может быть назначен правильный класс 0.9, тогда как остальная вероятность (0.1) распределяется равномерно по неправильным классам. Это тонкое изменение модифицирует цель функция потерь, например перекрестная энтропия, предотвращая функция активации (обычно Софтмакс) от насыщения. Результатом является модель, которая обучается более плотным кластерам классов в пространстве признаков и дает лучшие калибровка модели, что означает, что прогнозируемые вероятности более точно отражают истинную вероятность правильности.

Применение в реальном мире

Эта техника особенно важна в областях, где недвусмысленность данных является неотъемлемой чертой или наборы данных подвержены ошибкам маркировки.

  • Медицинская диагностика: В области искусственного интеллекта в здравоохранении клинические данные редко бывают однозначными . Например, при анализе медицинских изображений сканирование может показать особенности, которые в высокой степени указывают на заболевание, но не являются окончательными. Обучение с жесткими метками заставляет модель игнорировать эту неопределенность. Применяя сглаживание меток, модель сохраняет определенную степень скептицизма, что жизненно важно для систем поддержки принятия решений, где чрезмерная уверенность может привести к ошибочному диагнозу.
  • Классификация изображений в больших масштабах: Массивные общедоступные наборы данных, такие как 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)

Сравнение со смежными понятиями

Чтобы понять, когда следует использовать сглаживание меток, полезно отличать его от других стратегий регуляризации.

  • vs. Dropout: слой dropout случайным образом деактивирует нейроны во время обучения, чтобы заставить сеть изучать избыточные представления. Хотя оба метода предотвращают переобучение, dropout динамически изменяет архитектуру сети, а сглаживание меток изменяет цель оптимизации (сами метки ).
  • vs. Дистилляция знаний: Обе техники включают обучение на мягких целях. Однако в дистилляции знаний мягкие цели происходят из «учительской» модели и содержат усвоенную информацию (например, «это на 10% похоже на кошку»). В отличие от этого, сглаживание меток использует «неинформативные» мягкие цели, полученные математически (например, «дайте 10% вероятности всем другим классам в равной степени»).
  • vs. Увеличение объема данных: Стратегии увеличения объема данных изменяют входные данные (вращение, кадрирование, окрашивание) для увеличения разнообразия. Сглаживание меток изменяет ожидаемые результаты. Комплексные рабочие процессы обучения на Ultralytics часто сочетают в себе увеличение объема данных, отсев и сглаживание меток для достижения максимальной точности.

Сглаживание меток, смягчая проблему исчезающего градиента в конечных слоях и стимулируя модель к изучению более надежных характеристик, остается основным элементом современных архитектур глубокого обучения.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас