Introduktion till förklarbar AI

Förklarbar AI i Python

Fouad Trad

Machine Learning Engineer

Om mig

fouadtrad.jpg

Fouad Trad
  • Maskininlärningsingenjör
  • Doktorand
  • Specialiserad på AI för cybersäkerhet
LinkedIn

mylinkedin.jpg

Förklarbar AI i Python

Artificiell intelligens

  • AI gör det möjligt för maskiner att utföra mänskliga uppgifter

Bild som visar en människa som spelar schack mot en maskin.

Förklarbar AI i Python

Behovet av förklarbarhet

 

Bild som visar ett slutet svart lådsystem som tar emot indata och genererar utdata.

 

  • Black box-AI: inget inblick i beslutsfattandet
Förklarbar AI i Python

Behovet av förklarbarhet

 

Bild som visar ett öppet lådsystem som tar emot indata och genererar utdata.

 

  • Black box-AI: inget inblick i beslutsfattandet
  • Förklarbar AI: förstå modellens inre mekanismer
Förklarbar AI i Python

Förklarbarhet kontra noggrannhet

  • Enkla modeller är:

    • Mer förklarbara
    • Mindre precisa
  • Komplexa modeller är:

    • Mer precisa
    • Svårare att förklara

Bild som visar AI-modeller på en graf från enkla till komplexa (regelbaserade, linjära modeller, beslutsträd, k-NN, SVM och neurala nätverk), och som belyser att enkla modeller ofta är mer förklarbara men mindre precisa, medan komplexa modeller är mycket precisa men svårare att tolka.

Förklarbar AI i Python

Beslutsträd kontra neurala nätverk

Beslutsträd

Visar beslutsväg baserat på villkor

Representation av ett beslutsträd som visar hur förutsägelser görs utifrån flera villkor

Förklarbar AI i Python

Beslutsträd kontra neurala nätverk

Beslutsträd

Visar beslutsväg baserat på villkor

Beslutsträd för antagningsexemplet som visar att en student utan kandidatexamen nekas. I annat fall antas studenten bara om betyget är högre än 8,5

Förklarbar AI i Python

Beslutsträd kontra neurala nätverk

Beslutsträd

Visar beslutsväg baserat på villkor

Beslutsträd för antagningsexemplet som visar att en student utan kandidatexamen nekas. I annat fall antas studenten bara om betyget är högre än 8,5

Neurala nätverk

Inte transparent i sig

Bild som visar strukturen hos ett neuralt nätverk: en samling dolda lager, vart och ett med flera neuroner.

Förklarbar AI i Python

Beslutsträd kontra neurala nätverk

Beslutsträd

Visar beslutsväg baserat på villkor

Beslutsträd för antagningsexemplet som visar att en student utan kandidatexamen nekas. I annat fall antas studenten bara om betyget är högre än 8,5

Neurala nätverk

Inte transparent i sig

Bild som visar samma neurala nätverk som tar emot studentdata och förutsäger om studenten ska antas eller nekas.

Förklarbar AI i Python

Förutsägelse av studentantagning

GRE Score TOEFL Score University Rating SOP LOR CGPA Accept
337 118 4 4.5 4.5 9.65 1
316 104 3 3 3.5 8.00 1
314 103 2 2 3 8.21 0

 

  • Testresultat: GRE och TOEFL
  • Universitetsbetyg
  • SOP: syftesredogörelse
  • LOR: rekommendationsbrev
  • CGPA: kumulativt betygsgenomsnitt
Förklarbar AI i Python

Förutsägelse av studentantagning

Beslutsträd
from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(max_depth=5)

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Decision Tree: {acc}")
Accuracy of Decision Tree: 0.82
Neuralt nätverk
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(hidden_layer_sizes=(1000,1000))

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Neural Network: {acc}")
Accuracy of Neural Network: 0.9
Förklarbar AI i Python

Beslutsträdsregler

from sklearn.tree export_text

rules = export_text(model, feature_names=list(X_train.columns))

print(rules)
|--- CGPA <= 8.34
|   |--- GRE Score <= 320.50
|   |   |--- class: 0

| |--- GRE Score > 320.50 | | |--- class: 1
|--- CGPA > 8.34 | |--- GRE Score <= 319.50 | | |--- class: 1 ...
Förklarbar AI i Python

Modellspecifika kontra modellagnostiska tekniker

Modellspecifik

Gäller en viss modell

Bild som visar en nyckel utformad för ett specifikt lås

Förklarbar AI i Python

Modellspecifika kontra modellagnostiska tekniker

Modellspecifik

Gäller en viss modell

Bild som visar en nyckel utformad för ett specifikt lås

Modellagnostisk

Gäller alla modeller

Bild som visar en huvudnyckel som kan öppna flera lås

Förklarbar AI i Python

Vad händer härnäst?

  • Modellspecifika och modellagnostiska tekniker
  • Lokala och globala metoder
  • Avancerade ämnen:
    • Förbarhetsmått
    • Oövervakad förklarbarhet
    • Förklarbarhet för generativ AI

Logotyper för följande bibliotek: SHAP, LIME och Scikit-learn

Förklarbar AI i Python

Nu kör vi en övning!

Förklarbar AI i Python

Preparing Video For Download...