Úvod do vysvětlitelné AI

Explainable AI v Pythonu

Fouad Trad

Machine Learning Engineer

O mně

fouadtrad.jpg

Fouad Trad
  • Inženýr strojového učení
  • Doktorand
  • Specializace na AI pro kybernetickou bezpečnost
LinkedIn

mylinkedin.jpg

Explainable AI v Pythonu

Umělá inteligence

  • AI umožňuje strojům vykonávat úkoly podobné těm lidským

Obrázek zobrazující člověka hrajícího šachy se strojem.

Explainable AI v Pythonu

Potřeba vysvětlitelnosti

 

Obrázek zobrazující uzavřený systém černé skříňky přijímající vstup a generující výstup.

 

  • AI černé skříňky: bez pochopení rozhodovacího procesu
Explainable AI v Pythonu

Potřeba vysvětlitelnosti

 

Obrázek zobrazující otevřený systém přijímající vstup a generující výstup.

 

  • AI černé skříňky: bez pochopení rozhodovacího procesu
  • Vysvětlitelná AI: porozumění vnitřnímu fungování modelu
Explainable AI v Pythonu

Vysvětlitelnost vs. přesnost

  • Základní modely jsou:

    • Lépe vysvětlitelné
    • Méně přesné
  • Složité modely jsou:

    • Přesnější
    • Hůře vysvětlitelné

Obrázek zobrazující modely AI v grafu od základních po složité (pravidlová, lineární modely, rozhodovací stromy, k-NN, SVM a neuronové sítě) a znázorňující, že základní modely jsou obvykle lépe vysvětlitelné, ale méně přesné, zatímco složité modely jsou velmi přesné, ale hůře interpretovatelné.

Explainable AI v Pythonu

Rozhodovací stromy vs. neuronové sítě

Rozhodovací stromy

Zobrazují rozhodovací cestu na základě podmínek

Znázornění rozhodovacího stromu ukazující, jak jsou předpovědi tvořeny na základě více podmínek

Explainable AI v Pythonu

Rozhodovací stromy vs. neuronové sítě

Rozhodovací stromy

Zobrazují rozhodovací cestu na základě podmínek

Rozhodovací strom pro příklad přijímacího řízení: student bez bakalářského titulu je odmítnut; ostatní jsou přijati pouze tehdy, pokud je jejich hodnocení vyšší než 8,5

Explainable AI v Pythonu

Rozhodovací stromy vs. neuronové sítě

Rozhodovací stromy

Zobrazují rozhodovací cestu na základě podmínek

Rozhodovací strom pro příklad přijímacího řízení: student bez bakalářského titulu je odmítnut; ostatní jsou přijati pouze tehdy, pokud je jejich hodnocení vyšší než 8,5

Neuronové sítě

Nejsou ze své podstaty transparentní

Obrázek znázorňující strukturu neuronové sítě: sada skrytých vrstev, z nichž každá obsahuje více neuronů.

Explainable AI v Pythonu

Rozhodovací stromy vs. neuronové sítě

Rozhodovací stromy

Zobrazují rozhodovací cestu na základě podmínek

Rozhodovací strom pro příklad přijímacího řízení: student bez bakalářského titulu je odmítnut; ostatní jsou přijati pouze tehdy, pokud je jejich hodnocení vyšší než 8,5

Neuronové sítě

Nejsou ze své podstaty transparentní

Obrázek znázorňující stejnou neuronovou síť přijímající vlastnosti studenta a předpovídající, zda má být přijat, či odmítnut.

Explainable AI v Pythonu

Predikce přijetí studenta

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

 

  • Testové skóre: GRE a TOEFL
  • Hodnocení univerzity
  • SOP: motivační dopis
  • LOR: doporučující dopis
  • CGPA: kumulativní studijní průměr
Explainable AI v Pythonu

Predikce přijetí studenta

Rozhodovací strom
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
Neuronová síť
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
Explainable AI v Pythonu

Pravidla rozhodovacího stromu

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 ...
Explainable AI v Pythonu

Techniky specifické vs. agnostické pro model

Specifické pro model

Platí pro konkrétní model

Obrázek zobrazující klíč navržený pro konkrétní zámek

Explainable AI v Pythonu

Techniky specifické vs. agnostické pro model

Specifické pro model

Platí pro konkrétní model

Obrázek zobrazující klíč navržený pro konkrétní zámek

Agnostické pro model

Platí pro jakýkoliv model

Obrázek zobrazující hlavní klíč, který otevírá více zámků

Explainable AI v Pythonu

Co nás čeká?

  • Techniky specifické a agnostické pro model
  • Lokální a globální metody
  • Pokročilá témata:
    • Metriky vysvětlitelnosti
    • Vysvětlitelnost bez učitele
    • Vysvětlitelnost generativní AI

Loga následujících knihoven: SHAP, LIME a Scikit-learn

Explainable AI v Pythonu

Pojďme si procvičit!

Explainable AI v Pythonu

Preparing Video For Download...