Introduzione all’Explainable AI

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Chi sono

fouadtrad.jpg

Fouad Trad
  • Machine Learning Engineer
  • Dottorando
  • Specializzato in AI per la cybersecurity
LinkedIn

mylinkedin.jpg

Explainable AI in Python

Intelligenza artificiale

  • L’IA consente alle macchine di svolgere compiti simili a quelli umani

Immagine che mostra un umano che gioca a scacchi con una macchina.

Explainable AI in Python

La necessità di spiegabilità

 

Immagine che mostra un sistema black box chiuso che riceve un input e genera un output.

 

  • Black box AI: nessuna comprensione del processo decisionale
Explainable AI in Python

La necessità di spiegabilità

 

Immagine che mostra un sistema open box che riceve un input e genera un output.

 

  • Black box AI: nessuna comprensione del processo decisionale
  • Explainable AI: comprensione del funzionamento interno del modello
Explainable AI in Python

Spiegabilità vs. accuratezza

  • I modelli semplici sono:

    • Più spiegabili
    • Meno precisi
  • I modelli complessi sono:

    • Più precisi
    • Meno spiegabili

Immagine che mostra modelli di IA in un grafico da semplici a complessi (rule-based, modelli lineari, alberi decisionali, k-NN, SVM e reti neurali), evidenziando che i modelli semplici sono più spiegabili ma meno precisi, mentre quelli complessi sono molto precisi ma più difficili da interpretare.

Explainable AI in Python

Alberi decisionali vs. reti neurali

Alberi decisionali

Mostrano il percorso decisionale basato su condizioni

Rappresentazione di un albero decisionale che mostra come le predizioni derivano da più condizioni

Explainable AI in Python

Alberi decisionali vs. reti neurali

Alberi decisionali

Mostrano il percorso decisionale basato su condizioni

Albero decisionale per l’esempio di ammissione: se uno studente non ha la laurea triennale, viene respinto. Altrimenti è accettato solo se il voto è > 8.5

Explainable AI in Python

Alberi decisionali vs. reti neurali

Alberi decisionali

Mostrano il percorso decisionale basato su condizioni

Albero decisionale per l’esempio di ammissione: se uno studente non ha la laurea triennale, viene respinto. Altrimenti è accettato solo se il voto è > 8.5

Reti neurali

Non sono intrinsecamente trasparenti

Immagine che mostra la struttura di una rete neurale: più livelli nascosti con vari neuroni.

Explainable AI in Python

Alberi decisionali vs. reti neurali

Alberi decisionali

Mostrano il percorso decisionale basato su condizioni

Albero decisionale per l’esempio di ammissione: se uno studente non ha la laurea triennale, viene respinto. Altrimenti è accettato solo se il voto è > 8.5

Reti neurali

Non sono intrinsecamente trasparenti

Immagine che mostra la stessa rete neurale che riceve le caratteristiche dello studente e predice accettazione o rifiuto.

Explainable AI in Python

Predizione ammissione studenti

Punteggio GRE Punteggio TOEFL Valutazione università SOP LOR CGPA Accetta
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

 

  • Test: GRE e TOEFL
  • Valutazione dell’università
  • SOP: statement of purpose
  • LOR: lettera di referenza
  • CGPA: media cumulativa
Explainable AI in Python

Predizione ammissione studenti

Decision Tree
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
Neural Network
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 in Python

Regole dell’albero decisionale

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 in Python

Tecniche specifiche vs agnostiche al modello

Specifiche del modello

Si applicano a un modello specifico

Immagine che mostra una chiave progettata per una serratura specifica

Explainable AI in Python

Tecniche specifiche vs agnostiche al modello

Specifiche del modello

Si applicano a un modello specifico

Immagine che mostra una chiave progettata per una serratura specifica

Agnostiche al modello

Si applicano a qualsiasi modello

Immagine che mostra una chiave passe-partout che apre più serrature

Explainable AI in Python

E dopo?

  • Tecniche specifiche e agnostiche al modello
  • Metodi locali e globali
  • Argomenti avanzati:
    • Metriche di spiegabilità
    • Spiegabilità non supervisionata
    • Spiegabilità della Generative AI

Loghi delle librerie: SHAP, LIME e Scikit-learn

Explainable AI in Python

Ayo berlatih!

Explainable AI in Python

Preparing Video For Download...