Distributionally Robust Optimization
Verteilungsrobuste Optimierung trainiert Modelle für die schlechteste plausible Datenverteilung statt für die durchschnittliche, etwa mithilfe von Ambiguitätsmengen oder Group DRO.
Robuste Optimierung unter Verteilungsunsicherheit (DRO) ist ein Ansatz für Training und Entscheidungsfindung, bei dem der erwartete Verlust unter der ungünstigsten Verteilung innerhalb einer Menge plausibler Datenverteilungen minimiert wird, statt nur unter der Trainingsverteilung. Beim Standardtraining, der empirischen Risikominimierung (ERM), wird angenommen, dass zukünftige Daten den Trainingsdaten ähneln. Dabei wird der durchschnittliche Verlust minimiert. DRO geht davon aus, dass reale Daten in begrenztem Umfang abweichen, und optimiert für den schwierigsten Fall innerhalb dieser Grenzen. Die so entstehenden Modelle büßen etwas durchschnittliche Genauigkeit ein, bieten dafür aber stabilere Leistung bei veränderten Bedingungen, etwa wenn eine Kamera im Training viel mehr Aufnahmen bei Tag als bei Nacht gesehen hat.
Mengen möglicher Verteilungen#
Die Menge der Verteilungen, gegen die DRO absichert, heißt Mehrdeutigkeitsmenge oder Unsicherheitsmenge. Ihre Form bestimmt, welche Art von Robustheit das Modell erhält:
- Divergenzkugeln umfassen alle Verteilungen, deren KL- oder Chi-Quadrat-Divergenz von den Trainingsdaten innerhalb eines festen Grenzwerts liegt. Bei der Optimierung werden die Trainingsbeispiele mit dem höchsten Verlust stärker gewichtet, damit das Modell seine schwierigsten Beispiele nicht ignorieren kann. Ein eng verwandtes Ziel, der bedingte Risikowert, mittelt nur den schlechtesten Anteil der Verluste einzelner Beispiele.
- Wasserstein-Kugeln umfassen Verteilungen, die entstehen, wenn Wahrscheinlichkeitsmasse im Eingaberaum über eine begrenzte Distanz verschoben wird. Da die Distanz angibt, wie viel Masse wie weit verschoben wird, erfassen diese Mengen kleine Veränderungen der Eingaben selbst.
- Gruppenmischungen umfassen jede beliebige Neugewichtung bekannter Untergruppen, etwa Tag- und Nachtbilder oder Aufnahmen aus verschiedenen Krankenhäusern. Der ungünstigste Fall entspricht dann einfach der schlechtesten Gruppe.
Wasserstein-DRO ist eng mit adversarialem Training gegen Adversarial Attacks verknüpft, bei dem ebenfalls nahe gelegene Eingaben im ungünstigsten Fall optimiert werden. Die Größe der Menge ist der zentrale Hyperparameter von DRO: Eine große Menge bereitet das Modell auf unrealistische Daten vor und senkt seine typische Genauigkeit, während eine kleine Menge relevante Veränderungen übersieht, die beim Einsatz auftreten.
DRO auf Gruppenebene#
Group DRO, das Shiori Sagawa, Pang Wei Koh, Tatsunori Hashimoto und Percy Liang in einer 2020 veröffentlichten Arbeit vorstellten, ist die am häufigsten verwendete Form von Deep Learning. Dabei wird der Verlust der Gruppe mit der schlechtesten Leistung statt des durchschnittlichen Verlusts über alle Beispiele hinweg minimiert. In der Praxis wird das Gewicht jeder Gruppe von Batch zu Batch beibehalten. Die Gewichte der Gruppen mit dem jeweils höchsten Verlust werden erhöht, und der gewichtete Gruppenverlust wird durch Backpropagation optimiert:
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}")Der durchschnittliche Verlust von 0.48 sieht gut aus, doch die beiden Nachtaufnahmen haben einen durchschnittlichen Verlust von 1.00 gegenüber 0.22 bei den Tagaufnahmen. Ein Aktualisierungsschritt verändert die Gruppengewichte von jeweils 0.50 auf 0.32 für Tag und 0.68 für Nacht. Dadurch steigt der durch Backpropagation optimierte Verlust auf 0.76, und sein Gradient stammt größtenteils aus den Nachtaufnahmen. Über viele Batches hinweg wird das Gewicht immer wieder auf die jeweils schwächere Gruppe verlagert.
Group DRO bekämpft Shortcut Learning direkt. Im Waterbirds-Benchmark zeigen die meisten Trainingsfotos von Wasservögeln Wasser im Hintergrund. Deshalb lernt das Standardtraining den Hintergrund und versagt bei Wasservögeln, die über Land fotografiert wurden. Mit starker Regularisierung steigerten die Autoren die Testgenauigkeit der schwächsten Gruppe von 21.3 % mit ERM auf 84.6 % mit Group DRO. Auch die durchschnittliche Genauigkeit stieg von 95.7 % auf 96.6 %. Regularisierung ist wichtig, weil ein großes Netz den Trainingsverlust jeder Gruppe auf null senken kann. Dann hat das DRO-Ziel keine Gruppe mehr, die es bevorzugt berücksichtigen kann.
Für Group DRO muss die Gruppe jedes Trainingsbeispiels bekannt sein. Wenn die Gruppenzugehörigkeit unbekannt ist, kann eine Chi-Quadrat-Divergenzkugel als Ersatz dienen: Tatsunori Hashimoto und seine Kollegen zeigten 2018, dass die Minimierung des Worst-Case-Verlusts innerhalb einer solchen Kugel jede ausreichend große Untergruppe schützt, ohne dass ihre Mitglieder bekannt sein müssen.
Die schlechtesten Gruppen finden#
Welche Gruppen wichtig sind, lässt sich oft anhand von Fehlern erkennen. Für mit einer gespeicherten Datensatzversion trainierte YOLO26-Objekterkennungsmodelle bietet die Ultralytics Platform Diagnosen für einzelne Bilder. Sie sortieren Validierungsbilder nach dem F1-Wert des jeweiligen Bildes, stellen Zusammenhänge zwischen dem F1-Wert und Bildgröße, Seitenverhältnis sowie Anzahl der Instanzen her und listen die Klassen auf, die am häufigsten in den schwächsten Bildern vorkommen. Zusammen zerlegen diese Funktionen eine einzelne mittlere durchschnittliche Genauigkeit (mAP) in mögliche Gruppen, die gesammelt, überrepräsentiert oder gewichtet werden können.
DRO lässt sich auch weit über die Bildverarbeitung hinaus einsetzen:
- Fairness zwischen Untergruppen: Wenn Gruppen anhand demografischer Merkmale definiert werden, verringert die Minimierung des Verlusts der schlechtesten Gruppe direkt die Leistungsunterschiede.
- Verteilungsverschiebung in der Praxis: Der WILDS-Benchmark der Stanford University testet Modelle auf Verschiebungen wie Gewebeaufnahmen aus verschiedenen Krankenhäusern und Satellitenbilder aus unterschiedlichen Regionen und Jahren. Group DRO zählt zu den üblichen Baseline-Verfahren.
- Operations Research: DRO wird bei der Einsatzplanung für Stromnetze, der Lieferkettenplanung und der Portfolioauswahl angewandt. Bei diesen Aufgaben ist die Nachfrage oder der Preis unsicher, und ein Plan, der nur auf den historischen Durchschnitt abgestimmt ist, kann in einem ungewöhnlichen Jahr katastrophal scheitern.
DRO, Augmentierung und Driftüberwachung#
Datenerweiterung und DRO gehen dasselbe Problem von entgegengesetzten Seiten an. Die Datenerweiterung vergrößert die Vielfalt der gesehenen Daten durch synthetische Variationen der Trainingsbilder. DRO verändert dagegen die Zielfunktion, damit seltene, aber reale Variationen stärker ins Gewicht fallen. Beide Verfahren ergänzen sich gut: Die Datenerweiterung liefert vielfältige Beispiele, und eine DRO-Zielfunktion verhindert, dass die schwierigsten davon im Durchschnitt untergehen. Domänenanpassung wählt einen dritten Weg und passt das Modell mithilfe nicht gekennzeichneter Daten an eine bekannte Zieldatenverteilung an. Nach dem Einsatz machen Monitoring und Erkennung von Datenverschiebungen Veränderungen sichtbar, die keine Unsicherheitsmenge vorhergesehen hat. Diese neuen Bedingungen werden dann zu den nächsten Gruppen, die gesammelt und gewichtet werden.










