Data Drift
Datenverschiebung bezeichnet eine Abweichung der Produktionsdaten von der Trainingsverteilung, durch die die Genauigkeit sinkt. Hier geht es um Arten der Datenverschiebung, statistische Tests und erneutes Training.
Daten-Drift ist eine Veränderung der statistischen Verteilung der Eingabedaten, die ein bereitgestelltes Modell im Vergleich zu den Daten erhält, mit denen es trainiert wurde. Modelle setzen voraus, dass Produktionseingaben aus derselben Verteilung stammen wie ihre Trainingsdaten. Wird diese Annahme verletzt, kann die Genauigkeit sinken, ohne dass eine Fehlermeldung erscheint oder sich der Modellcode oder die Gewichte ändern. Häufige Ursachen in Bildverarbeitungssystemen sind neue Kameras oder Objektive, veränderte Lichtverhältnisse und Jahreszeiten, ein anderer Kamerawinkel, neue Produktverpackungen sowie Änderungen in vorgelagerten Verarbeitungsschritten, etwa eine andere Bildkomprimierung. Drift zu erkennen und darauf zu reagieren, ist eine Kernaufgabe der Modellüberwachung und des Betriebs von Machine-Learning-Systemen (MLOps).
Arten von Verteilungsverschiebungen#
Ein Klassifikator modelliert die Wahrscheinlichkeit eines Labels bei einer gegebenen Eingabe. Die Verschiebung kann bei den Eingaben, den Labels oder der Beziehung zwischen ihnen auftreten:
- Kovariatenverschiebung: Die Eingabeverteilung ändert sich, während das korrekte Label für eine bestimmte Eingabe gleich bleibt. Ein Detektor, der mit Tageslichtbildern trainiert wurde und plötzlich Dämmerungsaufnahmen erhält, ist von einer Kovariatenverschiebung betroffen, denn ein Auto bleibt ein Auto. Im engeren Sinn bezeichnet Daten-Drift diesen Fall.
- Label-Verschiebung: Auch als Verschiebung der Prior-Wahrscheinlichkeit bezeichnet; die Klassenhäufigkeiten ändern sich. Steigt die Fehlerquote einer Produktionslinie von 1 % auf 5 %, nimmt auch der Anteil echter Alarme unter den Meldungen eines Detektors zu. Dadurch ändert sich seine Präzision, obwohl das Modell und das Erscheinungsbild jedes Fehlers unverändert bleiben.
- Konzept-Drift: Die Beziehung zwischen Eingaben und Labels ändert sich, sodass dieselbe Eingabe nun ein anderes Label erhalten sollte. Betrugsmuster entwickeln sich weiter, wenn Betrüger ihre Methoden anpassen, und durch eine Verschärfung der Qualitätsnorm werden Teile, die zuvor akzeptiert wurden, zu Ausschuss.
Drift kann plötzlich auftreten, etwa nach einem Kameraaustausch, allmählich entstehen, etwa durch zunehmende Verschmutzung des Objektivs, oder wiederkehren, etwa durch jahreszeitliche Veränderungen der Vegetation und Schnee.
Daten-Drift erkennen#
Die Drift-Erkennung vergleicht eine Referenzstichprobe, meist die Validierungsdaten, mit einem aktuellen Produktionsdatenfenster. Ohne Labels prüfen Teams, ob sich die beiden Eingabeverteilungen unterscheiden, etwa mit dem Zwei-Stichproben-Kolmogorow-Smirnow-Test (KS-Test) für stetige Merkmale, einem Chi-Quadrat-Test für kategoriale Merkmale oder dem in der Bonitätsbewertung verbreiteten Population Stability Index (PSI). Rohe Pixel sind zu hochdimensional, um sie direkt zu vergleichen. Daher prüft die Bildüberwachung zusammenfassende Statistiken wie Helligkeit und Schärfe oder die Einbettungen eines vortrainierten Netzwerks. Eine Studie zu Methoden zur Erkennung von Verteilungsverschiebungen ergab, dass Zwei-Stichproben-Tests mit Repräsentationen vortrainierter Klassifikatoren am besten abschnitten. Auch die Ausgaben des Modells liefern ein zweites Signal: Verschiebungen bei der Häufigkeit vorhergesagter Klassen, den Boxen pro Bild oder den Konfidenz-Scores zeigen sich oft, bevor jemand die Genauigkeit misst.
import numpy as np
from scipy.stats import ks_2samp
rng = np.random.default_rng(0)
# Mean brightness (0-255) of 500 training images and two batches of 200 production images
reference = rng.normal(130, 25, 500)
same_light = rng.normal(130, 25, 200)
dusk = rng.normal(110, 25, 200)
# Two-sample Kolmogorov-Smirnov test: a small p-value means the distributions differ
for name, batch in (("same light", same_light), ("dusk", dusk)):
result = ks_2samp(reference, batch)
drifted = result.pvalue < 0.01
print(f"{name}: KS statistic {result.statistic:.3f}, p-value {result.pvalue:.2g}, drift {drifted}")Der aus der Trainingsverteilung gezogene Batch erzielt eine KS-Statistik von 0,046 bei einem p-Wert von 0,91. Der Batch, dessen mittlere Helligkeit um 20 Stufen gesunken ist, erzielt eine KS-Statistik von 0,346 bei einem p-Wert von 1,1e-15 und wird als auffällig markiert. Die KS-Statistik ist der größte Abstand zwischen den beiden kumulativen Verteilungen. Bei sehr großen Stichproben führen selbst harmlose Verschiebungen zu winzigen p-Werten. Deshalb werden Driftwarnungen häufig anhand der KS-Statistik selbst ausgelöst, die die Größe der Verschiebung misst, statt allein anhand des p-Werts.
Auf Drift reagieren#
Nur aktuelle Labels zeigen, ob eine erkannte Verschiebung die Genauigkeit verringert hat. Üblicherweise werden aktuelle Produktionsdaten ausgewählt und beschriftet, anschließend wird darauf die mittlere durchschnittliche Präzision (mAP) oder eine andere Aufgabenmetrik gemessen. Ist die Leistung gesunken, wird das Modell mit einer Mischung aus neuen und ursprünglichen Daten erneut trainiert oder feinabgestimmt. Alte Beispiele bleiben in der Mischung, um katastrophales Vergessen zu vermeiden. Datenerweiterung, etwa durch Helligkeits-, Unschärfe- und Farbänderungen, bereitet ein Modell auf vorhersehbare Variationen vor. Die unüberwachte Domänenanpassung passt ein Modell mithilfe unbeschrifteter Zieldaten an eine neue Domäne an. Auf der Ultralytics Platform zeigt der Tab Monitoring eines dedizierten Endpunkts den zeitlichen Verlauf der mittleren Vorhersagekonfidenz, Klassenanzahlen sowie Größe und Position der Boxen für die verarbeiteten Bilder. Aktuelle Beispiele lassen sich zur Überprüfung und zum erneuten Training in einem Datensatz speichern.
Daten-Drift und verwandte Begriffe#
- Modelldrift: Der Rückgang der Modellleistung im Zeitverlauf, verursacht durch Daten-Drift und Konzept-Drift. Auch als Modellverfall bezeichnet.
- Abweichung zwischen Training und Bereitstellung: Eine Diskrepanz zwischen Trainings- und Produktionsdaten, die durch unterschiedliche Verarbeitung in den beiden Pipelines entsteht, etwa durch eine andere Methode zur Größenanpassung. Sie besteht bereits ab dem ersten Tag der Bereitstellung, statt sich im Laufe der Zeit zu entwickeln.
- Anomalieerkennung: Markiert einzelne Eingaben, die von der Norm abweichen, etwa ein einzelnes beschädigtes Frame. Bei der Drifterkennung werden ganze Verteilungen verglichen und beispielsweise eine Woche mit gleichmäßig dunkleren Bildern erkannt.
- Erkennung von Daten außerhalb der Verteilung (OOD): Bewertet jede Eingabe danach, wie stark sie sich von den Trainingsdaten unterscheidet. So kann das Modell die Vorhersage für diese Eingabe üblicherweise auslassen oder an eine Person weitergeben.










