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

Функция потерь

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

Функция потери служит математическим компасом, который направляет обучение искусственных нейронных сетей и других алгоритмов машинного обучения. По сути, она количественно оценивает ошибку между прогнозируемыми результатами модели и фактическими «реальными» метками, найденными в учебных данных. Ее можно представить как систему оценки, в которой более низкий балл означает более высокую производительность. В процессе обучения основной целью является постепенное минимизирование этого значения потери. Такая минимизация позволяет модели корректировать свои внутренние параметры, чтобы ее прогнозы более точно соответствовали реальности. Этот процесс осуществляется с помощью алгоритма оптимизации, такого как Adam стохастический градиентный спуск (SGD).

Роль потерь в обучении модели

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

Различные задачи машинного обучения требуют использования определенных типов функций потерь. Для регрессионного анализа, целью которого является прогнозирование непрерывных значений, таких как цены на жилье, стандартным выбором является среднеквадратичная ошибка (MSE). И наоборот, для задач классификации изображений, включающих категориальные данные, обычно используется кросс-энтропийная потеря для измерения расхождения между прогнозируемыми вероятностями и истинным классом. В передовых моделях обнаружения объектов, таких как YOLO26, используются составные функции потерь, которые оптимизируют несколько целей одновременно, сочетая такие метрики, как пересечение над объединением (IoU) для локализации, и специализированные формулы, такие как фокальная потеря распределения (DFL) или варифокальная потеря для уверенности в классе.

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

Функции потерь являются двигателем надежности практически каждого приложения искусственного интеллекта, обеспечивая возможность безопасной работы систем в сложных условиях.

  • Автономное вождение: в сфере автономных транспортных средств безопасность зависит от точности восприятия. Тщательно настроенная функция потерь помогает системе различать пешеходов, другие автомобили и статические препятствия. Минимизируя ошибки локализации во время обучения на таких наборах данных, как nuScenes или KITTI, транспортное средство учится предсказывать точное положение объектов, что жизненно важно для предотвращения столкновений в рамках ИИ в автомобильных решениях.
  • Медицинская диагностика: при анализе медицинских изображений для выявления патологий часто требуется выделение крошечных аномалий из здоровой ткани. Специализированные функции, такие как Dice Loss, используются в задачах сегментации, например при обнаружении опухолей на МРТ-сканах. Эти функции устраняют дисбаланс классов путем значительного снижения оценки модели за пропуск небольшой области интереса, тем самым повышая чувствительность ИИ в инструментах здравоохранения.

Python : расчет потери кросс-энтропии

Хотя высокоуровневые фреймворки, такие как Ultralytics , автоматически обрабатывают вычисление потерь во время обучения, понимание лежащей в основе математики полезно для отладки. В следующем примере используется PyTorch— бэкэнд для Ultralytics — для вычисления потери между прогнозом и целью.

import torch
import torch.nn as nn

# Define the loss function (CrossEntropyLoss includes Softmax)
loss_fn = nn.CrossEntropyLoss()

# Mock model output (logits) for 3 classes and the true class (Class 0)
# A high score for index 0 indicates a correct prediction
predictions = torch.tensor([[2.5, 0.1, -1.2]])
ground_truth = torch.tensor([0])

# Calculate the numerical loss value
loss = loss_fn(predictions, ground_truth)
print(f"Calculated Loss: {loss.item():.4f}")

Дифференциация смежных понятий

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

  • Функция потерь и метрики оценки: Функция потерь является дифференцируемой и используется во время обучения для обновления весов. В отличие от этого, метрики оценки, такие как точность, прецизионность и средняя средняя прецизионность (mAP), используются после обучения для оценки производительности в понятных для человека терминах. Модель может эффективно минимизировать потерю, но при этом страдать от низкой точности, если функция потерь не полностью коррелирует с реальной целью.
  • Функция потерь против регуляризации: в то время как функция потерь направляет модель к правильному предсказанию, методы регуляризации (такие как штрафы L1 или L2) добавляются в уравнение потерь, чтобы предотвратить переобучение. Регуляризация препятствует созданию чрезмерно сложных моделей, налагая штрафы на большие веса, что помогает системе лучше обобщать невиданные тестовые данные.
  • Функция потерь против функции вознаграждения: в обучении с подкреплением агент учится, максимизируя совокупное «вознаграждение», а не минимизируя потери. Хотя концептуально они являются обратными, оба служат в качестве целевой функции, которая управляет процессом оптимизации.

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

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

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