​​​​LIME : Local Interpretable Model-Agnostic Explanations

DATEV eG
DATEV TechBlog
Published in
7 min readMay 27, 2020

Von: Frank Fischer

Photo by Joshua Sortino on Unsplash

Paper: “Why should I trust you?” Explaining predictions of any classifier.

Machine-Learning-Modelle werden häufig eingesetzt um Entscheidungen zu unterstützen. Aber welchen Grund hat ein Anwender dem Vorschlag eines Modells zu vertrauen? Erhält ein Netflixkunde einen Filmvorschlag oder ein Arzt eine Einschätzung, ob eine Operation des Patienten erforderlich ist, dann möchte er nachvollziehen können, wie es dazu kam. Das Modell ist eine Blackbox und präsentiert den Vorschlag ohne Begründung.

Der Artikel liefert eine Antwort auf die Frage: was kann getan werden, um einen Anwender selbst entscheiden zu lassen, ob er einer einzelnen Vorhersage oder einem gesamten Modell vertrauen will?
Beschrieben wird ein Framework namens:

​​​​LIME : Local Interpretable Model-Agnostic Explanations

Die Autoren haben LIME gemeinsam entwickelt und 2016 vorgestellt. Der Ansatz wurde seitdem oft zitiert und präsentiert.

Erklärungen ermöglichen Vertrau​en oder Misstrauen

Ein Anwender hat eine konkrete Vorhersage eines Modells vorliegen. Er sucht Gründe, dieser Vorhersage zu vertrauen oder nicht.
Dafür benötigt er eine Erklärung, wie diese Vorhersage zustande gekommen ist. Ein Beispiel:

Ein Modell klassifiziert den Gesundheitszustand eines Patienten als erkältet(Flu). Ein Arzt muss daraus Handlungen ableiten. Warum sollte er der Vorhersage vertrauen? Wenn ihm erklärt wird, dass das Modell diese Beurteilung gemacht hat, weil:

  • der Patient Schnupfen (sneeze)
  • und Kopfschmerzen (headache) hatte
  • obwohl er keine Erschöpfung (no fatigue) aufwies.

Dann kann der Arzt aufgrund seines Fachwissens einschätzen, ob er das für eine vertrauenswürdige Beurteilung hält oder nicht. Wenn die Erklärung unplausible Gründe, wie Körpergewicht oder Alter nennt, dann hätte er Grund zum Zweifel.

Eine Erklärung muss von einem Anwender interpretierbar sein. Wenn das Originalmodell etwa Wordembeddings verwendet, dann sind die Wortvektoren keine Darstellung, die ein Mensch interpretieren kann. Für die Erklärung muss das Beispiel mit einfacheren Attributen repräsentiert werden, z.B. mit Worten. Und die Menge der Attribute muss klein sein: eher 5–10 als 100–1000. Bei Bildern ist eine Erklärung, die Pixelattribute verwendet nicht interpretierbar. Hier können Super-Pixel (automatisch berechnete zusammenhängende Teile des Bildes, ähnlich wie Puzzleteile) verwendet werden.

Kurz: das Beispiel muss mit wenigen interpretierbaren Erklärungs-Attributen dargestellt werden. Super-Pixel-Algorithmen segmentieren Bilder in zusammenhängende Pixeluntermengen, z.B. so:

LIME kurz erklärt

​LIME macht keine Annahmen über den Typ des Modells: es ist modell-agnostisch (es weiss nix über das Innere des Modells). Das Modell kann als Blackbox verwendet werden. Angenommen wir haben ein Modell f das nur zwei Features entgegennimmt, die Instanzen einer von 2 Klassen zuordnet (Rot und Blau) und eine nichtlineare Entscheidungsgrenze hat. Und wir haben ein Beispiel x (das fette rote Plus), das vom Modell als Rot klassifiziert wird: f(x) = Rot

Die Idee ist: wir nähern das lokale Verhalten von f in der Nähe des Beispiels x mit einem einfachen linearen Modell g, das aber mit den wenigen Erklärungsattributen arbeitet. Wenn wir so ein g gefunden haben, dann ist der Gewichtsvektor von g, die Erklärung: wenn ein Erklärungsattribut ein hohes Gewicht, hat es viel zur Entscheidung beigetragen.

Zuerst wählen wir die kleine Menge von interpretierbarenErklärungsattributen aus, mit denen wir das Beispiel darstellen wollen. Im Paper ist beschrieben wie (Stichworte: Regularization Paths, Least-Angle-Regularization).

Dann generieren wir synthetische Stichproben: Jede Stichprobe setzt sich aus einer zufälligen Teilmenge der Erklärungsattribute zusammen. Die Stichproben verwenden wir, um ein Verlustfunktion zu minimieren, die 3 Aspekte berücksichtigt:

  • die Abweichung von f und g
  • die Nähe einer Stichprobe zum Beispiel x: Stichproben, die näher am Beispiel x sind, fliessen stärker ein, als solche die weiter entfernt sind. Dafür muss eine Funktion festgelegt werden, die die Nähe einer Stichprobe zu x berechnet. Details sind im Paper zu finden.
  • die Anzahl der Attribute

Im Bild sieht man, dass eine lineare Approximation des ganzen Modells f im Allgemeinen nicht möglich ist. Aber lokal (wie oben beschrieben) schon.

Am Beispiel Textklassifikation

​LIME nimmt den Originaltext und repräsentiert ihn als Bag of Words (unabhängig davon welche Features das Originalmodell nimmt). Dann wählt es mit einem linearen Modell eine begrenzte Menge von Worten, die am relevantesten sind. Das sind die Attribute für unsere Erklärung. Nun werden Stichprobentexte synthetisiert: Jede Stichprobe entsteht aus dem Beispieltext, enthält aber nur eine zufällige Teilmenge der Erklärungsattribute.

Dann wird ein lineares Näherungsmodell auf diesen Stichproben gesucht: Durch Optimierung der Verlustfunktion (s.o.). Die Gewichte liefern den Einfluss der Erklärungsattribute auf die Vorhersage.

Algorithmus 1 und 2 sollen bestimmen, ob ein Newsgroup-Post zum Thema Atheimus oder Christentum gehört. Beide klassifizieren ein bestimmtes Beispiel korrekt. Aber die Erklärungen zeigen, dass Algorithmus 2 sich für Atheismus entscheidet, weil die Worte “Posting”, “Host”, “Re” und “Nntp” vorkommen. Das lässt Zweifel aufkommen, ob Algorithmus 2 wirklich relevante Atheismus-Worte berücksichtigt und bei unbekannten Daten gut generalisieren wird.

Beispiel Bildklassifikation

Ein Modell soll klassifizieren, ob ein Bild einen Husky oder einen Wolf darstellt.

Links ist das Originalbild zu sehen. Rechts ist zu sehen, welche Superpixel dieses Bildes positiv zur Entscheidung für die Klasse Wolf beigetragen haben. Hier sind die Superpixel die die interpretierbaren Erklärungsfeatures. Dann wurden Stichprobenbilder synthetisiert, indem jeweils zufällige Teilmengen dieser Superpixel zu Bildern zusammengesetzt wurden. Anschliessend wird ein lineares Modell auf diesen Stichproben trainiert, das sich dem Originalmodell möglichst ähnlich verhält. Der Gewichtsvektor liefert dann den Einfluss jedes Superpixels auf die Entscheidung.
Es sieht nicht plausibel aus, dass sich das Modell hauptsächlich wegen Schneebereichen für einen Wolf entschieden hat. Man muss kein Wolfexperte sein um zu ahnen, dass dieses Modell zwar ein guter Schneedetektor ist, aber nicht als Wolfswarnsystem eingesetzt werden sollte.

Erklärung eines Modells

Allerdings genügt ein einziges Beispiel nicht um ein Modell insgesamt zu erklären. Für verschiedene Beispiele kann das lokale Verhalten des Modells ja sehr unterschiedlich sein.
Der LIME-Ansatz hier ist: erkläre ein Modell mit mehreren Beispielen und wähle die Beispiele so aus, dass möglichst viele Erklärungsfeatures berücksichtigt werden. Damit die Erklärung verständlich bleibt, dürfen nicht zu viele Beispiele ausgewählt werden, aber eben möglichst aussagekräftige.

Wenn ich viele Beispiele mit Erklärungen zur Verfügung habe (hier 5, die Zeilen der Matrix) und einige Erklärungsfeatures (f1-f5), dann gibt es zu jedem Beispiel einen Gewichtsvektor des Erklärungsmodells(hier ein Zeile). Um zu vereinfachen sind die Gewichte hier binär.

Wenn ich nur wenige Beispiele auswählen will (hier 2), die das Modell möglichst gut erklären, dann wähle ich sie so, dass die 2 Beispiele möglichst viele Features abdecken (hier Zeile 2 und 5). Ein Algorithmus dafür ist im Paper beschrieben.

Nichttechniker können Modelle verbessern

Im Paper wird ausserdem noch beschrieben, wie die Leistungsfähigkeit des LIME-Ansatzes überprüft wurde. Eine Variante davon lässt technisch unbewanderte Personen auswählen, welche Erklärungsfeatures aus einer Beispielerklärung irrelevant für die Entscheidung sind. Es wurde gezeigt, dass das Modell mit dieser Information verbessert werden kann. LIME ermöglicht es also Nichttechnikern zur Modelverbesserung beizutragen.

Fazit

Alle Teilnehmer der Reading Group waren sich einig, dass die Lektüre dieses oft zitierten Papers ​schwieriger war als angenommen. Es ist beruhigend zu wissen, dass auch andere nicht alles verstanden haben. In der Diskussion konnten wir aber gemeinsam viele Lücken schliessen.
​LIME ist von 2016, also nicht brandneu, aber interessant und wirkt praktikabel.

Es gibt eine Python-Bibliothek von einem der Autoren mit Tutorials u.v.m.

https://github.com/marcotcr/lime

Im Internet findet man mit den Stichworten ‘lime’ und ‘interpretable’ auch leicht Zusammenfassungen, Slides und Vortragsvideos.

LIME ist ein Beitrag zu dem übergreifenden Thema Explainable AI (XAI). Es gibt andere (auch ältere) Ansätze wie z.B. SHAP (SHapley Additive exPlanations) https://github.com/slundberg/shap.

Explainable AI ist auch für die DATEV ein relevantes Thema. Modelle müssen bewertet werten: um das beste Modell auszuwerten, oder um zu entscheiden ob ein freigegeben werden soll. Sich dabei nur auf die klassischen Performancemetriken wie ­­­­­­Accuracy, F1-Score usw. zu verlassen kann trügerisch sein (Stichwort Overfitting) wie das Husky-Wolf-Beispiel illustriert: vielleicht erkennt mein Modell gar nicht Wölfe sondern Schnee, weil meine Trainings- und Testdaten ungewollte Korrelationen aufweisen. Und nachvollziehbare automatisierte Entscheidungen können auch ethisch erforderlich sein, z.B. um Diskriminierung zu erkennen und zu verhindern.

Ihr seid ebenso verrückt nach IT, Software und Tech-Themen und habt Lust, Teil unseres Entwickler-Teams zu werden, hier geht´s zu unseren offenen Stellen: https://www.datev.de/web/de/karriere/geschaeftsbereiche/it/.

--

--

DATEV eG
DATEV TechBlog

DATEV eG steht für qualitativ hochwertige Softwarelösungen und IT-Dienstleistungen für Steuerberater, Wirtschaftsprüfer, Rechtsanwälte und Unternehmen.