Distributionally Robust Optimization
Узнай, как робастная к распределению оптимизация (DRO) подготавливает модели машинного обучения к возможным изменениям данных, и изучи практические примеры компьютерного зрения и советы по оценке.
Дистрибутивно-робастная оптимизация (DRO) — это способ обучить модель или принять решение, когда вероятностное распределение исходных данных неопределенно. Вместо того чтобы оптимизировать модель только по среднему значению обучающего примера, DRO рассматривает набор правдоподобных распределений и ищет решение, которое хорошо работает в наиболее сложных условиях из этого набора. Практическая интуиция здесь проста: если во время обучения камера видит гораздо больше дневных кадров, чем ночных, высокая средняя производительность может скрывать плохие результаты после наступления темноты.
Как работает дистрибутивно-робастная оптимизация#
Обычное обучение минимизирует ожидаемую потерю: средний штраф за ошибки предсказания при предполагаемом распределении данных. В DRO неизвестное реальное распределение представлено множеством неопределенности — набором распределений, которые считаются правдоподобными при имеющихся данных. Затем обучение минимизирует наивысшую ожидаемую потерю среди распределений из этого набора. Это защищает от определенных видов неопределенности, а не от любых изменений, с которыми может столкнуться модель.
Множество неопределенности определяет, что означает «робастный». Оно может допускать изменение пропорций известных групп, например, преобладание ночных изображений над дневными. Кроме того, оно может содержать распределения в пределах выбранного статистического расстояния от наблюдаемого. Расстояние Вассерсена примерно измеряет, какую массу вероятности и на какое расстояние нужно переместить, чтобы превратить одно распределение в другое; документация по расстоянию Вассерсена в SciPy дает интуитивно понятное одномерное объяснение. Руководство Корнеллского университета по управляемой данными робастной оптимизации предоставляет дополнительный контекст создания описаний неопределенности на основе данных.
Более широкое множество неопределенности готовит модель к большим вариациям, но может ухудшить производительность в типичных условиях. Слишком маленькое множество может пропустить важные сдвиги. Поэтому выбор его масштаба требует понимания возможных условий развертывания, а не только удобной математической среды.
Чем DRO отличается от связанных подходов#
DRO занимает промежуточное положение между двумя знакомыми идеями. Традиционная робастная оптимизация готовится к сложным значениям неопределенных входных данных, потенциально рассматривая конкретный экстремальный ввод как худший сценарий. DRO вместо этого рассматривает ожидаемый результат при худшем правдоподобном вероятностном распределении. Обычное эмпирическое обучение рассматривает наблюдаемое распределение как основу для средней потери.
Она также отличается от аугментации данных. Аугментация создает модифицированные обучающие примеры, такие как более темные или повернутые изображения; сама по себе она не оптимизирует множество неопределенности. DRO может дополнять аугментацию, когда эти вариации правдоподобно представляют условия развертывания. Аналогично, дрейф данных описывает изменения, наблюдаемые в данных с течением времени. DRO предвосхищает выбранные изменения до развертывания, в то время как мониторинг дрейфа проверяет, что фактически происходит после него. Ни один из подходов не заменяет другой.
Где это важно в компьютерном зрение#
Рассмотрите дорожную систему обнаружения объектов, которая распознает транспортные средства и пешеходов. В ее видеозаслях могут преобладать четкие дневные сцены, в то время как дождливые ночи редки, но значимы. Целевая функция DRO может рассматривать различные комбинации задокументированного освещения и погодных условий как правдоподобные, мешая модели добиваться хорошего общего бала за счет игнорирования сложных условий. Однако она не может гарантировать распознавание опасностей, отсутствующих как в данных, так и во множестве неопределенности.
При обнаружении дефектов производства камеры и освещение могут различаться на разных производственных линиях. Модель, выбранная исключительно по средней точности инспекции, может пропустить дефекты на менее представленной линии. Если эти линии определены как группы, робастная целевая функция на основе групп может подчеркнуть производительность, когда их пропорции отличаются от обучающей выборки. Это связано со смещением набора данных, но DRO не исправляет неверные метки и не создает примеры дефектов, которые никогда не регистрировались.
Для любого применения держите связанные изображения с одной и той же камеры или объекта вместе при оценке переноса на новые объекты. Перекрестная проверка с учетом групп помогает избежать оценки, которая выглядит сильной, поскольку почти идентичные сцены появляются как в обучающих, так и в валидационных данных.
Практичный рабочий процесс Ultralytics#
Разумная отправная точка — создать обычную базовую линию обучения и валидации перед тем, как рассматривать пользовательскую целевую функцию DRO. Задокументированный рабочий процесс обучения YOLO26 от Ultralytics поддерживает этот короткий пример с использованием встроенного демонстрационного набора данных COCO8:
from ultralytics import YOLO
# Load pretrained detection weights.
model = YOLO("yolo26n.pt")
# Train a small baseline on the built-in example dataset.
model.train(data="coco8.yaml", epochs=3)
# Evaluate on the dataset's validation split.
metrics = model.val(data="coco8.yaml")
print(metrics.box.map)Результатом является общая средняя точность обнаружения (mAP), а не показатель DRO или доказательство робастности. COCO8 полезна для отработки рабочего процесса, а не для оценки производительности в реальных условиях развертывания. Для реального проекта подготовьте репрезентативные условия с отдельной разметкой; используйте режим валидации YOLO на каждом соответствующем отложенном наборе и сравните общие результаты с результатами для конкретных условий.
Реализация актуальной целевой функции DRO требует определения множества неопределенности и изменения оптимизации потерь при обучении. Задокументированный пользовательский рабочий процесс тренера предлагает точки расширения, но приведенный выше базовый код не реализует DRO. Команды, управляющие облачной разметкой, обучением и развертыванием, могут использовать Ultralytics Platform для организации этого более широкого рабочего процесса.
Выбор и проверка правильной защиты#
Начните с конкретного вопроса: Какие сдвиги правдоподобны и какие ошибки они вызовут? Собирайте примеры с соответствующих камер, объектов или условий; сохраняйте независимые тестовые группы; и сравнивайте результаты в худших условиях наряду со средними. Руководство Google по генерализации объясняет, почему нерепрезентативный обучающий набор может ввести в заблуждение, в то время как руководство по измерениям в рамках структуры управления рисками искусственного интеллекта NIST подчеркивает контекстно-зависимую оценку.
После развертывания отслеживайте изменения между обучающими данными и данными обслуживания. DRO наиболее полезна, когда ее множество неопределенности отражает надежную неопределенность; она не заменяет надежный сбор данных, тщательную оценку или непрерывный мониторинг.









