Introducere în IA explicabilă

AI Explicabil în Python

Fouad Trad

Machine Learning Engineer

Despre mine

fouadtrad.jpg

Fouad Trad
  • Inginer de machine learning
  • Doctorand
  • Specializat în IA pentru securitate cibernetică
LinkedIn

mylinkedin.jpg

AI Explicabil în Python

Inteligența artificială

  • IA permite mașinilor să efectueze sarcini similare celor umane

Imagine cu un om jucând șah cu o mașină.

AI Explicabil în Python

Necesitatea explicabilității

 

Imagine cu un sistem tip cutie neagră care primește o intrare și generează o ieșire.

 

  • IA tip cutie neagră: nicio înțelegere a procesului decizional
AI Explicabil în Python

Necesitatea explicabilității

 

Imagine cu un sistem tip cutie deschisă care primește o intrare și generează o ieșire.

 

  • IA tip cutie neagră: nicio înțelegere a procesului decizional
  • IA explicabilă: înțelegerea mecanismelor interne ale modelului
AI Explicabil în Python

Explicabilitate vs. acuratețe

  • Modelele simple sunt:

    • Mai explicabile
    • Mai puțin precise
  • Modelele complexe sunt:

    • Mai precise
    • Mai greu de explicat

Imagine cu modele IA pe un grafic, de la simple la complexe (bazate pe reguli, modele liniare, arbori de decizie, k-NN, SVM și rețele neuronale), evidențiind că modelele simple sunt mai explicabile dar mai puțin precise, iar cele complexe sunt foarte precise dar mai greu de interpretat.

AI Explicabil în Python

Arbori de decizie vs. rețele neuronale

Arbori de decizie

Afișează calea de decizie pe baza condițiilor

Reprezentarea unui arbore de decizie care arată cum se fac predicțiile pe baza mai multor condiții

AI Explicabil în Python

Arbori de decizie vs. rețele neuronale

Arbori de decizie

Afișează calea de decizie pe baza condițiilor

Arbore de decizie pentru exemplul de admitere: dacă studentul nu are diplomă de licență, este respins; altfel, este acceptat doar dacă nota este mai mare de 8,5

AI Explicabil în Python

Arbori de decizie vs. rețele neuronale

Arbori de decizie

Afișează calea de decizie pe baza condițiilor

Arbore de decizie pentru exemplul de admitere: dacă studentul nu are diplomă de licență, este respins; altfel, este acceptat doar dacă nota este mai mare de 8,5

Rețele neuronale

Nu sunt transparent prin natura lor

Imagine cu structura unei rețele neuronale: o serie de straturi ascunse, fiecare cu mai mulți neuroni.

AI Explicabil în Python

Arbori de decizie vs. rețele neuronale

Arbori de decizie

Afișează calea de decizie pe baza condițiilor

Arbore de decizie pentru exemplul de admitere: dacă studentul nu are diplomă de licență, este respins; altfel, este acceptat doar dacă nota este mai mare de 8,5

Rețele neuronale

Nu sunt transparent prin natura lor

Imagine cu aceeași rețea neuronală care primește caracteristicile studentului și prezice dacă acesta ar trebui acceptat sau respins.

AI Explicabil în Python

Predicția admiterii studenților

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

 

  • Scoruri la teste: GRE și TOEFL
  • Clasificarea universității
  • SOP: scrisoare de intenție
  • LOR: scrisoare de recomandare
  • CGPA: media cumulativă a notelor
AI Explicabil în Python

Predicția admiterii studenților

Arbore de decizie
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
Rețea neuronală
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
AI Explicabil în Python

Regulile arborelui de decizie

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 ...
AI Explicabil în Python

Tehnici specifice vs. agnostice față de model

Specifice modelului

Se aplică unui anumit model

Imagine cu o cheie creată pentru un anumit lacăt

AI Explicabil în Python

Tehnici specifice vs. agnostice față de model

Specifice modelului

Se aplică unui anumit model

Imagine cu o cheie creată pentru un anumit lacăt

Agnostice față de model

Se aplică oricărui model

Imagine cu o cheie master care poate deschide mai multe lacăte

AI Explicabil în Python

Ce urmează?

  • Tehnici specifice și agnostice față de model
  • Metode locale și globale
  • Subiecte avansate:
    • Metrici de explicabilitate
    • Explicabilitate nesupravegheată
    • Explicabilitate pentru IA generativă

Logo-uri pentru bibliotecile: SHAP, LIME și Scikit-learn

AI Explicabil în Python

Să exersăm!

AI Explicabil în Python

Preparing Video For Download...