Python-Bibliothek zur Interpretierbarkeit von Deep Learning

In diesem Artikel wurden 10 Python-Bibliotheken zusammengestellt, die häufig für interpretierbare KI verwendet werden, um uns ein besseres Verständnis der Entscheidungsfindung von KI-Modellen zu erleichtern.

Lesen Sie den Originaltext

Was ist XAI?

Das Ziel von XAI (Explainable AI) besteht darin, vernünftige Erklärungen für Modellverhalten und -entscheidungen bereitzustellen, was dazu beiträgt, das Vertrauen zu stärken, Verantwortlichkeit und Transparenz bei Modellentscheidungen zu gewährleisten. XAI beschränkt sich nicht nur auf die Interpretation, sondern führt auch ML-Experimente auf eine Weise durch, die es den Benutzern erleichtert, Schlussfolgerungen zu extrahieren und zu interpretieren.

In der Praxis kann XAI durch eine Vielzahl von Methoden erreicht werden, beispielsweise durch die Verwendung von Merkmalswichtigkeitsmaßen, Visualisierungstechniken oder durch die Erstellung von Modellen, die inhärent interpretierbar sind, beispielsweise Entscheidungsbäume oder lineare Regressionsmodelle. Die Wahl der Methode hängt von der Art des zu lösenden Problems und dem erforderlichen Grad der Interpretierbarkeit ab.

KI-Systeme werden in einer wachsenden Zahl von Anwendungen eingesetzt, darunter im Gesundheitswesen, im Finanzwesen und in der Strafjustiz, wo die potenziellen Auswirkungen von KI auf das Leben der Menschen groß sind und das Verständnis, warum bestimmte Entscheidungen getroffen wurden, von entscheidender Bedeutung ist. Da die Kosten für Fehlentscheidungen in diesen Bereichen hoch sind (es steht viel auf dem Spiel), wird XAI immer wichtiger, da auch von KI getroffene Entscheidungen sorgfältig auf Gültigkeit und Erklärbarkeit überprüft werden müssen.

Schritte zum Üben der Erklärbarkeit

Datenaufbereitung: Diese Phase umfasst die Erhebung und Verarbeitung von Daten. Die Daten sollten von hoher Qualität, ausgewogen und repräsentativ für das reale Problem sein, das gelöst werden soll. Ausgewogene, repräsentative und saubere Daten reduzieren künftige Anstrengungen, die KI erklärbar zu halten.

Modelltraining: Das Modell wird auf vorbereiteten Daten trainiert, entweder einem herkömmlichen Modell für maschinelles Lernen oder einem neuronalen Deep-Learning-Netzwerk. Die Wahl des Modells hängt vom zu lösenden Problem und dem erforderlichen Grad der Interpretierbarkeit ab. Je einfacher das Modell, desto einfacher sind die Ergebnisse zu interpretieren, aber die Leistung einfacher Modelle ist nicht sehr hoch.

Modellbewertung: Die Auswahl geeigneter Bewertungsmethoden und Leistungsmetriken ist erforderlich, um die Interpretierbarkeit des Modells aufrechtzuerhalten. In dieser Phase ist es auch wichtig, die Interpretierbarkeit des Modells zu bewerten, um sicherzustellen, dass es sinnvolle Erklärungen für seine Vorhersagen liefern kann.

Erklärungsgenerierung: Dies kann mithilfe verschiedener Techniken erfolgen, z. B. Merkmalswichtigkeitsmaßen, Visualisierungstechniken oder durch den inhärenten Aufbau des Modells .

Erklärungsvalidierung: Überprüfen Sie die Genauigkeit und Vollständigkeit der vom Modell generierten Erklärungen. Dies trägt dazu bei, dass die Erklärung glaubwürdig ist.

Bereitstellung und Überwachung: Die Arbeit von XAI endet nicht mit der Modellerstellung und -validierung. Nach der Bereitstellung sind fortlaufende Erklärungsarbeiten erforderlich. Bei der Überwachung in einer realen Umgebung ist es wichtig, die Leistung und Interpretierbarkeit des Systems regelmäßig zu bewerten.

1、SHAP (SHapley Additive ExPlanations)

SHAP ist eine spieltheoretische Methode, mit der die Ausgabe jedes maschinellen Lernmodells interpretiert werden kann. Es nutzt den klassischen Shapley-Wert aus der Spieltheorie und die damit verbundenen Erweiterungen, um die optimale Kreditzuteilung mit lokalen Interpretationen in Beziehung zu setzen.
Fügen Sie hier eine Bildbeschreibung ein

Die Übertragung des externen Linkbilds ist fehlgeschlagen. Die Quellseite verfügt möglicherweise über einen Anti-Leeching-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen.

2、LIME (lokal interpretierbare modellagnostische Erklärungen)

LIME ist eine modellunabhängige Methode, die das Verhalten eines Modells anhand spezifischer Vorhersagen lokal annähert. LIME versucht zu erklären, was ein Modell für maschinelles Lernen tut. LIME unterstützt die Interpretation einzelner Vorhersagen für Textklassifikatoren, Klassifikatoren für Tabellendaten oder Bilder.
Fügen Sie hier eine Bildbeschreibung ein

3、Eli5

ELI5 ist ein Python-Paket, das dabei hilft, Klassifikatoren für maschinelles Lernen zu debuggen und ihre Vorhersagen zu interpretieren. Es bietet Unterstützung für die folgenden Frameworks und Pakete für maschinelles Lernen:

  • scikit-learn: ELI5 kann Gewichtungen und Vorhersagen von linearen Klassifikatoren und Regressoren von scikit-learn interpretieren, Entscheidungsbäume als Text oder SVG drucken, die Wichtigkeit von Merkmalen anzeigen und Entscheidungsbäume und Vorhersagen basierend auf Baumensembles interpretieren. ELI5 versteht auch Texthandler in scikit-learn und hebt Textdaten entsprechend hervor.

  • Keras – Interpretieren Sie Bildklassifizierungsvorhersagen visuell über Grad-CAM.

  • XGBoost – Zeigt die Wichtigkeit von Funktionen an und erläutert die Vorhersagen von XGBClassifier, XGBRegressor und XGBoost .boost.

  • LightGBM – zeigt die Wichtigkeit von Merkmalen und erklärt die Vorhersagen von LGBMClassifier und LGBMRegressor.

  • CatBoost: Zeigt die Funktionsbedeutung von CatBoostClassifier und CatBoostRegressor an.

  • Lightning – Interpretiert die Gewichte und Vorhersagen von Lightning-Klassifikatoren und Regressoren.

  • sklearn-crfsuite. ELI5 ermöglicht die Überprüfung der Gewichte des Modells sklearn_crfsuite.CRF.

Grundlegende Verwendung:

Show_weights() zeigt alle Gewichte des Modells an und Show_prediction() kann verwendet werden, um einzelne Vorhersagen des Modells zu untersuchen

ELI5 implementiert auch einige Algorithmen zur Überprüfung von Black-Box-Modellen:

TextExplainer verwendet den LIME-Algorithmus, um die Vorhersagen eines beliebigen Textklassifikators zu erklären. Die Permutationswichtigkeitsmethode kann zur Berechnung der Merkmalswichtigkeit für Black-Box-Schätzer verwendet werden.

4、Shapasch

Shapash bietet verschiedene Arten von Visualisierungen, die das Verständnis des Modells erleichtern. Verwenden Sie die Zusammenfassung, um die vom Modell vorgeschlagenen Entscheidungen zu verstehen. Dieses Projekt wird von MAIF-Datenwissenschaftlern entwickelt. Shapash erklärt das Modell hauptsächlich durch eine Reihe hervorragender Visualisierungen.

Shapash funktioniert über den Webanwendungsmechanismus und kann perfekt in Jupyter/ipython integriert werden.

aus Shapash-Import SmartExplainer

xpl = SmartExplainer(
model=regressor,
preprocessing=encoder, # Optional: Der Kompilierungsschritt kann die inverse_transform-Methode verwenden
Features_dict=house_dict # Optionaler Parameter, dict gibt die Bezeichnung für den Feature-Namen an
)

xpl.compile(x=Xtest,
y_pred=y_pred,
y_target=ytest, # Optional: Ermöglicht die Anzeige von wahren Werten im Vergleich zu vorhergesagten Werten
)

xpl.plot.contribution_plot(“OverallQual”)

5、Anker

Anker erklären das Verhalten komplexer Modelle mithilfe hochpräziser Regeln, sogenannter Anker, die lokale „ausreichende“ Vorhersagebedingungen darstellen. Der Algorithmus kann die Erklärung jedes Black-Box-Modells mit hohen Wahrscheinlichkeitsgarantien effizient berechnen.

Anker können als LIME v2 betrachtet werden, wo einige Einschränkungen von LIME (z. B. die Unfähigkeit, Modelle für unsichtbare Instanzen der Daten anzupassen) korrigiert wurden. Anker nutzen lokale Bereiche und nicht jeden einzelnen Standpunkt. Es ist rechenintensiv als SHAP und kann daher mit hochdimensionalen oder großen Datensätzen verwendet werden. Einige Einschränkungen bestehen jedoch darin, dass Beschriftungen nur Ganzzahlen sein können.

6、Zusammenbruch

BreakDown ist ein Tool, mit dem lineare Modellvorhersagen interpretiert werden können. Dabei wird die Ausgabe des Modells in den Beitrag jedes Eingabemerkmals zerlegt. Dieses Paket enthält zwei Hauptmethoden. Explainer() und Explanation()

model = tree.DecisionTreeRegressor()
model = model.fit(train_data,y=train_labels)

#notwendige Importe
from pyBreakDown.explainer import Explainer
from pyBreakDown.explanation import Explanation

#Erklärerobjekt erstellen
exp = Explainer(clf=model, data=train_data, colnames=feature_names)

#Was soll anhand der Daten erklärt werden (wählen Sie eine Beobachtung aus)
Erklärung = exp.explain(observation=data[302,:],direction=“up“ )

7、Text interpretieren

Interpret-Text kombiniert von der Community entwickelte Interpretierbarkeitstechniken für NLP-Modelle mit Visualisierungspanels zur Anzeige der Ergebnisse. Experimente können auf mehreren hochmodernen Interpretern durchgeführt und vergleichend analysiert werden. Dieses Toolkit kann Modelle des maschinellen Lernens global für jedes Tag oder lokal für jedes Dokument interpretieren.

Im Folgenden finden Sie eine Liste der in diesem Paket verfügbaren Interpreter:

  • Klassischer Texterklärer – (Standard: Wortschatz für logistische Regression)

  • Unified Information Explainer

  • Introspektiver Begründungserklärer

Sein Vorteil besteht darin, dass es Modelle wie CUDA, RNN und BERT unterstützt. und kann ein Panel für die Wichtigkeit von Funktionen im Dokument erstellen

aus interpret_text.widget import ExplanationDashboard
aus interpret_text.explanation.explanation import _create_local_explanation

# lokale Erklärung erstellen
local_explanantion = _create_local_explanation(
classification=True,
text_explanation=True, ExplanationDashboard(local_explanantion) # Dash it )classes=list_of_classes, Features= parsed_sentence_list, model_task=“classification“, method=name_of_model,
local_importance_values=feature_importance_values,






8、aix360 (AI Explainability 360)

Das AI Explainability 360 Toolkit ist eine Open-Source-Bibliothek. Dieses Paket wurde von IBM entwickelt und wird auf deren Plattform häufig verwendet. AI Explainability 360 enthält einen umfassenden Satz von Algorithmen, die verschiedene Erklärungsdimensionen sowie Metriken zur Erklärbarkeit von Agenten abdecken.

Das Toolkit kombiniert Algorithmen und Indikatoren aus den folgenden Artikeln:

  • Auf dem Weg zu robuster Interpretierbarkeit mit selbsterklärenden neuronalen Netzen, 2018. ref

  • Boolesche Entscheidungsregeln über Spaltengenerierung, 2018. ref

  • Erklärungen basierend auf dem Vermissten: Auf dem Weg zu kontrastiven Erklärungen mit relevanten Negativen, 2018. ref

  • Improving Simple Models with Confidence Profiles, 2018. ref

  • Effiziente Datendarstellung durch Auswahl von Prototypen mit Wichtigkeitsgewichten, 2019. ref

  • TED: Der KI beibringen, ihre Entscheidungen zu erklären, 2019. ref

  • Variationsinferenz entwirrter latenter Konzepte aus unbeschrifteten Daten, 2018. Ref

  • Generieren kontrastiver Erklärungen mit monotonen Attributfunktionen, 2019. ref

  • Generalisierte lineare Regelmodelle, 2019. ref

9、OmniXAI

OmniXAI (kurz für Omni explable AI) löst mehrere Probleme bei der Interpretation von Urteilen, die von Modellen des maschinellen Lernens in der Praxis erzeugt werden.

Es handelt sich um eine Python-Bibliothek für maschinelles Lernen für erklärbare KI (XAI), die eine umfassende Palette an erklärbaren KI- und erklärbaren maschinellen Lernfunktionen bietet und viele Probleme bei der Erklärung von Entscheidungen lösen kann, die von Modellen für maschinelles Lernen in der Praxis getroffen werden. OmniXAI zielt darauf ab, eine umfassende Bibliothek für erklärbare KI aus einer Hand für Datenwissenschaftler, ML-Forscher und Praktiker zu sein.

from omnixai.visualization.dashboard import Dashboard
# Starten Sie ein Dashboard zur Visualisierung
Dashboard = Dashboard(
Instanzen=test_instances, # Die zu erklärenden Instanzen
local_explanations=local_explanations, # Legen Sie die lokalen Erklärungen fest
global_explanations=global_explanations, # Legen Sie die globalen Erklärungen fest< a i=6>vorhersage_explanations=prediction_explanations, # Vorhersagemetriken festlegen class_names=class_names, # Klassennamen festlegenexplainer=explainer # Der erstellte TabularExplainer für die Was-wäre-wenn-Analyse )dashboard.show()




10、XAI (erklärbare KI)

Die XAI-Bibliothek wird vom Institute for Ethical AI & ML verwaltet und auf der Grundlage der 8 Prinzipien des verantwortungsvollen maschinellen Lernens entwickelt. Es befindet sich noch in der Alpha-Phase, also verwenden Sie es bitte nicht für Produktionsabläufe.

Für weitere spannende Inhalte klicken Sie bitte auf: Ausgewählte Artikel im KI-Bereich!

おすすめ

転載: blog.csdn.net/chumingqian/article/details/134681205