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

Distributionally Robust Optimization

Распределительно-робастная оптимизация обучает модели на наихудшем правдоподобном распределении данных, а не на среднем, используя множества неоднозначности или group DRO.

Устойчивую к сдвигу распределения оптимизацию (DRO) применяют при обучении и принятии решений: она минимизирует ожидаемые потери при наихудшем распределении среди набора правдоподобных распределений данных, а не только при обучающем распределении. Стандартное обучение, называемое минимизацией эмпирического риска (ERM), предполагает, что будущие данные будут похожи на обучающие данные, и минимизирует среднее значение функции потерь. DRO предполагает, что реальные данные будут отличаться в пределах заданных границ, и оптимизирует модель для наиболее сложного случая в этих границах. В результате модели жертвуют небольшой долей средней точности ради более стабильной работы при изменении условий, например когда во время обучения камера видела гораздо больше дневных, чем ночных кадров.

Множества неоднозначности#

Набор распределений, от которых защищается DRO, называется множеством неоднозначности или множеством неопределённости. Его форма определяет тип устойчивости, который получает модель:

  • Шары дивергенции: включают все распределения, чья дивергенция Кульбака — Лейблера или хи-квадрат от обучающих данных не превышает заданного значения. Оптимизация с учетом таких распределений увеличивает вес обучающих примеров с наибольшими потерями, не позволяя модели игнорировать самые сложные примеры. Близкая по смыслу цель — условный риск, усредняющий только худшую долю потерь по отдельным примерам.
  • Шары Вассерштейна: включают распределения, достижимые перемещением вероятностной массы на ограниченное расстояние в пространстве входных данных. Поскольку расстояние учитывает, сколько вероятностной массы и как далеко перемещается, такие множества охватывают небольшие возмущения самих входных данных.
  • Смеси групп: включают любые изменения весов известных подгрупп, например дневных и ночных изображений или снимков из разных больниц. В таком случае наихудший случай — это просто наихудшая группа.

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

Групповая DRO#

Group DRO, представленная Сиори Сагава, Панг Вэем Ко, Тацунори Хасимото и Перси Ляном в работе, опубликованной в 2020 году, — наиболее широко используемая форма глубокого обучения. Она минимизирует потери на группе с наихудшими результатами, а не средние потери по всем примерам. На практике метод хранит вес каждой группы и переносит его из батча в батч, увеличивает вес групп с наибольшими текущими потерями и распространяет назад взвешенные по группам потери:

import torch

# Per-image losses from one training batch and the condition each image came from
losses = torch.tensor([0.20, 0.30, 0.25, 0.90, 1.10, 0.15])
groups = torch.tensor([0, 0, 0, 1, 1, 0])  # 0 = daytime, 1 = nighttime
group_losses = torch.stack([losses[groups == g].mean() for g in (0, 1)])

# Empirical risk minimization optimizes the average loss over all images
print(f"ERM loss: {losses.mean():.2f}, daytime loss: {group_losses[0]:.2f}, nighttime loss: {group_losses[1]:.2f}")

# Group DRO shifts its group weights toward high-loss groups with an exponentiated-gradient step
group_weights = torch.tensor([0.5, 0.5])  # carried over from earlier batches
group_weights = group_weights * torch.exp(1.0 * group_losses)  # step size 1.0
group_weights = group_weights / group_weights.sum()
dro_loss = (group_weights * group_losses).sum()  # the loss that is backpropagated
print(f"Group weights: day {group_weights[0]:.2f}, night {group_weights[1]:.2f}, group DRO loss: {dro_loss:.2f}")

Средние потери 0.48 выглядят неплохо, но для двух ночных изображений они составляют в среднем 1.00 против 0.22 для дневных. После одного обновления веса групп меняются с 0.50 для каждой до 0.32 для дневных и 0.68 для ночных, поэтому распространяемые назад потери возрастают до 0.76, а градиент в основном определяется ночными изображениями. После многих батчей вес продолжает переходить к группе, которая отстает.

Group DRO напрямую помогает бороться с обучением на нерелевантных признаках. В тесте Waterbirds на большинстве обучающих фотографий водоплавающие птицы изображены на фоне воды, поэтому при стандартном обучении модель выучивает фон и ошибается на фотографиях водоплавающих птиц на суше. Благодаря сильной регуляризации авторы повысили точность тестирования для наихудшей группы с 21.3% при ERM до 84.6% при group DRO, а средняя точность выросла с 95.7% до 96.6%. Регуляризация важна, поскольку большая сеть может свести обучающие потери каждой группы к нулю, и целевой функции DRO будет нечего приоритизировать.

Для Group DRO необходимо знать группу каждого обучающего примера. Если группы неизвестны, вместо них можно использовать шар дивергенции хи-квадрат: Тацунори Хасимото и его коллеги показали в 2018 году, что минимизация наихудших потерь в таком шаре защищает любую достаточно большую подгруппу, даже если неизвестно, кто в нее входит.

Поиск групп с наихудшими результатами#

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

DRO применяют и далеко за пределами компьютерного зрения:

  • Равноправие подгрупп: если группы определяются демографическими признаками, минимизация потерь наихудшей группы напрямую сокращает разрыв в качестве.
  • Сдвиг распределения в реальных условиях: тест WILDS от Стэнфордского университета проверяет модели на сдвигах, например на снимках тканей из разных больниц и спутниковых снимках разных регионов и лет, и включает group DRO в число стандартных базовых методов.
  • Исследование операций: DRO применяют при планировании работы электросетей, управлении цепочками поставок и выборе портфелей, где решения принимаются в условиях неопределенности спроса или цен, а план, настроенный только на исторические средние значения, может серьезно подвести в необычный год.

DRO, аугментация и мониторинг дрейфа#

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

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

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

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

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

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

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