Функция потерь
Узнайте о роли функций потерь в машинном обучении, их видах, значении и реальных приложениях ИИ, таких как YOLO и обнаружение объектов.
Функция потерь, часто называемая функцией затрат или функцией цели, служит математическим ядром современного машинного обучения (ML).
современных систем машинного обучения (ML) и
систем глубокого обучения (DL). Она количественно оценивает
разницу между предсказанным моделью результатом и реальной истиной, представленной в обучающих данных.
обучающих данных. По сути, функция потерь
вычисляет одно числовое значение, которое представляет собой "ошибку" модели в любой момент времени; высокое значение
указывает на плохую производительность, в то время как низкое значение говорит о том, что прогнозы близки к цели. Основная
задачей на этапе обучения модели является минимизация этого
итеративно минимизировать это значение, тем самым направляя нейронную сеть к более высокой точности.
Механика обучения
Процесс обучения в искусственном интеллекте происходит благодаря обратной связи, обеспечиваемой функцией потерь. Когда
модель обрабатывает пакет данных, она генерирует предсказания, которые немедленно сравниваются с правильными метками
с помощью функции потерь. Вычисленная ошибка - это не просто оценка, а сигнал, используемый для улучшения.
Как только потери вычислены, процесс, называемый
обратное распространение, определяет градиент потерь
относительно параметров модели. Алгоритм оптимизации
алгоритм оптимизации, такой как
Стохастический градиентный спуск (SGD)
или оптимизаторAdam , использует эту информацию о градиенте
для корректировки внутренних весов модели.
Эти крошечные корректировки контролируются определенным
скорость обучения, обеспечивая постепенное сближение модели
к оптимальному состоянию, в котором потери минимальны.
Основные типы функций потерь
Различные
задачи компьютерного зрения
требуют различных математических формул для эффективного измерения ошибок.
-
Средняя квадратичная ошибка (MSE): Преимущественно используется в
Регрессионный анализ, эта функция вычисляет
среднюю квадратичную разницу между расчетными и фактическими значениями. Она полезна при прогнозировании непрерывных
числовых данных, таких как цены на жилье или координаты.
-
Кросс-энтропийные потери: это стандартная функция потерь для
для задач классификации изображений. Она измеряет
производительность модели классификации, выход которой представляет собой значение вероятности между 0 и 1. Она эффективно
эффективно наказывает неправильные прогнозы с высокой степенью достоверности, что очень важно для обучения моделей на таких наборах данных, как
ImageNet.
-
Фокусная потеря: Предназначен для решения проблемы дисбаланса классов,
Focal Loss применяет модулирующее выражение к стандартным
чтобы сфокусировать обучение на classify примерах. Это особенно важно при
обнаружении объектов, когда фон значительно
перевешивает интересующие объекты.
-
ПотеряIoU : варианты
Пересечение над объединением (IoU), такие как
такие как GIoU и CIoU, очень важны для регрессии ограничительных блоков. Они измеряют перекрытие между предсказанным боксом и
и истинной коробкой. Высокопроизводительные модели, такие как
Ultralytics YOLO11 используют эти сложные функции потерь
функции для достижения точной локализации объектов.
-
Потеря кубика: Широко используется в
семантической сегментации, эта функция
измеряет перекрытие между двумя образцами и особенно устойчива к дисбалансу классов в задачах классификации по пикселям
в задачах классификации по пикселям.
Применение в реальном мире
Функции потери работают за кулисами практически каждого успешного приложения ИИ, обеспечивая безопасность и
надежность.
-
Автоматизированное производство: В промышленных условиях,
ИИ в производстве опирается на системы обнаружения дефектов
системы обнаружения дефектов. Функция потерь помогает модели распознать тонкие визуальные различия между идеальным и
дефектным. Минимизируя потери в процессе обучения на
на наборе данных проверки качества, система научится с высокой точностью отмечать аномалии на сборочных линиях, сокращая количество отходов.
-
Медицинская диагностика: В области
Анализ медицинских изображений, такие модели, как
U-Net, используют Dice Loss или взвешенную перекрестную энтропию для
для выявления патологий. Например, при обучении на наборе данных
наборе данных для обнаружения опухолей мозга, функция потерь
функция потерь сильно наказывает модель, если она пропускает раковые пиксели, направляя ее на то, чтобы точно segment опухоли от здоровых тканей.
здоровых тканей, что крайне важно для
ИИ в медицинских процессах.
Пример на Python : Мониторинг потерь
При использовании высокоуровневых фреймворков расчет убытков часто автоматизируется. Следующий пример демонстрирует
обучение модели YOLO11 , где функция потерь автоматически выбирается и вычисляется для оптимизации производительности. Цикл
цикл обучения выводит значения потерь (box loss, class loss и т. д.) после каждой эпохи.
from ultralytics import YOLO
# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset
# The loss functions (IoU, DFL, Cls) are automatically applied and minimized
results = model.train(data="coco8.yaml", epochs=3, imgsz=640)
# Loss metrics are recorded in the results object
print("Final Box Loss:", results.results_dict.get("train/box_loss"))
Отличие от смежных понятий
Для полного понимания процесса обучения полезно отличать функцию потерь от других метрик и компонентов.
компонентов.
-
Функция потерь и метрики оценки: Хотя оба показателя измеряют производительность, они служат для разных целей.
Функция потерь является дифференцируемой и используется во время обучения для обновления весов (например, Log Loss).
Такие метрики оценки, как
Точность,
точность и
Средняя точность (mAP) используются
после обучения, чтобы определить, насколько хорошо работает модель в понятных для человека терминах. Модель может эффективно минимизировать
но при этом иметь низкую точность, если функция потерь плохо согласуется с метрикой оценки.
-
Функция потерь и регуляризация: Функция потерь направляет модель к правильному ответу,
в то время как
методы регуляризации
(например, L1, L2 или Dropout) добавляются к уравнению потерь для предотвращения
чрезмерной подгонки. Регуляризация наказывает слишком сложные
модели, гарантируя, что они хорошо обобщаются на новые, неизвестные
тестовых данных.
-
Функция потерь и оптимизация: Функция потерь определяет цель (минимизация
ошибки), в то время как алгоритм оптимизации определяет , как достичь этой цели (обновление весов с помощью градиентов).
Вы можете изучить различные оптимизаторы в
документации поPyTorch .