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










