KI & Daten

Anomalie-Erkennung als Modellüberwachung

Überwachung der so genannten Konzeptdrift bei laufenden Machine-Learning-Modellen mit Anomalieerkennung. Wie wir unsere Theorie bei unserem internen Hackathon bewiesen haben.

Oktober 2022
13
min Lesezeit
Alexander Schober
Project Owner - AI Cluster
Experte für Knowledge Graphs, Daten und KI
Diesen Beitrag teilen

Zuverlässige Modelle zur Erkennung von Concept Drift sind erforderlich, um KI-Systeme, insbesondere solche mit hohem Risiko, angemessen zu überwachen. Wie wir in unserem letzten Artikel erläutert haben, sind aktuelle Methoden zur Erkennung von Concept Drift nicht ideal für die Arbeit mit komplexen Datenströmen, wie z. B. Bilder in einem visuellen Qualitätssicherungssystem. Die meisten Methoden und Tools konzentrieren sich auf Fälle mit vorhandenen Ground-Truth-Labels - in vielen realen Szenarien hat man jedoch keinen Zugang zu solchen Labels, zumindest nicht ohne zusätzlichen Aufwand. Gibt es also andere Möglichkeiten?

Wie die Erkennung von Anomalien als Auslöser für Konzeptabweichungen funktioniert

Treten wir einen Schritt zurück und denken wir über das zugrunde liegende Problem nach, das wir lösen wollen. Das Ziel ist eine idealerweise universelle Methode zur Erkennung von Änderungen in den Eingabedaten, um zu wissen, wann ein Modell neu trainiert werden muss. In unserem vorangegangenen Artikel haben wir festgestellt, dass Kennzeichnungen oft nicht verfügbar oder sehr teuer in der Erstellung sind. Das bedeutet, dass wir uns auf unüberwachte Methoden konzentrieren sollten, wenn wir unser Problem der Konzeptabweichung universell lösen wollen.


Unüberwachte Erkennung von Anomalien ohne Kennzeichnung

Was versuchen die in der Literatur beschriebenen unüberwachten Methoden also zu erreichen? Sie wollen die aktuelle Verteilung der Proben mit einer Referenzverteilung vergleichen, z. B. mit der Verteilung während des Trainings. Wenn wir dieses Problem auf der Ebene einzelner Stichproben betrachten, können wir erstaunliche Ähnlichkeiten zur Erkennung von Abweichungen von der Verteilung (auch bekannt als Anomalieerkennung) feststellen.

Bei der Out-of-Distribution-Erkennung besteht das Ziel darin, einzelne Instanzen zu identifizieren, die nicht zur ursprünglichen Trainingsverteilung gehören. Dieser Bereich wird in einer Vielzahl von Anwendungsfällen ausgiebig erforscht, und Methoden aus diesem Bereich werden häufig in realen Anwendungsfällen eingesetzt. Methoden in diesem Bereich geben einen einzigen Wert zurück: einen Out-of-Distribution-Score, der darstellen soll, wie weit die Datenprobe von der ursprünglichen Trainingsverteilung entfernt ist.

Wir können die durchschnittlichen Werte außerhalb der Verteilung über ein gleitendes Fenster von Stichproben aus einem Datenstrom als den Abstand der Datenverteilung im Erkennungsfenster zur Trainingsverteilung des Anomalieerkennungsmodells interpretieren. Die Ausführung eines Anomalieerkennungsmodells auf einem Datenstrom und die Betrachtung des laufenden Mittelwerts über seine Anomaliewerte stellen daher zwei Teile eines allgemeinen Konzepts für einen Driftdetektor dar. Er modelliert die Daten und berechnet den Abstand zwischen den beiden Verteilungen.

Es ist sinnvoll, die Fähigkeit von Out-of-Distribution-Modellen zu nutzen, um den Abstand einer neuen Stichprobe zur ursprünglichen Trainingsverteilung zu bewerten, da sie weit verbreitet und intensiv erforscht sind. Folglich sollte der Durchschnitt der Werte außerhalb der Verteilung ein aussagekräftiges Maß dafür sein, wie weit die Daten gedriftet sind. Diese Idee wird durch die Tatsache verstärkt, dass einige Ansätze wie FAAD und STUDD von der Anomalieerkennung inspiriert sind. Die Idee, dass Anomalieerkennungsmodelle bei der Erkennung von Concept Drift gute Arbeit leisten, wurde in der Literatur jedoch noch nicht erforscht.


Testen von Modellen zur Erkennung von Anomalien als Concept Drift-Detektor

Das war die Theorie, aber ist unsere Hypothese auch in der Praxis wahr? Aber ist unsere Hypothese wahr? Sind Methoden zur Erkennung von Anomalien als Concept Drift-Detektoren geeignet? Wir beschlossen, diese Frage während unseres internen Hackathons zu untersuchen. Zu diesem Zweck wählten wir eine Reihe von Methoden zum Vergleich und einen Benchmark, um sie zu testen. Da die Zeit knapp ist, haben wir uns für einfache Ansätze entschieden.


Ein synthetischer Datensatz als Benchmark für die Konzeptabweichung

In der Fachliteratur wird darauf hingewiesen, dass es an realen Datensätzen zum Vergleich von Concept Drift-Detektoren mangelt. In Anbetracht der begrenzten Zeit, die uns zur Verfügung steht, haben wir beschlossen, einen eigenen synthetischen Datensatz zu erstellen. Dazu müssen wir einen Datensatz implementieren, der es uns erlaubt, eine Concept Drift willkürlich einzuführen. Da es eine große Lücke bei den Concept Drift-Detektoren für Computer-Vision-Aufgaben gibt, wählen wir den allgemein verwendeten MNIST-Datensatz alsBasis. Dann führen wir zwei Variablen ein, die uns helfen, die Concept Drift in unseren Daten zu kontrollieren. Schweregrad (Werte von 0 bis 10) und Wahrscheinlichkeit der Konzeptabweichung. Auf der Grundlage dieser Variablen haben wir die folgenden Transformationen vorgenommen:

  • transforms.RandomErasing(p=1, scale=(0,001, max(1, Schwere)/100))
  • transforms.RandomPerspective(distortion_scale=severeness/20, p=0.1),
  • transforms.RandomRotation((-Grad*3, Grad*3)),
  • transforms.GaussianBlur(kernel_sizes[int(severeness/10)], sigma=(0.1, 2.0))
  • transforms.RandomResizedCrop((28,28), scale=((min(1,5/max(severeness,1))), 1.0)),
  • torch.rand(28,28)*(1+self.test_concept_drift_severeness/40) #Zufälliges Rauschen und Clip

Diese Transformationen werden auf der Grundlage der im Attribut "Wahrscheinlichkeit" definierten Wahrscheinlichkeit angewendet. Die folgende Abbildung zeigt eine Visualisierung der resultierenden Stichproben. Das Ziel dieses Ansatzes ist es, eine sich verschlechternde Kamera zu simulieren.



Der nächste Schritt besteht darin, einen MNIST-Klassifikator zu trainieren. Zu diesem Zweck verwenden wir PytorchLightning und ein triviales neuronales Netz mit Dropout. Wir trainieren unseren Klassifikator für 5 Epochen mit einem Training-Validierungs-Split von 55k Trainingsproben und 5k Validierungsproben, wodurch eine Validierungsgenauigkeit von ~95% erreicht wird.


Beeinflusst die simulierte Konzeptabweichung die Leistung?

Untersuchen wir nun, wie sich die Einführung verschiedener Stufen der Konzeptabweichung auf die Leistung unseres Klassifizierungsmodells auswirkt.

Erwartungsgemäß ist festzustellen, dass eine zunehmende Konzeptabweichung die Genauigkeit des MNIST-Klassifikators verringert. Eine Erhöhung des Schweregrads der Konzeptabweichung führt direkt zu einer schlechteren Leistung.


Algorithmen zur Erkennung von Anomalien

Es ist an der Zeit, die Algorithmen zur Erkennung von Konzeptabweichungen zu implementieren! Wir werden vier verschiedene Ansätze implementieren, die auf aktuellen Erkenntnissen aus der Literatur basieren. Zunächst nutzen wir die Unsicherheit des Modells, um Concept Drift zu erkennen, inspiriert von Baier et al, die zu diesem Zweck Softmax-Entropie verwenden. Zusätzlich implementieren wir ihren Monte-Carlo-Dropout-basierten Ansatz und einen einfachen Autoencoder als unser Basismodell für die Anomalieerkennung. Als vierten Ansatz implementieren wir ein aktuelles, gut funktionierendes Rotation Prediction Anomaly Detection Modell, das auf RotNet basiert.


Wie schneiden die verschiedenen Algorithmen zur Erkennung von Anomalien ab?

Schließlich lassen wir unser Modell 11-mal auf der Testmenge laufen, wobei wir jedes Mal den Schweregrad der Konzeptabweichung erhöhen. Anschließend messen wir die arithmetische mittlere Genauigkeit für jeden Stapel und stellen sie neben die von unseren Ansätzen erkannten Konzeptabweichungen. Außerdem verwenden wir für unsere Ansätze zur Erkennung von Konzeptabweichungen gleitende Fenstergrößen von 50 und 150 Stichproben. Beachten Sie, dass wir die Ergebnisse aller Methoden auf einen Bereich von 0 bis 1 skaliert haben, um sie visuell vergleichbarer zu machen.

Zunächst einmal lässt sich leicht feststellen, dass die Concept Drift unabhängig vom Ansatz die tatsächliche Concept Drift und damit auch die Leistung des Modells nachahmt. Dies deutet darauf hin, dass jeder dieser Ansätze bereits dann von Nutzen ist, wenn keine überwachten Optionen für die Drifterkennung verfügbar sind. Zwar sind noch genauere Tests erforderlich, doch deuten diese Diagramme bereits darauf hin, dass einige Methoden in realen Szenarien besser geeignet sein könnten als andere:

  1. Entropie-basierter Ansatz: Sie können sehen, dass der entropiebasierte Ansatz eine größere Varianz aufweist, was es schwieriger macht, Schwellenwerte zu bestimmen, die eine Warnung auslösen.
  2. Monte-Carlo-Dropout-basierter Ansatz: Im Vergleich zum entropiebasierten Ansatz funktioniert der Monto-Carlo-Dropout-basierte Ansatz (mcd) bereits besser und kommt der Genauigkeit recht nahe.
  3. Autoencoder-basierter Ansatz: Die auf dem Autoencoder basierende Methode scheint den linearen Anstieg der Concept Drift noch besser nachzubilden und weist eine deutlich geringere Varianz auf, insbesondere bei kleineren Fenstergrößen. Daher könnte sie ein besseres Verständnis der zugrundeliegenden Veränderung in der Datenverteilung vermitteln und besser geeignet sein, um Warnungen auszulösen.
  4. Rotationsbasierter Ansatz: Schließlich folgt das rotationsbasierte Modell zur Erkennung von Anomalien einer logarithmischen Skala (die wir bei der Skalierung berücksichtigt haben) und zeigt starke Signale für größere Konzeptabweichungen. Dies kann wahrscheinlich darauf zurückgeführt werden, dass wir die Rotation als eine unserer Erweiterungen bei der Erzeugung der Konzeptabweichung verwendet haben. Daher ist das Rotationsvorhersagemodell verständlicherweise zuversichtlich, dass es bei größeren Bildrotationen die falsche Orientierung vorhersagen kann. Dies könnte eine interessante Eigenschaft sein, wenn die Überwachung der Concept Drift einer bestimmten Art von besonderem Interesse ist.


Unser Fazit

Um einen Ansatz für die Erkennung von Concept Drift während der Modellüberwachung zu finden, der nicht von Ground-Truth-Labels abhängt, schlagen wir vor, sich von dem sehr aktiven und ausgereiften Forschungsfeld der Erkennung von Out-of-Distribution (auch bekannt als Anomalieerkennung) inspirieren zu lassen. Da sie in der Lage sind, die "Ungleichverteilung" einzelner Stichproben zu messen, eignen sie sich auch zur Bewertung von Verteilungsverschiebungen im Laufe der Zeit.

Obwohl unsere Experimente hier recht rudimentär sind, haben wir Hinweise darauf erhalten, dass unsere These zutreffen könnte und dass Modelle zur Erkennung von Anomalien in der Lage sind, Concept Drift zu erkennen. Wir haben gesehen, dass Anomalieerkennungsmodelle, die auf Monte-Carlo-Dropout basieren, sowie der Autoencoder und die auf Rotationsvorhersage basierenden Ansätze in der Lage sind, Concept Drift zu erkennen. In diesem Fall lieferte der Autoencoder-Ansatz die vielversprechendsten Ergebnisse.

Die Verwendung von Anomalie-Erkennungsmodellen für die Erkennung von Konzeptabweichungen ist eine vielversprechende Richtung für künftige Arbeiten und könnte dazu beitragen, dass KI-gestützte Systeme in Zukunft zuverlässiger werden.

Bereit durchzustarten?

Lass uns austauschen und gemeinsam ein Projekt beginnen.

Arbeiten in einem Technologieunternehmen | Motius