Wir brauchen mehr als Genauigkeit, um Vertrauen in Maschinelles Lernen aufzubauen

Keine Kommentare

Traditionelle Arbeitsabläufe bei Maschinellem Lernen sind stark auf das Trainieren und Optimieren von Modellen fokussiert; das beste Modell wird normalerweise anhand von Qualitätskriterien wie Genauigkeit oder Fehlerhäufigkeit bestimmt. Wir nehmen an, dass ein Modell gut genug für die Produktion ist, wenn es gewisse Schwellenwerte dieser Kriterien überschreitet. Warum ein Modell seine Vorhersagen so und nicht anders macht wird dagegen generell vernachlässigt. Allerdings kann das Verstehen und Interpretieren von solchen Modellen von großer Bedeutung für die Verbesserung der Modelle, für gesteigertes Vertrauen und Transparenz, sowie für Vermeidung von Vorurteilen sein. Weil komplexe gelernte Modelle im Wesentlichen „Blackboxen“ und daher zu kompliziert sind, um sie genau zu verstehen, brauchen wir Approximationen. Ein solcher Ansatz ist LIME, was für Local Interpretable Model-agnostic Explanations steht und ein Werkzeug ist, dass uns hilft, komplexe Modelle aus dem Maschinellen Lernen zu verstehen und zu erklären.

Genauigkeit und Fehler in Maschinellem Lernen

Im Allgemeinen besteht ein Arbeitsablauf bei Maschinellem Lernen aus den folgenden Schritten: Daten sammeln, Daten bereinigen und aufbereiten, Modelle trainieren und das beste Modell anhand von Validierungs- und Testfehlern oder anderen Qualitätskriterien auswählen. In der Regel wird an diesem Punkt aufgehört. Wir haben zum Beispiel ein Modell, das in 99 % aller Testfälle richtig lag. An sich ist das ein sehr gutes Ergebnis und häufig wird das Modell an diesem Punkt in Produktion gebracht. Wir gehen dabei davon aus, dass unser Modell vertrauenswürdig ist, weil wir an den Testdaten gesehen haben, dass es in den allermeisten Fällen richtig lag, aber wir wissen nicht, warum es richtige (oder falsche) Vorhersagen getroffen hat.

In Maschinellem Lernen beobachten wir im Allgemeinen einen Trade-Off zwischen Genauigkeit und Komplexität: Je komplexer ein Modell ist, desto schwieriger ist es zu verstehen. Ein einfaches lineares Modell ist leicht zu verstehen, weil es nur lineare Zusammenhänge in Betracht zieht. Aus diesem Grund ist es aber gleichzeitig nicht fähig, komplexere Zusammenhänge darzustellen und wird deshalb wahrscheinlich ungenauere Vorhersagen für Testdaten treffen. Tiefe neuronale Netze sind am anderen Ende des Spektrums: Weil sie auf viele Ebenen abstrahieren können, können sehr komplexe Zusammenhänge modelliert werden und somit sehr genaue Vorhersagen getroffen werden. Aber ihre hohe Komplexität macht sie gleichzeitig zu „Blackboxen“. Da wir die diffizilen Zusammenhänge zwischen Variablen, auf deren Grundlage Vorhersagen getroffen werden, nicht wirklich nachvollziehen können, nutzen wir Qualitätskriterien wie Genauigkeit und Fehlerhäufigkeit, um eine Einschätzung über die Glaubwürdigkeit des Modells zu erhalten.

Der Versuch, die Vorhersagen unseres anscheinend so genauen Modells zu verstehen, ist normalerweise nicht Teil des Arbeitsablaufes im Maschinellen Lernen. Warum sollten wir also die zusätzliche Zeit und Energie investieren, um das Modell zu verstehen, wenn es von rein technischer Seite aus eigentlich nicht nötig ist?

Ein Weg, um komplexe gelernte Modelle besser zu verstehen und erklären zu können, sind sogenannte Erklär-Funktionen. Ich sehe mehrere Gründe, warum es sinnvoll ist, Modell-Erklärungen in den Arbeitsablauf jedes Klassifikationsproblems zu integrieren:

  • Verbesserungen der Modelle
  • Vertrauen und Transparenz
  • Vorurteile identifizieren und vermeiden

Verbesserungen der Modelle

Wenn wir besser verstehen, wie Variablen, Klassen und Vorhersagen zusammenhängen, warum gewisse Entscheidungen von einem gelernten Modell getroffen wurden und welche Variablen am stärksten zu diesen Entscheidungen beigetragen haben, kann dies uns helfen einzuschätzen, wie sinnvoll das Modell wirklich ist.

Um diesen Punkt zu illustrieren, gibt es das folgende eindrucksvolle Beispiel aus der Literatur: Ein tiefes neuronales Netz wurde trainiert, um Bilder von Wölfen und Huskies zu unterscheiden [1]. Das Modell wurde auf einem Set von Bildern trainiert und auf einem unabhängigen Set getestet. 90 % der Testbilder wurden hierbei richtig klassifiziert, an sich ein sehr gutes Ergebnis! Aber was wir ohne Erklär-Funktion nicht wissen, ist, dass das Modell seine Entscheidungen hauptsächlich anhand des Hintergrunds getroffen hat: Bilder von Wölfen hatten oft Schnee im Hintergrund, Bilder von Huskies nicht. Wir haben also unabsichtlich einen Schnee-Detektor trainiert… Wenn wir nur auf Qualitätskriterien wie Genauigkeit schauen, können wir solche Fehler nicht finden!

Es ist also sinnvoll, ein zusätzliches Verständnis für die Entscheidungskriterien von Vorhersagen zu haben, damit wir mit menschlicher Intuition einschätzen können, ob unser Modell sinnvolle Muster erkennt und später wirklich auf neue Fälle generalisieren kann.

Vertrauen und Transparenz

Ein besseres Verständnis von gelernten Modellen ist auch nötig, um Vertrauen und Transparenz im Hinblick auf ihre Vorhersagen und Entscheidungen zu stärken. Das ist besonders relevant, wenn im Mai 2018 die neuen General-Data-Protection-Regulation-(GDPR-)Richtlinien in Kraft treten. Es wird zwar noch stark diskutiert, ob der darin enthaltene Artikel 22 ein „Recht auf Erklärung“ für Entscheidungen, die von Algorithmen getroffen wurden, beschreibt [2], aber es wird wahrscheinlich nicht mehr lange ausreichen, Blackbox-Modelle zu implementieren, ohne dass wir sie besser verstehen; vor allem, wenn diese Modelle Entscheidungen treffen, die den Alltag und die Lebensgrundlage von Menschen direkt betreffen, wie Darlehen oder [3] Haftstrafen [4].

Ein anderes Gebiet, in dem Vertrauen besonders wichtig ist, ist die Medizin; denn hier sind Entscheidungen möglicherweise eine Frage von Leben oder Tod für Patienten. Gelernte Modelle sind in vielen Fällen beeindruckend genau in der Klassifizierung von gut- oder bösartigen Tumoren unterschiedlicher Arten. Aber als Grundlage für (keine) medizinische Interventionen brauchen wir immer noch eine erklärbare Diagnose von einem Arzt. Wenn Ärzte neben der reinen Klassifizierung auch die Erklärung für die Entscheidung, die das Modell für einen bestimmten Patienten getroffen hat, bekommen, kann das ein entscheidender Faktor sein, dass diesen Modellen vertraut wird und sie tatsächlich helfen, bessere oder schnellere Diagnosen zu stellen.

Selbst im alltäglichen Geschäftsleben, wo es vielleicht nicht direkt um Leben oder Tod geht, können gelernte Modelle schwerwiegende Konsequenzen verursachen, wenn sie nicht wie erwartet funktionieren. Hier kann ein besseres Verständnis für Entscheidungen solcher Modelle helfen, auf lange Sicht Zeit zu sparen und Verluste zu vermeiden; denn wenn sich ein Modell als nicht sinnvoll herausstellt, merken wir das, bevor es in Produktion geht und dort Schaden verursacht.

Vorurteile identifizieren und vermeiden

Fairness und Vorurteile in Maschinellem Lernen ist ein stark diskutiertes Thema [5, 6]. Vorurteile in gelernten Modellen resultieren in der Regel aus Vorurteilen, die inhärent in den Daten liegen: Dort vorhandene Neigungen werden gelernt und propagiert und resultieren so in einer selbsterfüllenden Prophezeiung! Ein immer wieder genanntes Beispiel ist ein gelerntes Modell, das Haftstrafen für Gefangene vorhersagt und das offensichtlich das vorherrschende Ungleichgewicht von ethnischen Gruppen widerspiegelt [4]. Andere Beispiele sind gelernte Modelle, die passende Arbeitnehmer vorschlagen sollen; hier sehen wir oft, dass die in unserer Gesellschaft immer noch vorhandenen Assoziationen von bestimmten Berufen mit einem jeweiligen Geschlecht auftauchen [5].

Gelernte Modelle sind sehr mächtige Werkzeuge in verschiedenen Gebieten unseres Lebens und werden sicher in Zukunft noch omnipräsenter werden. Darum liegt es in unserer Verantwortung als Data Scientists und Entscheider, dass wir die Modelle, die wir in Produktion bringen, verstehen; nur so können wir proaktiv daran arbeiten, dass Vorurteile nicht verstärkt, sondern vermieden werden!

LIME

LIME steht für Local Interpretable Model-agnostic Explanations und ist ein Werkzeug, um komplexe gelernte Modelle erklärbar zu machen. Es wurde von Marco Ribeiro, Sameer Singh und Carlos Guestrin 2016 entwickelt [1] und kann mit jedem Klassifikationsalgorithmus verwendet werden, z.B. Random Forest, Gradient Boosting, Neuronale Netze, etc. Und es funktioniert mit verschiedenen Datentypen, wie Tabellen, Bildern oder Text.

LIME basiert auf drei Konzepten:

  • Erklärungen werden nicht global für das gesamte Modell gefunden, sondern lokal und für jede Instanz separat.
  • Erklärungen werden anhand von ursprünglichen Variablen gefunden, auch wenn das gelernte Modell mit Abstraktionen arbeitet.
  • Erklärungen werden für die wichtigsten Variablen gegeben, indem ein einfaches Modell lokal an die Vorhersagen angepasst wird.

Dadurch bekommen wir eine annäherungsweise Erklärung dafür, welche Variablen am stärksten zur Klassifizierung einer einzelnen Instanz beigetragen haben, welche ihr widersprachen und wie der Einfluss aussieht.

Das folgende Beispiel zeigt, wie LIME genutzt werden kann:
Anhand eines Datensatzes über chronische Nierenerkrankungen habe ich ein Random Forest Modell trainiert [7]. Dieses Modell soll vorhersagen, ob ein Patient an chronischer Nierenerkrankung leidet (ckd) oder nicht (notckd). Das Modell erreichte 99 % Genauigkeit auf Validierungsdaten und 95 % auf Testdaten. Um darüber hinaus zu verstehen, warum manche Patienten als ckd klassifiziert wurden und andere nicht, kann LIME angewendet werden. Ein Arzt könnte diese Erklärungen dann nutzen, um einen Eindruck zu bekommen, ob das Modell sinnvoll und somit vertrauenswürdig ist.

Wie oben beschrieben, arbeitet LIME mit jeder Instanz separat. Wir nehmen eine Instanz (in diesem Fall Daten von einem Patienten) und permutieren diese; das heißt, die Daten werden repliziert und leicht verändert. So bekommen wir einen neuen Datensatz, der aus ähnlichen Instanzen bestehen, basierend auf der ursprünglichen Instanz. Für jede dieser permutierten Instanzen berechnen wir außerdem die Ähnlichkeit zur ursprünglichen Distanz, also wie stark die Modifikation ist. Im Prinzip kann hierfür jede statistische Distanz- oder Ähnlichkeitsmetrik genommen werden, z.B. Euklidische Distanz, die mit einem exponentiellen Kernel in Ähnlichkeit umgewandelt wird.
Im nächsten Schritt lassen wir das gelernte komplexe Modell (hier Random Forest) Vorhersagen für jede der permutierten Instanzen machen. Da wir nur kleine, bekannte Änderungen in den permutierten Daten haben, können wir den Einfluss dieser Änderungen auf die Vorhersagen nachverfolgen.

Anschließend passen wir ein einfaches (in der Regel lineares) Modell an die permutierten Daten und ihre Vorhersagen an, indem wir nur die wichtigsten Variablen einbeziehen (Regression). Wir haben verschiedene Möglichkeiten, die wichtigsten Variablen zu identifizieren: Wir definieren in den meisten Fällen die Anzahl an Variablen, die wir in die Erklärungen einbeziehen wollen (ca. 5 bis 10) und wählen dann eine der folgenden Methoden:

  • Variablen mit größtem Gewicht in der Regression
  • Forward-Selektion, in der Variablen nacheinander addiert werden, um die Regression zu verbessern
  • Variablen mit kleinster Schrumpfung in einem Lasso-Fit
  • Entscheidungsbaum mit weniger oder gleich vielen Abzweigungen wie die Anzahl der Features, die wir ausgewählt haben

Die Ähnlichkeit zwischen permutierter und ursprünglicher Instanz fließt als Gewicht in das einfache Modell ein, so dass eine stärkere Gewichtung den Instanzen gegeben wird, die der ursprünglichen Instanz am ähnlichsten sind. Aus diesem Grund kann jedes einfache Modell als Erklär-Funktion genommen werden, das mit gewichtetem Input arbeiten kann, z.B. Ridge Regression.

Jetzt können wir die Vorhersagen für die ursprünglichen Instanzen interpretieren. Der LIME-Output für die acht wichtigsten Variablen in den ersten sechs Instanzen des Beispieldatensatzes ist in der Abbildung unten zu sehen:

LIME explanations of example machine learning model

Jede der sechs Facetten zeigt die Erklärung der Vorhersage für eine Instanz, also für einen Patienten. Die Überschriften jeder Facette nennen die Fallnummer (hier die Patienten ID), welche Klasse vorhergesagt wurde und mit welcher Wahrscheinlichkeit. Die Instanz oben links zeigt z.B. Fall Nummer 4, der mit 98 % Wahrscheinlichkeit als „ckd“ klassifiziert wurde. Unter der Überschrift sehen wir das Balkendiagramm für die acht wichtigsten Variablen; die Länge der Balken zeigt die Gewichtung der Variablen, positive Gewichte sprechen für die Vorhersage, negative sprechen dagegen. Die Instanz oben links zeigt z.B., dass der Hämoglobinwert zwischen 0.388 und 0.466 liegt, was die Klassifikation als „ckd“ unterstützt; ähnlich für packed cell volume (pcv), serum creatinine (sc), etc. (die vollständige Liste der Variablen und ihren Abkürzung ist unter http://archive.ics.uci.edu/ml/datasets/Chronic_Kidney_Disease zu finden). Das Alter und die Anzahl weißer Blutkörperchen (white blood cell count, wbcc) sind dagegen charakteristischer für eine gesunde Person und sprechen deshalb gegen die Klassifikation als „ckd“.

Shirin Glander

Shirin hat in der Bioinformatik promoviert. Sie wendet Analyse- & Visualisierungsmethoden verschiedenster Bereiche an – z.B. Machine Learning, klassische Statistik, Textanalyse, etc. – um Informationen aus Daten zugänglich und nutzbar zu machen.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.