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

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

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

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

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

Основная цель создания Focal Loss заключается в улучшении производительности одноэтапных детекторов объектов, таких как ранние версии RetinaNet и современные архитектуры, такие как Ultralytics YOLO11. В этих системах детектор сканирует изображение и генерирует тысячи мест-кандидатов. Поскольку большую часть изображения обычно составляет фон, соотношение фона к объекту часто может составлять 1000:1 и выше.

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

Механизм и функциональность

Фокальная потеря является расширением стандартной Cross-Entropy Loss, используемого в бинарной классификации. Он вводит модулирующий фактор, который уменьшает вклад потерь по мере увеличения уверенности в правильности класса. Когда модель встречает "легкий" пример - например, чистый участок неба, который она правильно идентифицирует как фон с высокой вероятностью, модулирующий фактор приближает потери к нулю. И наоборот, для "трудных" примерах, где предсказание модели неверно или неопределенно, потери остаются значительными.

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

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

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

  • Автономное вождение: В контексте автономных транспортных средств, система технического зрения должна detect пешеходов, велосипедистов и дорожные знаки. В типичном видеоизображении подавляющее большинство пикселей представляют собой дорогу, небо или здания. дорога, небо или здания, в то время как критические препятствия видны редко. Фокусная потеря помогает системе восприятия игнорировать обильные данные о поверхности дороги и сосредоточиться на идентификации потенциально опасных динамических объектов, которые появляются нечасто, но имеют большое значение для ИИ в автомобильных решениях.
  • Медицинская диагностика: На сайте Анализ медицинских изображений, выявление аномалий, таких как опухоли или переломы, является классической проблемой "иголка в стоге сена". Сканирование здорового мозга состоит почти полностью состоит из здоровой ткани, а опухоль занимает лишь малую часть объема. Использование фокальной потери позволяет ИИ в медицинских моделях учиться на немногих пикселей, отражающих патологию, не подвергаясь влиянию подавляющего количества здоровых тканей, что повышает чувствительность диагностических инструментов.

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

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

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss with a gamma of 1.5
criterion = FocalLoss(gamma=1.5)

# Example: Prediction logits (before activation) and Ground Truth labels (0 or 1)
preds = torch.tensor([[0.1], [2.5], [-1.0]], requires_grad=True)
targets = torch.tensor([[0.0], [1.0], [1.0]])

# Compute the loss
loss = criterion(preds, targets)
print(f"Focal Loss value: {loss.item():.4f}")

Связь с другими концепциями

Полезно отличать Focal Loss от родственных терминов в ландшафте функций потерь:

  • Фокальная потеря по сравнению с кросс-энтропией: Потеря перекрестной энтропии - это базовая функция, которая одинаково относится ко всем примерам. Фокальная потеря строится строго на основе перекрестной энтропии, добавляя модулирующего фактора для устранения дисбаланса. Если параметр фокусировки (гамма) установлен на 0, Focal Loss эффективно возвращается к стандартной кросс-энтропии.
  • Фокальная потеря по сравнению с IoU : В то время как фокальная потеря направлена на классификацию (что является объектом?), такие функции, как Пересечение над объединением (IoU) и ее вариантыGIoU, CIoU), занимаются локализацией (где находится объект?). Современные детекторы, такие как YOLO11 обычно используют комбинированную функцию потерь, сочетая фокальные потери для предсказания класса и потери IoU для регрессию на граничные рамки.
  • Фокальная потеря против варифокальной потери: Варифокальная потеря - это дальнейшая эволюция, в которой положительные и отрицательные примеры рассматриваются асимметрично. Он использует оценку IoU для взвешивания положительных приоритет отдается примерам с более высокой точностью локализации, в то время как стандартный Focal Loss обрабатывает все положительные примеры одинаково.

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

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

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