Очаговая потеря
Узнайте, как Focal Loss решает проблему дисбаланса классов при обнаружении объектов, фокусируя обучение на сложных примерах для повышения точности на несбалансированных наборах данных.
Focal Loss - это специализированная функция потерь, разработанная для решения проблемы дисбаланса классов при обучении моделей машинного обучения. Эта проблема особенно часто встречается в задачах обнаружения объектов, где количество фоновых примеров (отрицательный класс) может значительно превышать количество объектов переднего плана, представляющих интерес (положительный класс). Динамически регулируя вес каждого примера, Focal Loss побуждает модель сосредоточить свои усилия по обучению на сложных для классификации примерах, а не перегружать ее большим количеством легко классифицируемых отрицательных примеров. Этот подход значительно повышает точность и производительность моделей, обученных на несбалансированных наборах данных.
Как работает фокальная потеря
Focal Loss - это усовершенствование стандартной Cross-Entropy Loss, которая широко используется в задачах классификации изображений. Ключевым новшеством, представленным в работе RetinaNet исследователями из Meta AI (ранее Facebook AI Research), является модулирующий фактор, который уменьшает вклад потерь от хорошо классифицированных примеров. Это позволяет обновлять модель методом обратного распространения в основном за счет ошибок от трудноклассифицируемых примеров. Функция включает в себя "фокусирующий параметр", который управляет скоростью снижения веса потерь для легких примеров. Отдавая приоритет сложным примерам, алгоритм оптимизации может вносить более значимые коррективы в веса модели, что приводит к улучшению общей производительности, особенно для одноэтапных детекторов объектов, таких как RetinaNet и некоторые версии YOLO. Техническую реализацию Focal Loss вы можете изучить в документации Ultralytics.
Применение в реальном мире
Focal Loss помогает в обучении надежных моделей для различных реальных сценариев, где дисбаланс классов является серьезной проблемой.
- Автономное вождение: При разработке автономных автомобилей модели должны обнаруживать широкий спектр объектов, некоторые из которых появляются нечасто, например пешеходы, велосипедисты или удаленные дорожные знаки. Большую часть изображения может составлять дорога или небо (фон). Focal Loss помогает модели уделять больше внимания этим важным, но редким объектам, чтобы не пропустить их. Это очень важно для создания безопасных и надежных решений на основе ИИ в автомобилях. Обзор проблем в этой области представлен такими учреждениями, как Университет Карнеги-Меллона.
- Медицинская диагностика: при анализе медицинских изображений модели обучаются обнаруживать на снимках аномалии, такие как опухоли или поражения. Часто аномальная область очень мала по сравнению с окружающей здоровой тканью. Фокусная потеря позволяет модели сосредоточиться на выявлении этих тонких, труднообнаруживаемых областей, которые в противном случае могут быть проигнорированы в пользу подавляющего класса фоновых изображений. Это приводит к созданию более точных и надежных диагностических инструментов, как это видно на примере приложений для обнаружения опухолей в медицинских наборах данных.
Сравнение с другими функциями потерь
Важно отличать Focal Loss от других родственных функций потерь, используемых в компьютерном зрении.
- Потеря поперечной энтропии: Focal Loss - это прямая модификация Cross-Entropy Loss. В то время как Cross-Entropy рассматривает все примеры одинаково, Focal Loss вводит термин для уменьшения влияния легких примеров, что делает его более подходящим для несбалансированных обучающих данных. Для более глубокого понимания кросс-энтропии в заметках Стэнфорда по CS231n дается хорошее объяснение.
- Varifocal Loss: Это более современная функция потерь, основанная на принципах Focal Loss. Если в Focal Loss все положительные примеры рассматриваются одинаково, то Varifocal Loss взвешивает их на основе их классификационного балла, придавая больший вес высококачественным положительным примерам. Подробнее о ее конкретной реализации можно узнать из справочника по функциям потерь Ultralytics.
- Потери на основе IoU: Такие функции, как Generalized Intersection over Union (IoU), DIoU и CIoU, используются для измерения точности локализации предсказанного ограничительного поля. Эти функции определяют, где находится объект, в то время как фокальные потери определяют , что представляет собой объект (его классификацию). В современных детекторах, таких как Ultralytics YOLOv8, потери классификации (как Focal Loss) и потери регрессии (как потери на основе IoU) используются вместе для обучения модели.