top of page
  • AutorenbildAlessandro Scherl

AI-Modelle lernen nicht, was sie lernen sollten

Wie wir bereits in den Use-Cases Der kluge Hans und die betrügende AI und Traue keinem neuronalen Netz: wissenschaftliche Bildanalysen sowie in dem Lehrvideo AIAV: Clever Hans festgestellt haben, sollten wir unseren lernenden Modellen nicht blind vertrauen. Ein Beispiel für ein solches Modell, welches besonders im Computer Vision Bereich für die Klassifizierung (AIAV: CNN Classifier) oder Detektion von Objekten (AIAV: CNN Detektor) vielversprechende Ergebnisse liefert, ist das faltende neuronale Netzwerk (engl. Convolutional Neural Network, CNN). Diese Art von Modell wurde bereits im Use-Case Convolutional Neural Networks: Erkennen räumlicher Zusammenhänge angewandt und im Lehrvideo über Neuronale Netze (AIAV: Klassische Neuronale Netze) behandelt.


Ein gutes Beispiel für den Nutzen von CNN-Modellen ist die Detektion von Straßenschildern sowie anderer Verkehrsteilnehmer beim autonomen Fahren oder bei der Unterstützung von medizinischen Diagnosen. Hierbei ist es unumgänglich zu wissen, ob unser Modell das „richtige“ gelernt hat oder nicht. Neuronale Netzwerke werden deshalb als Black-Box Modelle bezeichnet, weil wir nicht wissen, was genau diese Modelle nach dem Training gelernt haben und anhand welcher Grundlagen diese Entscheidungen treffen. Trotz den vielversprechenden Ergebnissen ist die Anwendung dieser Black-Box Modelle bei realen Anwendungen oft problematisch. Die Ergebnisse könnten zwar richtig sein, aber wir wissen nicht, warum dies so ist. Aus diesen Gründen werfen wir in diesem Use-Case ein Blick in das innere der Black-Box eines CNNs und versuchen die Hintergründe für die Entscheidungen des Modells erklärbar zu machen. Aber bevor wir Einblicke in die verdeckten Strukturen eines CNNs erlangen können, benötigen wir ein grobes Verständnis darüber, wie ein solches Modell funktioniert.

Abbildung 1: Schematische Struktur eines trainierten Neuronalen Netzwerks bei der Klassifizierung eines Straßenschildes.


Hierzu werfen wir ein Blick auf Abbildung 1. Ein Neuronales Netzwerk besteht aus sogenannten vernetzten Schichten bestehend aus Neuronen. Beim faltenden neuronalen Netz (CNN) kommen sogenannte faltende Schichten (engl. Convolutional Layers) hinzu welche es dem Modell ermöglicht, räumliche Zusammenhänge zu lernen (siehe auch AIAV Video CNN Classifier). Wenn wir unserem Modell, wie in Abbildung 1 dargestellt, ein Eingangsbild liefern, werden ausgehend von der ersten Schicht die einzelnen Neuronen aktiviert. Daraus ergeben sich dann die Gewichtungen w. Diese Gewichtungen definieren schlussendlich das Verhalten unseres Modells. Ein Neuronales Netzwerk lernt also mithilfe der Anpassung dieser Gewichte der Neuronen durch überwachtes Lernen (siehe AIAV Video Klassische Neuronale Netze). Dieses überwachte Lernen (engl. Supervised learning, siehe AIAV Video Supervised Learning) benötigt im Bereich der Bildklassifizierung einen ausreichend großen annotierten Trainingsdatensatz.

Abbildung 2: Vier Beispielbilder aus einem Straßenschild-Datensatz mit den zugehörigen Labels bzw. Annotationen.


Die Annotierung bzw. Labels sagen dabei aus, wie in Abbildung 2 veranschaulicht, dass z.B. ein Bild eines Stopp-Schildes wirklich ein Stoppschild beinhaltet. Die wahrheitsgetreuen Labels der Trainingsdaten ermöglichen es unserem Modell über die Fehler, die es beim Prognostizieren einer Klasse oder eines Objektes macht, sich zu verbessern. Das heißt die gelernten Gewichte w der Neuronen in den einzelnen Schichten werden während des Trainingsprozesses laufend angepasst (siehe dazu Use-Case Wanderung in Richtung des geringsten Fehlers: Wie Programme lernen). Nach genügend Trainingsiterationen mit dem kompletten Trainingsdatensatz kann das Modell auf einem Testdatensatz getestet werden. Hierbei wird geprüft, wie gut das CNN-Modell auf bisher ungesehene Daten die richtigen Entscheidungen trifft.


Eine Problematik, die dabei entsteht, ist: Wir können nicht garantieren, dass unsere Daten alle möglichen Szenarien abdecken bzw. ob genügen Daten vorhanden sind, um das Problem vollständig abzudecken. Denn auch wenn wir ausreichend Daten haben, wissen wir nicht, ob unser Modell die richtigen Merkmale erlernt hat und unsere Trainings- sowie Testdaten mit Schwachstellen behaftet sind. In diesem Zusammenhang spricht man auch oft vom Klugen-Hans Problem (siehe Der kluge Hans und die betrügende AI).


Hätten wir unlimitiert Daten könnten wir dieses Problem umgehen. Doch in der Realität haben wir nie unlimitiert annotierte Daten, die alle möglichen Variationen abdecken. Deshalb brauchen wir einen anderen Weg, um sicherzustellen, dass unsere AI-Modelle anhand der richtigen Merkmale entscheiden. Genau bezüglich dieser Problematik wird derzeit intensive Forschung betrieben. Das dazugehörige Forschungsgebiet wird in der Literatur oft als XAI (engl. eXplainable Artificial Intelligence) – also „erklärbare Künstliche Intelligenz“ bezeichnet. Eine Einführung in das Gebiet von XAI finden Sie in Explainable Artificial Intelligence (XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI. In den letzten Jahren wurde eine Vielzahl an Algorithmen bzw. Frameworks zur Erklärung von AI-Modellen entwickelt und präsentiert (siehe Explainable AI Methods - A Brief Overview). Diese Algorithmen werden grundsätzlich in zwei Kategorien eingeteilt - einerseits die modellunabhängigen und andererseits die modellabhängigen.


Modellabhängige Tools werden auf eine spezifische Modellstruktur angepasst und versuchen die Berechnungen des Modells ausgehend vom Ausgang zurückzurechnen und damit die internen verdeckten Strukturen des Modells (bzw. der Black-Box) aufzudecken. Die Gradient-gewichtete Klassenaktivierungskarten (engl. Gradient-weighted class activatoin maps (GradCam)) und die schichtenweise Relevanzausbreitung (engl. Layerwise Relevance Propagation (LRP)) sind Beispiele der modellspezifischen Frameworks. Mit der schichtweisen Relevanzausbreitung werden wir uns nun genauer befassen.

Abbildung 3: Schematische Struktur eines Neuronalen Netzwerks bei der Berechnung der schichtenweise Relevanzausbreitung (LRP, modifiziert übernommen aus On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation)


Bei der schichtweisen Relevanzausbreitung wird ausgehend vom Ausgang wie in Abbildung 3 zu sehen die sogenannten Relevanzen R für jedes Neuron im Netzwerk berechnet. Wir beginnen also beim Ausgang und wissen zwei Dinge:

  1. Die Klasse von dem Bild, welches wir überprüfen wollen und

  2. die Struktur des CNNs, welche wir vor dem Trainingsprozess definiert haben.

Für die Berechnung der einzelnen Relevanzen wird entsprechend der allgemeinen Gleichung aus diesem Paper vorgegangen. Die Buchstaben „j“ und „k“ bezeichnen hierbei, wie in Abbildung 3 ersichtlich, zwei Neuronen von aufeinanderfolgenden Schichten. Die Variable zjk beschreibt das Maß an Relevanz, welches das Neuron in Schicht j an das Neuron in Schicht k beiträgt.

Wie in Gleichung 1 ersichtlich, wird durch die Division der Summe aller Relevanzbeiträgen in Schicht j durch den aktuellen betrachteten Relevanzbeitrag eine Erhaltungseigenschaft herbeigeführt. Dieses Verhalten ist analog zum ersten Kirchhoff‘schen Gesetz (Knotenpunktregel) und garantiert, dass die Empfangene Menge zjk eines Neurons in gleicher Menge an die darauffolgende Schicht weiterverteilt wird. Wenn man bei der letzten Schicht (= Ausgangsgröße des ursprünglichen Bildes) ankommt, wird die Relevanzausbreitung abgebrochen. Nun haben wir ein Datenvektor mit den Relevanzwert R für jedes Pixel, woraus wir eine sogenanntes Wärmekarte (engl. Heatmap) erzeugen können. Das heißt wir verwenden die ursprüngliche Auflösung unseres Bildes und färben dieses entsprechend den kalkulierten Relevanzwerten ein. Ein hoher Relevanzwert R bedeutet dabei, dass dieser Pixel sehr relevant für die Entscheidung unseres Modells war und wird deshalb in einer warmen Farbe dargestellt.

Abbildung 4: Eingangsbild (Links) und die dazugehörige Wärmekarte (Mitte) durch die Anwendung der schichtweisen Relevanzausbreitung (LRP) sowie die Legende der Wärmeskala (Rechts).


Ein Beispiel für eine solche Wärmekarte sehen Sie in der Mitte von Abbildung 4. Hierbei entspricht die rote bis weiße Farbe einer positiven Relevanz der Klasse Stoppschild. Vereinfacht formuliert bedeutet dies, dass unser Modell die rot, gelb und weiß visualisierten Pixel als ausschlaggebende Merkmale bzw. Pixel für die Klassifizierung dieser Klasse heranzieht. Aus der gegebenen Wärmekarte in Abbildung 4 lässt sich schließen, dass die Form des Stoppschildes und des Schriftzuges für unser CNN-Modell von Bedeutung ist. Offensichtlich ist auch die farbige rote Fläche ein Indikator für ein Stoppschild. Mehr zu der Analyse und dem Vorgehen zur Implementierung der schichtweisen Relevanzausbreitung erfahren Sie im folgenden Kapitel.


Praktische Implementierung

In diesem Kapitel befassen wir uns mit der Anwendung der schichtenweisen Relevanzausbreitung für ein bereits trainiertes CNN-Modell für Straßenschilder. Weitere Informationen bezüglich des Trainings und der Anwendung eines CNN-Modells können Sie aus dem Use-Case Convolutional Neural Networks: Erkennen räumlicher Zusammenhänge entnehmen.


Als Datensatz für unseren praxisnahen Anwendungsfall der Klassifizierung von Verkehrszeichen verwenden wir den Benchmark für die Erkennung von Verkehrszeichen in Deutschland (engl. German Traffic Sign Recognition Benchmark). Dieser besteht aus 51.839 farbigen Bildern, wovon 39.209 für das Training des Modells vorgesehen sind und 12.630 für das Testen. Der Datensatz beinhaltet 43 verschiedene Klassen von Verkehrszeichen. Die Modellstruktur des verwendeten Modells entspricht einem VGG-11, welches sich besonders für die Klassifizierung von Bildern auszeichnet. Auf die 12630 Testdaten erreicht unser vortrainiertes Netzwerk eine Vorhersagegenauigkeit von 96%.


Nach dem Laden unseres Modells können wir nun mit der Definition der Vorverarbeitung der Bilder fortfahren. Diese entspricht derselben, die beim Training des Modells durchgeführt wurde, und besteht aus dem Zuschneiden und Skalieren sowie der Normalisierung der Bilder. Das Zuschneiden und Skalieren ist eine Voraussetzung die uns die VGG-11 Modellstruktur mitliefert. Beim Normalisieren sorgen wir dafür, dass in jedem Kanal unserer Farbbilder (Rot – Grün – Blau) die Pixelwerte so verändern, dass über den gesamten Trainingsdatensatz die Pixelwerte pro Kanal einen Mittelwert von 0 und eine Standardabweichung von 1 aufweisen. Das hatte den Effekt, dass unser Modell während der Trainingsphase schneller und besser lernte (mehr dazu hier). Da unser Modell mit den normalisierten Werten trainiert wurde, müssen wir beim Anwenden die Eingangsbilder auch normalisieren, um systematische Fehler zu vermeiden.


Nun werden wir die schichtweise Relevanzausbreitung anwenden und einige Wärmekarten genauer analysieren. Für die Anwendung der schichtweisen Relevanzausbreitung ist zu berücksichtigen, dass verschiedene „LRP-Regeln“ existieren, welche die Berechnung der z-Variable in Gleichung 1 verändern. Ein Überblick über diese kann in dem bereits referenzierten Paper Layer-Wise Relevance Propagation: An Overview gefunden werden. Basierend auf aktuellen Forschungsergebnissen entscheiden wir uns für ein Komposition (EpsilionPlusFlat) von LRP-Regeln, die für unterschiedliche Schichten verschiedene Regeln anwendet und die visuelle Erklärbarkeit verbessert (siehe Robustness of Visual Explanations to Common Data Augmentation Methods für weiterführende Informationen).

Abbildung 5: Von oben nach unten: Vier Beispielbilder, die vom Modell vorausgesagte Klasse, die dazugehörigen Wärmekarten der schichtweisen Relevanzausbreitung (Rot/gelb/weiß = hohe Relevanz, blau = negative Relevanz für prognostizierte Klasse).


In Abbildung 5 sehen wir im oberen Bereich jeweils die Eingangsbilder, welche wir für unsere Analyse heranziehen, darunter die prognostizierte Klasse und basierend auf der Klasse die berechnete Wärmekarte der schichtweisen Relevanzausbreitung.


Das erste Bild in Abbildung 5 wird richtig von unserem Modell klassifiziert und man sieht, dass das Modell für das Stoppschild die „richtigen“ Merkmale gelernt hat bzw. Merkmale die für uns als Menschen nachvollziehbar sind: Einerseits ist die Kontur des Straßenschilds wichtig und andererseits konzentriert sich das Modell auf die Merkmale des Schriftzugs.

Abbildung 6: Von oben nach unten: Vier weitere Beispielbilder, die vom Modell vorausgesagte Klasse, die dazugehörigen Wärmekarten der schichtweisen Relevanzausbreitung (Rot/gelb/weiß = hohe Relevanz).


Auch bei dem zweiten Beispiel in Abbildung 5 hat unser CNN-Modell richtig gelernt und prognostiziert. Wieder wird entsprechend der Wärmekarte für das Überholverbot die Kontur des Schildes sowie der Inhalt, bzw. die Kontur des Inhaltes zur Klassifizierung verwendet – ähnlich wie wir Menschen das auch machen.


Beim dritten Beispiel in Abbildung 5 wird augenscheinlich nur die linke Hälfte des Schildes betrachtet. Die Null scheint für das Modell irrelevant zu sein. Das macht auch Sinn! Warum? Weil wir in unserem Datensatz mehrere verschiedene Klassen von Geschwindigkeitsbegrenzungen vorfinden und sowohl das 20, 30, 50, 60, 70 als auch 80 km/h Schild weisen diese Null an derselben Stelle auf der rechten Seite des Schildes auf. Das Modell hat also gelernt, dass diese Null auf dem Schild nicht zur genauen Klassifizierung beisteuert, deshalb wird die Null ignoriert.


Das letzte Beispiel in Abbildung 5 sieht nach einem Problemfall aus, denn es klassifiziert das 50 km/h Schild als ein 70 km/h Schild. Offensichtlich ist dies ein Fehler unseres Modells. Was bei diesem Bild besonders auffällt, jemand hat einen Sticker auf dem Schild angebracht. Wenn wir ein Blick auf die Wärmekarte werfen, sehen wir welche Features bei diesem Bild zu der fälschlichen Klassifizierung am meisten (rot) beigesteuert haben. Offensichtlich ist der Sticker für die Klasse

„Geschwindigkeitsbegrenzung 70 km/h“ sehr relevant. Weiters ist es auffällig, dass wir in dieser Wärmekarte eine blaue Farbe haben. Dies bedeutet, dass die abgebildete Fünf eine negative Relevanz für die Klasse der „Geschwindigkeitsbegrenzung 70km/h“ entspricht. Dennoch war die Relevanz des Stickers größer und das Modell entscheidet, dass dies ein Bild mit einer Geschwindigkeitsbegrenzung von 70 km/h aufweist.


Nach dieser optischen Überprüfung mit der schichtweisen Relevanzausbreitung wissen wir also, dass für die gegebenen ersten drei Bilder in Abbildung 5 unser Modell nachvollziehbare Merkmale gelernt hat. Das vierte Bild hingegen hat uns auf einen Fehler hingewiesen, den wir nun weiterverfolgen müssen. Wir wissen wir haben ein Problem mit den Klassen für die Geschwindigkeitsbegrenzung 50 km/h und 70 km/h. Demnach werden wir weitere Bilder dieser Klassen analysieren.


Entsprechend der Abbildung 6 fällt auf, dass die ersten zwei Bilder richtig prognostiziert werden, anhand von für uns Menschen logischen Merkmalen, nämlich mit starkem Fokus auf die erste Zahl des Schildes. Die letzten zwei Bilder weisen wiederum einen Sticker auf und scheinen aufgrund dessen als „Geschwindigkeitsbegrenzung 70 km/h“ klassifiziert zu werden – für uns Menschen eine nicht nachvollziehbare Entscheidung.


Der Verdacht liegt nun nahe, dass unser CNN etwas „Falsches“ gelernt hat. Bei der Betrachtung unseres Trainingsdatensatzes fällt auf, dass alle Straßenschilder der Klasse „Geschwindigkeitsbegrenzung 70 km/h“ ein solchen Sticker aufzuweisen haben. Offensichtlich wurden die Trainingsdaten dieser Klasse vor dem Training von jemanden manipuliert. Ohne die Hilfe eines „explainabillity“ Tools und ohne die stichprobenmäßige Überprüfung wäre uns dieser Problematik vermutlich gar nicht aufgefallen. Angenommen wir hätten dieses Modell in der Realität für autonomes fahren implementiert wären Unfälle durch die Missklassifizierung von Straßenschildern mit einem Sticker vorprogrammiert gewesen. In weiterer Folge müssten wir nun die Trainingsdaten der problematischen Klasse ersetzen, das Modell neu trainieren und dann wiederum überprüfen ob für die Klassen logische Features gelernt wurden, allerdings sprengt dies den Rahmen und Ziel diese Use Cases.


Fazit

Wie wir in diesem Use-Case feststellen, kann man mit Tools für die nachträgliche Erklärbarkeit von AI-Modellen sehr gute Einblicke über die verdeckten Strukturen von CNN-Modelle erlangen. Die angewendete schichtweise Relevanzausbreitung (LRP) hat uns in diesem Fall auf eine Problematik in unserem Datensatz hingewiesen, bei dem unser Modell gelernt hat anhand eines Stickers auf dem Straßenschild die Geschwindigkeitsbegrenzung 70 km/h zu klassifizieren. Obwohl das Modell eine Genauigkeit von 96% auf unseren Testdatensatz erreicht, ist es nicht zuverlässig und fehlerhaft. Denn eine Missklassifizierung aufgrund eines Stickers wäre bei realen Applikationen fatal und wir haben demonstriert, dass wir unsere Datensätze sorgfältig auswählen und überprüfen müssen und nicht blind auf die Entscheidungen unserer AI-Modelle vertrauen dürfen.


Da die einzelne Analyse aller Testbilder jedoch sehr aufwändig ist und wir hier bei unserem Use-Case absichtlich die Trainingsdaten zu Illustrationszwecken manipuliert haben gibt es eine weiterführende Methode namens spektrale Relevanz Analyse (engl. Spectral Relevance Analysis, SpRAy). Diese setzt auf der schichtweisen Relevanzausbreitungs-Methode auf und ermöglicht die Überprüfung aller Wärmekarten in einem Datensatz.

92 Ansichten

Aktuelle Beiträge

Alle ansehen
bottom of page