Dataset Bias
Ein Datensatz-Bias ist eine Abweichung zwischen den Trainingsdaten und der Welt, in der ein Modell eingesetzt wird, und führt zu ungleichmäßiger Genauigkeit. Hier geht es um die wichtigsten Arten, Beispiele sowie das Erkennen und Beheben solcher Verzerrungen.
Eine Datensatzverzerrung ist eine systematische Abweichung zwischen den Daten, mit denen ein Modell des maschinellen Lernens trainiert wird, und den Menschen, Orten oder Bedingungen, für die das Modell eingesetzt werden soll. Modelle lernen alle Regelmäßigkeiten in ihren Trainingsdaten, auch zufällige Eigenheiten der Datenerfassung. Ein unausgewogener Datensatz führt daher zu einem Modell, das bei häufig vorkommenden Situationen gut und bei allen anderen schlecht funktioniert. Da Testdaten meist aus derselben Datensammlung stammen, bleibt das Problem oft bis zur Bereitstellung verborgen. Antonio Torralba und Alexei Efros veranschaulichten dies 2011 mit einem Spiel namens „Name That Dataset“: Ein einfacher Klassifikator konnte weit besser als durch Zufall erkennen, aus welchem von 12 beliebten Bilddatensätzen ein Bild stammte, weil jede Sammlung ihren eigenen erkennbaren Stil hatte.
Arten von Datensatzverzerrungen#
- Auswahlverzerrung: Daten stammen aus leicht zugänglichen Quellen statt aus der Zielpopulation. Webfotos zeigen überproportional oft wohlhabende westliche Lebensumstände. Kommerzielle Objekterkennungsdienste waren bei Haushaltsgegenständen aus Haushalten mit einem Einkommen unter 50 US-Dollar im Monat ungefähr 10 % ungenauer als bei Haushalten mit einem Einkommen von über 3.500 US-Dollar. Zwischen in den USA und in Somalia oder Burkina Faso fotografierten Gegenständen lag der Unterschied bei 15 bis 20 Prozentpunkten.
- Repräsentationsverzerrung: Manche Gruppen oder Klassen kommen so selten vor, dass das Modell sie nicht erlernen kann. Die Prüfung Gender Shades ergab, dass kommerzielle Geschlechtsklassifikatoren dunkelhäutige Frauen in bis zu 34,7 % der Fälle und hellhäutige Männer höchstens in 0,8 % der Fälle falsch einordneten. Bei der Objekterkennung ist eine lange Verteilung seltener Klassen dasselbe Problem auf Klassenebene.
- Verzerrung durch Messung und Erfassung: Kameras, Sensoren, Standorte und Lichtverhältnisse unterscheiden sich zwischen den Daten und dem späteren Einsatz. Deep-Learning-Modelle zur Erkennung von Lungenentzündungen auf Röntgenaufnahmen des Brustkorbs konnten außerdem erkennen, aus welchem Krankenhaus ein Bild stammte. Da sich die Häufigkeit von Lungenentzündungen zwischen Krankenhäusern unterschied, verbesserte dieses Signal die Genauigkeit künstlich und ließ sich schlecht auf neue Standorte übertragen – eine Form des Lernens über Abkürzungen.
- Beschriftungsverzerrung: Die Datenbeschriftung übernimmt die Einschätzungen der Annotierenden, uneinheitliche Richtlinien oder historische Entscheidungen. Das Modell behandelt diese Muster dann als Wahrheit.
- Zeitliche Verzerrung: Daten aus einem bestimmten Zeitraum passen nicht mehr zur Welt, wenn sich Mode, Produkte und Fahrzeuge verändern.
So zeigt sich eine Datensatzverzerrung#
Ein Wahrnehmungsmodell für autonomes Fahren, das vorwiegend in sonnigen, trockenen Klimazonen trainiert wurde, erkennt Fußgänger bei Schnee, Regen und Dunkelheit weniger zuverlässig. Teams, die autonome Fahrzeuge für den Bereich KI in der Automobilbranche entwickeln, erfassen Nachtaufnahmen und Daten bei schlechtem Wetter, um diese Lücke zu schließen. Bei der medizinischen Bildanalyse schneiden Dermatologiemodelle, die mit überwiegend hellhäutigen Personen trainiert wurden, bei dunkler Haut schlechter ab. Auch Gesichtserkennungssysteme weisen die von Gender Shades gemessenen demografischen Unterschiede auf. In jedem Fall wirkt die Gesamt-Genauigkeit hoch, weil die Mehrheit den Durchschnitt dominiert.
Das folgende Beispiel veranschaulicht den Mechanismus anhand von scikit-learn. Gruppe B folgt einem anderen Muster als Gruppe A. Derselbe Zufallswald wird zweimal mit 1.000 Beispielen trainiert: zuerst macht Gruppe B 2 % der Daten aus, dann werden die Gruppen ausgeglichen:
import numpy as np
from sklearn.ensemble import RandomForestClassifier
rng = np.random.default_rng(0)
def sample(n, group):
"""Draw n points from group A (label set by feature 0) or group B (label set by feature 1)."""
center = 0.0 if group == "A" else 3.0
X = rng.normal(center, 1.0, size=(n, 2))
return X, X[:, 0 if group == "A" else 1] > center
for n_a, n_b in [(980, 20), (500, 500)]: # skewed, then balanced training sets of the same size
Xa, ya = sample(n_a, "A")
Xb, yb = sample(n_b, "B")
model = RandomForestClassifier(random_state=0).fit(np.vstack([Xa, Xb]), np.concatenate([ya, yb]))
acc = {g: model.score(*sample(2000, g)) for g in "AB"} # held-out accuracy per group
print(f"train A:B = {n_a}:{n_b} -> accuracy on A {acc['A']:.3f}, on B {acc['B']:.3f}")Auf dem unausgewogenen Datensatz trainiert, liegt das Modell bei Gruppe A immer richtig (1.000), bei Gruppe B dagegen nur in 76,8 % der Fälle. Werden dieselben 1.000 Beispiele ausgeglichen, steigt der Wert für Gruppe B auf 98,3 %, während er für Gruppe A leicht auf 97,2 % sinkt. Auf einem Testsatz mit derselben Verteilung von 98:2 wie beim unausgewogenen Trainingssatz würde das erste Modell insgesamt etwa 99,5 % erreichen. Der Unterschied zwischen den Gruppen bliebe vollständig verborgen.
Verzerrungen in Datensätzen im Vergleich zu verwandten Konzepten#
- Algorithmische Verzerrung: Eine durch den Entwurf, das Ziel oder den Einsatz eines Modells verursachte Schieflage, etwa ein Verlust, der Mehrheitsklassen bevorzugt. Datensatzverzerrung ist eine wichtige Ursache algorithmischer Verzerrung; beide können sich gegenseitig verstärken.
- Verzerrung in der KI: Ein Oberbegriff für systematische Ungerechtigkeit in KI-Systemen; das Gegenstück ist Fairness in der KI. Der NIST-Standard zur Erkennung und Steuerung von Verzerrungen in der KI ordnet ihre Ursachen systemischen, menschlichen sowie statistischen oder rechnerischen Kategorien zu. Nicht repräsentative Datensätze fallen in die letzte Kategorie.
- Datenverschiebung: Eine Veränderung der Eingabeverteilung nach der Bereitstellung. Datensatzverzerrungen sind bereits bei der Erfassung vorhanden. Eine Datenverschiebung führt später zu einer Abweichung, selbst wenn die ursprünglichen Daten repräsentativ waren.
Datensatzverzerrungen erkennen und verringern#
Verzerrungen in Bilddatensätzen erkennen beginnt mit Dokumentation und einer getrennten Evaluation. Datasheets for Datasets schlägt vor festzuhalten, wer die Daten wie und zu welchem Zweck gesammelt hat, damit Nutzende beurteilen können, wen die Daten repräsentieren. Statt eines einzelnen Durchschnittswerts sollten Kennzahlen für jede Gruppe, jeden Standort, jede Kamera oder jeden Zustand sowie eine Konfusionsmatrix pro Teilmenge angegeben werden. Auch die Daten selbst geben Aufschluss: In Ultralytics Platform zeigt der Tab „Classes“ für jeden Datensatz die Annotationsanzahl pro Klasse. Bei ungleich verteilten Daten lässt sich eine logarithmische Skala zuschalten. Das Clustering-Panel stellt Bild-Einbettungen dar, eingefärbt nach Klasse oder Split, sodass fehlende Datenabdeckung bereits vor dem Training auffällt.
Welche Maßnahmen helfen, hängt von der Ursache ab. Gezielte Datenerfassung für schwache Teilbereiche setzt direkt an der Ursache an, und aktives Lernen hilft dabei, die neu zu beschriftenden Bilder auszuwählen. Datenerweiterung variiert Beleuchtung, Ausrichtung und Maßstab. Synthetische Daten können seltene Bedingungen wie Nachtszenen oder ungewöhnliche Fehler abdecken. Durch Gewichtung oder Überabtastung unterrepräsentierter Beispiele lässt sich das Trainingsziel verändern. Das gilt auch für die Optimierung auf die am schlechtesten abschneidende Gruppe mithilfe einer verteilungsrobusten Optimierung. Nach der Bereitstellung erkennt die nach Teilbereich aufgeschlüsselte Modellüberwachung Lücken, die bei veränderten Bedingungen entstehen.










