Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Loss Function

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

Функция потерь измеряет расхождение между предсказаниями модели и эталонными метками в её обучающих данных, сводя ошибку к одному числу, которое должно быть как можно меньше. Обучение нейронной сети заключается в изменении весов модели, чтобы минимизировать это число. «Функция затрат» и «целевая функция» — распространённые синонимы, хотя в некоторых источниках «потерями» называют ошибку на одном примере, а «затратами» — среднее значение по батчу или набору данных.

Как функция потерь управляет обучением#

Для каждого батча данных обучение повторяет один и тот же цикл. Модель строит предсказания, функция потерь оценивает их относительно меток, а обратное распространение ошибки вычисляет градиент функции потерь по каждому весу. Затем оптимизатор, например стохастический градиентный спуск (SGD) или оптимизатор Adam, делает небольшой шаг для каждого веса против направления его градиента; размер шага задаёт скорость обучения. Поскольку этот процесс основан на градиентах, функция потерь должна быть дифференцируема почти всюду. Графики потерь на обучающей и валидационной выборках после каждой эпохи — стандартный способ отслеживать обучение: рост потерь на валидации при продолжающемся снижении потерь на обучении — классический признак переобучения.

Распространённые функции потерь#

Выбор функции потерь зависит от предсказаний модели; большинство стандартных вариантов доступно в таких фреймворках, как PyTorch:

  • Среднеквадратичная ошибка (MSE): Среднее значение квадратов разностей между предсказанными и истинными значениями; применяется в регрессии. Возведение в квадрат делает крупные ошибки преобладающими, поэтому выбросы сильно влияют на результат.
  • Средняя абсолютная ошибка (L1) и функция потерь Хьюбера: Функции потерь для регрессии, которые линейно растут при больших ошибках и поэтому меньше чувствительны к выбросам. Функция потерь Хьюбера квадратична при малых ошибках и линейна при ошибках выше заданного порога.
  • Кросс-энтропия: Стандартная функция потерь для классификации изображений, вычисляемая по вероятностям softmax для взаимоисключающих классов.
  • Бинарная кросс-энтропия (BCE): Оценивает каждый класс как отдельный ответ «да» или «нет» с помощью сигмоиды. Она подходит для многометочных задач и оценок классов в детекторах.
  • Фокальная функция потерь: Вариант кросс-энтропии, который снижает вес простых примеров, чтобы при сильном дисбалансе классов обучение определяли редкие сложные примеры.
  • Функции потерь на основе IoU: Функции потерь регрессии рамок, построенные на основе пересечения над объединением (IoU); такие варианты, как DIoU и CIoU, добавляют штрафы за расстояние между центрами, а CIoU — ещё и за соотношение сторон.
  • Функция потерь Dice: Функция потерь на основе перекрытия для сегментации изображений, которая остаётся информативной, даже если передний план занимает лишь малую часть пикселей.
  • Контрастивные функции потерь: Функции потерь для контрастивного обучения, которые сближают совпадающие пары в пространстве эмбеддингов и отдаляют несовпадающие.

Кросс-энтропия использует отрицательный логарифм вероятности, присвоенной истинному классу: уверенная ошибка обходится намного дороже неуверенной, а уверенный правильный ответ — почти ничего. В примере с CrossEntropyLoss в PyTorch показан эффект на двух предсказаниях с одинаковой уверенностью:

import torch
from torch import nn

# CrossEntropyLoss applies softmax to raw scores (logits) internally
loss_fn = nn.CrossEntropyLoss()

# Logits for 3 classes; the true class is index 0
target = torch.tensor([0])
confident_right = torch.tensor([[4.0, 0.5, -1.0]])
confident_wrong = torch.tensor([[-1.0, 4.0, 0.5]])

print(f"Confident and right: {loss_fn(confident_right, target).item():.4f}")
print(f"Confident and wrong: {loss_fn(confident_wrong, target).item():.4f}")

Уверенное правильное предсказание даёт потерю 0.0363, а та же уверенность, присвоенная неверному классу, — 5.0363, то есть примерно в 139 раз больше.

Комбинированные функции потерь при обнаружении объектов#

Модели обнаружения объектов предсказывают, где находится каждый объект и что это за объект, поэтому функция потерь при обучении представляет собой взвешенную сумму нескольких слагаемых. YOLO26 объединяет функцию потерь рамок CIoU, функцию классификации BCE и функцию потерь L1 для нормализованных расстояний рамок, которая заменяет Distribution Focal Loss из предыдущих моделей YOLO. Вес каждого слагаемого задают аргументы обучения box, cls и dfl (значения по умолчанию — 7.5, 0.5 и 1.5). Кроме того, Progressive Loss по мере обучения переносит вес с головы «один ко многим» на голову «один к одному», используемую для инференса без NMS.

  • Метрики оценки: Такие метрики, как точность и средняя точность (mAP), оценивают производительность с точки зрения, важной для людей, но большинство метрик меняется дискретными скачками и не даёт градиентов. При обучении минимизируют дифференцируемую функцию потерь как приближение к этим метрикам.
  • Регуляризация: Штрафные слагаемые, добавляемые к функции потерь, чтобы ограничить сложность модели. При L2-регуляризации к функции потерь прибавляется заданный множитель суммы квадратов весов, что побуждает оптимизатор выбирать меньшие веса, которые лучше обобщают данные.
  • Функция вознаграждения: Целевая функция в обучении с подкреплением, где агент максимизирует суммарное вознаграждение вместо минимизации потерь; таким образом, вознаграждение играет роль функции потерь с обратным знаком.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения