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

Cross-Entropy Loss

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

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

В статье Клода Шеннона «Математическая теория связи» 1948 года были заложены основы энтропии. Д. Ф. Керридж ввёл меру перекрёстной энтропии под названием «неточность» в своей статье 1961 года «Неточность и вывод». В классификации её также называют логарифмической функцией потерь; её используют и логистическая регрессия, и нейронные классификаторы.

Как работает функция потерь на основе перекрёстной энтропии#

Для одного примера с одним правильным классом невзвешенная перекрёстная энтропия равна loss = -ln(p_correct). Если вероятность правильного класса составляет 0.9, значение функции потерь будет около 0.105; если 0.1 — около 2.303. Натуральный логарифм выражает результат в единицах, называемых натами. При обучении эти штрафы обычно усредняют по пакету.

В более общем случае перекрёстная энтропия умножает вероятность каждого целевого класса на отрицательный логарифм его предсказанной вероятности и суммирует результаты по классам. При one-hot-разметке правильному классу присваивается 1, а остальным — 0, поэтому остаётся только слагаемое для правильного класса. Для невзвешенной one-hot-разметки минимизация перекрёстной энтропии эквивалентна максимизации правдоподобия наблюдаемых меток. Обратное распространение ошибки вычисляет градиенты, а градиентный спуск обновляет параметры модели.

Бинарная, категориальная и разреженная перекрёстная энтропия#

Подходящий вариант зависит от разметки:

  • Бинарная перекрёстная энтропия с сигмоидой: Для целевого значения y, равного 0 или 1, и предсказанной вероятности p принадлежности к классу 1 функция потерь равна -[y * ln(p) + (1 - y) * ln(1 - p)]. При многометочной классификации её независимо применяют к меткам, которые могут встречаться одновременно.
  • Категориальная перекрёстная энтропия с softmax: Эта функция оценивает взаимоисключающие классы, вероятности которых в сумме дают 1. Softmax преобразует исходные оценки модели, называемые логитами, в такое распределение.
  • Разреженная категориальная перекрёстная энтропия: Здесь вместо one-hot-вектора используется целочисленный индекс класса. Функция вычисляет то же значение потерь; слово «разреженная» описывает способ кодирования целевой метки.

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

Вычисление перекрёстной энтропии в PyTorch#

PyTorch принимает исходные логиты в CrossEntropyLoss. Для целевых меток в виде индексов классов вычисление эквивалентно последовательному применению log-softmax и отрицательного логарифмического правдоподобия. Если предварительно применить softmax, функция будет интерпретировать вероятности как логиты, что изменит значение потерь и градиенты. Для целевых меток в виде целых чисел используется torch.long; для целевых меток в виде вероятностей используются числа с плавающей точкой, имеющие ту же форму, что и логиты.

import torch
from torch import nn

# Both predictions select class 0; the second is more confident.
logits = torch.tensor([[2.0, 0.0, 0.0], [4.0, 0.0, 0.0]])
targets = torch.tensor([0, 0], dtype=torch.long)
loss_fn = nn.CrossEntropyLoss(reduction="none")

losses = loss_fn(logits, targets)
print(f"Lower confidence loss: {losses[0].item():.4f}")
print(f"Higher confidence loss: {losses[1].item():.4f}")

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

Применение в компьютерном зрении#

При классификации изображений с одной меткой перекрёстная энтропия помогает модели определять один класс для каждого изображения. При обучении классификатора Ultralytics YOLO26 используется средняя перекрёстная энтропия по логитам классов, чтобы обновлять классификатор и приближать его предсказания к размеченной категории.

При сегментации медицинских изображений исходная модель U-Net обучалась на микроскопических биомедицинских изображениях с помощью попиксельного softmax и взвешенной перекрёстной энтропии. Карта весов увеличивала штрафы на границах соприкасающихся клеток, помогая разделять соседние клетки. Такой подход применяет классификацию к каждому пикселю при семантической сегментации.

Интерпретация значений функции потерь#

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

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

Взвешивание классов увеличивает вклад выбранных классов. Фокальная функция потерь уменьшает вклад простых примеров, чтобы компенсировать дисбаланс между фоном и объектами в обнаружении объектов. Для равномерного предсказания невзвешенная логарифмическая функция потерь равна ln(number_of_classes): примерно 0.693 для двух классов и 2.303 для десяти.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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