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

Очаговая потеря

Узнайте, как Focal Loss решает проблему дисбаланса классов при обнаружении объектов, фокусируя обучение на сложных примерах для повышения точности на несбалансированных наборах данных.

Focal Loss — это специализированная целевая функция, используемая в основном в задачах компьютерного зрения для решения проблемы крайнего дисбаланса классов во время обучения модели. Она особенно ценна в сценариях обнаружения объектов, где количество примеров фона (отрицательных образцов) значительно превышает количество интересующих объектов (положительных образцов). Путем динамического масштабирования штрафа, назначаемого каждому образцу, Focal Loss эффективно снижает вес «легких» — те, которые модель уже может classify высокой степенью уверенности — и заставляет процесс оптимизации сосредоточиться на «сложных» примерах, которые трудно classify. Этот целенаправленный подход предотвращает перегрузку сигнала обучения огромным количеством легких отрицательных примеров, тем самым улучшая точность модели в отношении редких, но критически важных объектов.

Решение проблемы дисбаланса классов

Во многих приложениях глубокого обучения (DL), особенно в одноэтапных детекторах объектов, процесс обучения включает в себя оценку тысяч потенциальных мест на изображении. Большинство из этих мест не содержат объектов и легко идентифицируются как фон. Стандартные функции, такие как Cross-Entropy Loss, одинаково обрабатывают все ошибочные классификации. В результате накопленная ошибка от тысяч простых фоновых образцов может заглушить сигнал от нескольких сложных положительных образцов, что приводит к созданию модели, смещенной в сторону большинства классов.

Focal Loss модифицирует стандартный расчет потери, вводя параметр фокусировки, обычно обозначаемый как гамма ($\gamma$). По мере увеличения вероятности правильного класса (то есть, если пример «легкий»), модулирующий фактор уменьшает вклад потери почти до нуля. И наоборот, для неправильно классифицированных или неопределенных примеров («сложных» случаев) потери остаются значительными. Этот механизм гарантирует, что алгоритм оптимизации обновляет веса модели на основе примеров, которые действительно требуют улучшения, а не просто подтверждает то, что модель уже знает.

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

Способность обрабатывать несбалансированные наборы данных делает Focal Loss краеугольным камнем современных решений искусственного интеллекта в критически важных для безопасности и высокоточных областях.

  • Медицинская диагностика: при анализе медицинских изображений выявление патологий часто представляет собой проблему «иголки в стоге сена». Например, при обнаружении небольших поражений на компьютерной томограмме здоровые ткани составляют 99 % изображения. Стандартная функция потерь может достичь высокой точности, просто предполагая «здоровое» состояние для каждого пикселя. Благодаря внедрению Focal Loss модели, используемые в ИИ в здравоохранении, могут игнорировать обильные здоровые ткани и сосредоточить обучение на редких, едва заметных признаках опухолей или переломов, что значительно улучшает точность обнаружения, спасающего жизни.
  • Автономное вождение: системы, управляющие автономными транспортными средствами, должны detect , велосипедистов и мусор на фоне дорог, зданий и неба. Фон легко распознается, но мелкие, далекие препятствия представляют сложность. Focal Loss позволяет системе восприятия приоритезировать этиdetect , гарантируя, что автомобиль не пропустит критические опасности, даже если они занимают лишь небольшую часть поля зрения . Это крайне важно для надежного обнаружения пешеходов и общей безопасности.

Реализация с помощью Ultralytics

Сайт ultralytics библиотека включает оптимизированные реализации функций потерь для поддержки обучения современных моделей, таких как YOLO26. В то время как обучение высокого уровня автоматизировано с помощью Платформа Ultralytics, разработчики могут получить доступ к определенным компонентам потерь для пользовательских трубопроводов.

Следующий пример демонстрирует, как инициализировать Focal Loss и вычислить ошибку между оценками предсказания и целевыми метками с помощью ultralytics пакет утилит.

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss with a standard gamma value
# Gamma=1.5 aggressively down-weights easy examples
criterion = FocalLoss(gamma=1.5)

# Example: Predictions (logits) and binary Ground Truth labels
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])

# Calculate the loss
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")

Отличие от смежных понятий

Понимание того, как Focal Loss вписывается в более широкий контекст измерения ошибок, помогает выбрать правильную стратегию обучения.

  • Фокальная потеря против кросс-энтропийной потери: Кросс-энтропийная потеря — это основной показатель для классификации, который наказывает прогнозы на основе логарифмической ошибки. Фокальная потеря — это строгое расширение кросс-энтропии. Если параметр фокусировки установлен на ноль, фокальная потеря математически возвращается к стандартной кросс-энтропии. Ключевое отличие заключается в способности фокальной потери снижать вес простых отрицательных результатов.
  • Focal Loss vs. IoU : В то время как Focal Loss предназначен для классификации (определения того, что представляет собой объект), Intersection over Union (IoU) используется для локализации (определения местоположения объекта). Современные детекторы, такие как YOLO11 и YOLO26 используют составную функцию потерь, которая объединяет Focal Loss (или его варианты, такие как Varifocal Loss) для вероятностей классов и потерю IoU для регрессии ограничивающей рамки.
  • Focal Loss против OHEM: Online Hard Example Mining (OHEM) — это более старая стратегия, которая полностью отбрасывает простые примеры и обучает только самые сложные из них в партии. Focal Loss в настоящее время предпочтительнее, поскольку использует непрерывный коэффициент масштабирования, а не жесткое ограничение, обеспечивая более плавный и стабильный сигнал обучения из всех данных обучения.

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

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

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