Функция потерь
Узнайте о роли функций потерь в машинном обучении, их видах, значении и реальных приложениях ИИ, таких как YOLO и обнаружение объектов.
Функция потерь, также известная как функция затрат или функция цели, является фундаментальным компонентом машинного обучения (ML) и глубокого обучения (DL). Она определяет разницу - или "потери" - между предсказанным моделью результатом и фактическим значением истины для данного фрагмента данных. Значение, вычисленное функцией потерь, служит мерой того, насколько плохо работает модель. Основная цель в процессе обучения модели - минимизировать это значение, тем самым повышая точность и производительность модели.
Как работают функции потери
Во время каждой итерации обучения модель обрабатывает пакет обучающих данных и делает прогнозы. Затем функция потерь сравнивает эти прогнозы с истинными метками. Более высокое значение потерь указывает на большее расхождение и необходимость коррекции, в то время как более низкое значение потерь означает, что прогнозы модели ближе к реальным значениям.
Это значение потерь очень важно, так как оно является сигналом, необходимым для обучения модели. Этот сигнал используется алгоритмом оптимизации, таким как стохастический градиентный спуск (SGD), для настройки внутренних параметров модели, или весов модели. Процесс обратного распространения вычисляет градиент функции потерь относительно этих весов, указывая направление, в котором следует корректировать веса, чтобы уменьшить потери. Этот итерационный процесс вычисления потерь и обновления весов позволяет модели постепенно сходиться к состоянию, в котором она может делать высокоточные прогнозы.
Общие типы функций потерь
Выбор функции потерь во многом зависит от конкретной задачи, для решения которой предназначена модель. Для разных задач требуются разные способы измерения погрешности. Некоторые распространенные типы включают:
- Средняя квадратичная ошибка (MSE): Популярная функция потерь для задач регрессии, где целью является предсказание непрерывного числового значения. Она вычисляет среднее значение квадратов разностей между предсказанными и фактическими значениями.
- Потеря кросс-энтропии: широко используется для задач классификации изображений. Он измеряет производительность модели классификации, выход которой представляет собой значение вероятности между 0 и 1. Он эффективен при обучении моделей для различения нескольких классов, например при классификации изображений в наборе данных ImageNet.
- Потери от пересечения над объединением (IoU): разновидности IoU важны для задач обнаружения объектов. Эти функции потерь, такие как GIoU, DIoU и CIoU, измеряют расхождение между предсказанным ограничительным боксом и боксом "истины". Они являются неотъемлемой частью обучения точных детекторов объектов, таких как Ultralytics YOLO11.
- Потеря кубика: часто используется в сегментации изображений, особенно в анализе медицинских изображений, для измерения перекрытия между предсказанными и фактическими масками сегментации. Это особенно полезно для обработки дисбаланса классов.
Применение в реальном мире
Функции потерь лежат в основе обучения практически всех моделей глубокого обучения.
- Автономные транспортные средства: При разработке автономных транспортных средств модели обнаружения объектов обучаются распознавать пешеходов, другие автомобили и дорожные знаки. В процессе обучения функция потерь объединяет несколько компонентов: одна часть вычисляет ошибку в классификации каждого объекта (например, автомобиль против пешехода), а другая часть, часто основанная на IoU, вычисляет ошибку в локализации ограничительного поля объекта. Минимизация этой совокупности потерь помогает создать надежные модели для безопасной навигации - ключевого компонента ИИ в автомобильных решениях.
- Медицинская диагностика: в области ИИ в здравоохранении модели типа U-Net обучаются семантической сегментации для выявления опухолей на медицинских снимках. Функция потерь, такая как Dice Loss или комбинация Cross-Entropy и Dice Loss, используется для сравнения предсказанной моделью маски опухоли с маской, аннотированной рентгенологом. Минимизируя эти потери на наборе данных медицинских изображений, модель учится точно выделять патологические области, помогая быстрее и точнее ставить диагноз.
Взаимосвязь с другими ключевыми понятиями
Важно отличать функции потерь от других связанных с ними понятий в ML.
- Функция потерь и метрика оценки: Это очень важное различие. Функции потерь используются во время обучения, чтобы направлять процесс оптимизации. Они должны быть дифференцируемыми, чтобы обеспечить возможность обучения на основе градиента. В отличие от этого, такие оценочные метрики, как Accuracy, Precision, Recall и mean Average Precision (mAP), используются после обучения (на валидных или тестовых данных ) для оценки реальной эффективности модели. Хотя меньшие потери обычно коррелируют с лучшими показателями метрик, они служат разным целям. Подробнее о метриках производительности вы можете узнать из нашего руководства.
- Функция потерь и алгоритм оптимизации: Функция потерь определяет цель - то, что необходимо минимизировать. Алгоритм оптимизации, такой как оптимизатор Адама, определяет механизм минимизации потерь путем обновления весов модели на основе рассчитанных градиентов и скорости обучения.
- Переоценка и недооценка: Контроль потерь на обучающем и проверочном наборах является ключом к диагностике этих распространенных проблем. Переоценка вероятна, если потери при обучении продолжают уменьшаться, а потери при проверке начинают расти. О недостаточной подгонке свидетельствуют высокие значения потерь на обоих наборах. Эти вопросы рассматриваются в таких руководствах, как "Советы по обучению моделей".
Понимание функций потерь необходимо всем, кто занимается построением и обучением моделей искусственного интеллекта. Платформы, подобные Ultralytics HUB, абстрагируют значительную часть этой сложности, автоматически выполняя реализацию и оптимизацию функций потерь, что делает построение передовых моделей компьютерного зрения (CV) более доступным.