Eine gute Datenqualität ist entscheidend für die Zuverlässigkeit von Systemen, die auf Machine Learning und Künstlicher Intelligenz basieren. Data Scientists verbringen daher die meiste Zeit damit, Daten vorzubereiten und Probleme mit der Datenqualität zu lösen. In diesem Blogbeitrag erläutert unser KI-Experte Dr. Julien Siebert das Potenzial kausalitätsbasierter Methoden, Rückschlüsse auf die Datenqualität zu ziehen und den Umgang mit Datenqualitätsproblemen zu unterstützen.
Was ist anders bei KI-/ML-basierter Software?
Anwendungen und Systeme, die auf Künstlicher Intelligenz (KI), Machine Learning (ML), Data Mining oder Statistik basieren, sind Softwarekomponenten, bei denen die Entscheidungsfindung nicht klassisch programmiert wird, sondern auf einem oder mehreren Entscheidungsmodellen beruht, die entweder automatisch (z.B. durch Lernen oder Data Mining) oder auf Basis von Expertenhypothesen entwickelt werden können. Datengetriebene Methoden werden in der Regel dort eingesetzt, wo die klassische »regelbasierte« Programmierung an ihre Grenzen stößt (siehe z.B. Computer Vision oder Natural Language Processing). Als Folge können die Modelle sehr komplex, d.h. nichtlinear sein. Dies bedeutet, dass es schwierig ist, zu erklären und zu verstehen, wie die internen Entscheidungen getroffen werden, und dass eine kleine Störung der Eingaben zu drastischen Änderungen der Ausgaben führen kann (siehe Adversarial Examples). Außerdem kann die Anzahl der möglichen Eingaben nahezu unbegrenzt sein (z.B. alle möglichen Bilder oder Texte). All dies macht das Testen solcher Systeme schwierig.
Datenqualität: Trainingsdaten sind nur ein Ausschnitt der Realität
Die Datenqualität spielt sowohl bei der Entwicklung (»Training«) als auch bei der Bewertung der Systemqualität eine wichtige Rolle. Zunächst ist es wichtig zu erkennen, dass Daten nicht die Realität sind. Daten werden zu einem bestimmten Zweck gesammelt. Als solche bieten sie nur eine vereinfachte Sicht auf das reale System, und einige Aspekte bleiben unberücksichtigt (siehe Abbildung 1). Bei der Entwicklung datengetriebener Software gehen wir davon aus, dass wir Entscheidungen allein auf der Grundlage der Informationen treffen können, die in den Daten enthalten sind. Die Gültigkeit dieser Annahme hängt von der Qualität der Daten ab.
Ursachen für Probleme mit der Datenqualität
Datenqualität ist ein vielschichtiges Thema, doch vereinfacht ausgedrückt können Probleme entweder bei der Datenerfassung (z. B. defekter Sensor) oder im System selbst (z. B. Ausfall einer Komponente, Änderung der Systemumgebung) auftreten. Eine Möglichkeit, die Robustheit der entwickelten datengetriebenen Software gegenüber Datenqualitätsproblemen zu testen und zu verbessern, besteht darin, die Daten zu ergänzen oder Fehler einzufügen und das erwartete Verhalten zu korrigieren. Je nach Kenntnis und Verständnis des zugrundeliegenden Systems und des Datenerhebungsprozesses kann die Simulation von Datenqualitätsmängeln auf beiden Ebenen mehr oder weniger komplex sein.
Datenerweiterung
In der Bildverarbeitung ist es inzwischen üblich, die Trainingsdaten während der Trainingsphase zu erweitern. Beispielsweise kann ein Bild gedreht, beschnitten, in Kontrast und Helligkeit verändert werden usw. (siehe Abbildung 2). Ziel ist es, das System gegenüber diesen Veränderungen robust zu machen. Die zugrundeliegende Hypothese ist, dass diese Veränderungen die Beziehung zwischen den Eingaben und den erwarteten Entscheidungen nicht beeinflussen. Es handelt sich um Änderungen, die den Prozess der Datenerhebung betreffen, nicht aber das System selbst. In gewisser Weise ähnelt dies dem Metamorphic Testing, bei dem Testfälle generiert werden, von denen erwartet wird, dass eine bestimmte (metamorphic) Beziehung zwischen Input und Output bestehen bleibt.
Wenn sich etwas ändert
Datenqualitätsprobleme können auch auftreten, wenn sich das System oder seine Umgebung ändert. Drift und Novelty sind solche Probleme (»Novelty« ist ein Ausreißer, der nicht auf ein Problem bei der Datenerfassung zurückzuführen ist, sondern auf eine tatsächliche Änderung oder ein neues Verhalten des Systems). Der Grund, warum dies problematisch sein kann, ist, dass die Software nun außerhalb des Bereichs ihrer Trainingsdaten arbeitet und extrapolieren muss. Wenn man Glück hat, bleibt die Art der Beziehung zwischen Eingabe- und Ausgabedaten gleich. Vielleicht verschiebt sich der Wertebereich, aber das erstellte Modell kann immer noch die Beziehung erfassen, die es erfassen soll, auch wenn es extrapoliert.
Als Beispiel kann man sich eine Bildklassifikationssoftware vorstellen, die auf die Erkennung deutscher Verkehrsschilder trainiert wurde und in Frankreich eingesetzt wird (siehe Abbildung 3). Einige Verkehrszeichen, wie z.B. Gefahrenzeichen, sehen in den beiden Ländern etwas anders aus. Aber eine Beziehung wie »Dreieck + Rot = Gefahr«, die die Klassifizierungssoftware lernen konnte, bleibt bestehen.
Was passiert, wenn sich das Verhältnis zwischen Eingabe- und Ausgabedaten ändert? Im Beispiel der Software zur Klassifizierung von Verkehrszeichen wäre es möglich, das System in einem anderen Land zu verwenden, z. B. in Australien, wo die Formen der Verkehrszeichen völlig anders sind als in Europa. Die Relation »Dreieck + Rot = Gefahr« wäre hier dann nicht mehr gültig. (Ein detaillierter Vergleich der Verkehrszeichen weltweit ist zu finden unter https://en.wikipedia.org/wiki/Traffic_signs_by_country.)
Wo datengetriebene Ansätze Schwierigkeiten haben
Wären die Daten repräsentativ, bräuchte man sich theoretisch keine Sorgen über Datenqualitätsprobleme wie Drift (oder überhaupt über Datenqualitätsprobleme) zu machen.
Das erste Problem besteht darin, dass die gesammelten Daten selten repräsentativ für das gesamte Spektrum dessen sind, was im System passieren kann: Ausreißer sind definitionsgemäß selten; Drift kann über die Zeit auftreten und in den Daten nicht erfasst werden; Werte können fehlen; die gesammelten Daten können frei von Rauschen sein, während die tatsächlichen Daten es nicht sind, usw.
Das zweite Problem liegt in den Annahmen darüber, wie die Daten im System erzeugt werden, d. h. über die kausalen Effekte im System. Die meisten der heute verwendeten datengetriebenen Methoden (z. B. Maschinelles Lernen) gehen von einer sehr vereinfachten Annahme über die Kausalität aus: Alle Eingaben sind voneinander unabhängig, d. h. sie beeinflussen sich nicht gegenseitig oder werden nicht von externen (nicht gemessenen) Einflussfaktoren beeinflusst.
Rein datenbasierte Methoden enthalten keine Informationen darüber, wie sich die Daten ändern können, und sind daher anfällig für Datenqualitätsprobleme wie Drift oder Novelty.
Wo kausale Modellierung und Inferenz helfen können
Die Berücksichtigung der Kausalität ist nicht einfach, vor allem, wenn die gesammelten Daten die einzigen verfügbaren Informationen über ein System sind. Wären die internen Mechanismen des Systems bekannt, wäre ein nicht datengetriebener Modellierungsansatz (manchmal auch »First Principles Modeling« genannt) wahrscheinlich besser geeignet.
Hier kommen kausale Methoden (kausale Inferenz, kausale Entdeckung) ins Spiel. Sie ermöglichen es, kausale Annahmen zu explizieren und Schlussfolgerungen über kausale Effekte zu ziehen [2]. Es wird zunehmend anerkannt, dass die Vertrauenswürdigkeit und Zuverlässigkeit von KI-basierten Systemen Annahmen und Schlussfolgerungen über Kausalität beinhalten muss [3][4].
Die Nutzung eines Kausaldiagramms kann ebenfalls bei der Identifizierung von Datenqualitätsproblemen helfen. Das Diagramm in Abbildung 3 ist zwar vereinfacht, hilft aber zu verstehen, woher eine Abweichung kommen kann und wie darauf zu reagieren ist. Auch andere Qualitätsprobleme können mithilfe von Kausaldiagrammen erklärt werden: fehlende Werte [5][6], Ausreißer [7] oder auch Fairness [8].
Fazit: Kausalitätsbasierte Methoden bieten Chancen für Machine Learning und ihre Datenqualität
Mit der Entwicklung datengetriebener Software und der zunehmenden Abhängigkeit von ihr steigt der Bedarf an Verlässlichkeit und Vertrauen. Während sich Data Scientists und AI/ML Engineers schon lange mit Fragen der Datenqualität beschäftigen, ermöglichen Kausaldiagramme und kausalitätsbasierte Methoden nun eine fundierte Diskussion und (automatisierte) Argumentation über Datenqualität, Zuverlässigkeit und Vertrauen in datengetriebener Software.
Mehr über das Thema Kausalität:
https://www.iese.fraunhofer.de/blog/causal-inference/
Bibliografie
[1] Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020, November). A simple framework for contrastive learning of visual representations. In International conference on machine learning (pp. 1597-1607). PMLR. https://proceedings.mlr.press/v119/chen20j.html
[2] Pearl, J. (2019). The seven tools of causal inference, with reflections on machine learning. Communications of the ACM, 62(3), 54-60.
[3] Ganguly, N., Fazlija, D., Badar, M., Fisichella, et al. (2023). A review of the role of causality in developing trustworthy ai systems. arXiv preprint arXiv:2302.06975.
[4] Meyer-Vitali, A. (2024). AI Engineering for Trust by Design. 12th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2024), 357-364.
[5] Infante-Rivard C, & Cusson A. (2018). Reflection on modern methods: selection bias-a review of recent developments. Int J Epidemiol., 47(5):1714-1722.
[6] Almeida RJ, Adriaans G, & Shapovalova Y. (2020). Graphical Causal Models and Imputing Missing Data: A Preliminary Study. Information Processing and Management of Uncertainty in Knowledge-Based Systems, 1237, 485-496.
[7] Budhathoki, K., Minorics, L., Blöbaum, P., & Janzing, D. (2022). Causal structure-based root cause analysis of outliers. In International Conference on Machine Learning (pp. 2357-2369). PMLR.
[8] Plecko, D., & Bareinboim, E. (2022). Causal fairness analysis. arXiv preprint arXiv:2207.11385.