eXplainable Artificial Intelligence: cos’è e perché è importante

In questo articolo vediamo come rendere interpretabili gli output di un modello di Machine Learning grazie ad un settore di ricerca molto interessante: eXplainable Artificial Intelligence (XAI).

Non chiamatele black-box!

Una delle critiche principali che si muovono al Machine Learning (e ancora di più al Deep Learning) è che i suoi modelli siano delle black-box, delle scatole nere.

Tanto potenti quanto poco trasparenti e interpretabili.

Questo è vero sotto certi punti di vista: all’aumentare della complessità del modello, aumenta in modo incredibile la capacità di capire perché ha dato un certo risultato.

Non bisogna però pensare che i suoi output siano frutto di un qualche procedimento magico. Esiste un settore di ricerca che cerca il più possibile di far luce su questi processi di apprendimento che si chiama eXplainable Artificial Intelligence, o più semplicemente XAI.

Se sei interessato a sapere quali sono i principali progetti di XAI che puoi usare in Python, ho scritto un articolo proprio su questo tema. Lo trovi qui. Ti consiglio anche di dare un’occhiata al mio profilo LinkedIn e Medium, dove parlo spesso di questi temi.

INDICE

  • White-box e black-box
  • Il bisogno di capire
  • Cos’è XAI
  • Algoritmi di XAI

White-box e black-box

Una distinzione che può essere fatta quando si parla di algoritmi di Machine Learning è quella di dividerli in white-box e black-box.

Gli algoritmi white-box sono algoritmi che permettono agli esperti del settore di essere interpretati in modo chiaro e univoco. Il processo conoscitivo è trasparente e la relazione input-output lineare. Questi algoritmi sono, per esempio, le regressioni lineari e gli alberi decisionali (di cui abbiamo parlato qui).

Le black-box in Machine Learning sono invece gli algoritmi così complessi che non sono in grado di essere facilmente interpretabili. Questo perché possono seguire logiche non lineari, perché sono insiemi di classificatori (metodi ensambles) oppure perché possono avere fino a milioni di parametri, come alcune reti neurali.

Spesso le black-box sono più performanti delle white-box (si parla di un’accuratezza almeno 3x), ma hanno il problema che diventa difficile capire il perché di un certo risultato.

Il bisogno di capire

In alcuni settori potrebbe non interessare capire il perché una certa relazione input-output vada in certo modo.

Se per esempio sto facendo una competizione su Kaggle e mi viene chiesto di predire se un certo passeggero è sopravvissuto o meno, il mio obiettivo è quello di raggiungere la massima accuratezza possibile, non capirne il perché.

Questo è interessante perché a volte avviene che anche grandi esperti in certi settori possano essere sopraffatti dal Machine Learning: a differenza degli uomini infatti le macchine possono leggere miliardi di dati e trovare relazioni in spazi multidimensionali, cosa che gli uomini non possono fare.

Etica nell’eXplainable Artificial Intelligence

Pensiamo adesso invece a settori come quello medico: in questo caso non ci interessa solo sapere se un certo paziente ha una certa probabilità di sviluppare una malattia, vogliamo anche sapere il perché ciò potrebbe avvenire, in modo da scoprire qualcosa di più sulla malattia in questione e prevenire futuri casi.

Un altro settore in cui è spesso molto richiesta questa capacità di comprensione è l’ambito della selezione del personale nelle aziende. In un articolo del giornale Il Post (clicca qui per leggerlo) si parla di come infatti l’Intelligenza Artificiale sia entrata in questo settore. L’articolo mette in evidenza, tra le tante cose interessanti cose, come gli algoritmi di intelligenza artificiale si siano rivelati discriminatori. Capire il perché un certo candidato è stato scartato o apprezzato è un aspetto importante tanto per l’azienda quanto per la dignità del candidato stesso.

Allo stesso modo è delicato il compito degli algoritmi che si trovano a dover decidere se concedere o meno un prestito ad una persona: essere scartati senza saperne il motivo è sicuramente un qualcosa di non eticamente corretto.

Questo non vuol dire abbandonare questi strumenti. Sono strumenti e tecniche che il più delle volte funzionano e portano valore aggiunto. Ma sono strumenti, quindi di per sé neutri e freddi, e come tutti gli strumenti bisogna usarli per il bene e nel modo corretto.

Cos’è l’eXplainable Artificial Intelligence

L’eXplainable Artificial Intelligence è così quell’ambito di ricerca che si occupa di capire le relazioni tra input e output anche e soprattutto nei modelli più complicati, quei modelli che hanno molti classificatori e molti parametri e renderli comprensibili all’uomo.

I principi su cui si fonda questo settore di ricerca sono i seguenti:

  • Understandability: caratteristiche di un modello che sono comprensibili all’uomo come esso funzioni.
  • Comprehensibility: capacità dell’algoritmo di rappresentare in modo comprensibile ciò che ha appreso durante l’addestramento.
  • Interpretability: è definita come la capacità di spiegare o fornire significato in modo comprensibile ad un essere umano.
  • Explainability: la spiegazione è vista come un’interfaccia tra uomo e macchina in modo che il risultato della macchina sia comprensibile per l’uomo.
  • Transparency: un modello è considerato trasparente se è di per sé comprensibile facilmente.

Per una trattazione più dettagliata, rimando all’articolo Explainable Artificial Intelligence (XAI): Concepts, Taxonomies,
Opportunities and Challenges toward Responsible AI
.

L’enfasi è posta su tutte quelle tecniche che possono rendere gli algoritmi comprensibili all’uomo, sia in termini di operazioni eseguite dagli algoritmi stessi sia in termini di logica che ha portato ad un certo risultato.

Algoritmi di eXplainable Artificial Intelligence

Tra i principali algoritmi di XAi, o eXplainable Artificial Intelligence, ce ne sono due che secondo me sono degni di nota, ovvero LIME e SHAP.

LIME è l’acronimo di Local Interpretable Model-agnostic Explanations e come suggerisce il nome cerca di date un’interpretazione locale del modello. Questo vuol dire che scompone un algoritmo complesso in tanti punti più piccoli, locali, in cui la previsione può essere spiegata in modo semplice (e solitamente lineare).

LIME lavora bene sia con dati strutturati, sia non strutturati. Le sue implementazioni sono disponibili sia per R che per Python, i due principali linguaggi in ambito Data Science e Machine Learning.

SHAP è un approccio alla XAI basato sulla teoria dei giochi. SHAP permette di spiegare quanto un certo valore incide sull’output del modello. Ad ogni valore della variabile in questione (per esempio età = 27 anni) viene associato uno shap value, che indica quanto il fatto di avere 27 anni sposti il modello verso un certo output. Qui puoi trovare l’articolo per approfondire e qui il riferimento a github del progetto.

Per ora SHAP è implementato per Python e permette di lavorare su algoritmi formati da singoli modelli tree-based.

conclusioni

In questo articolo abbiamo introdotto un nuovo settore di ricerca chiamato eXplainable Artificial Intelligence. XAI cerca di rendere intellegibili all’uomo i complessi algoritmi di machine learning. Abbiamo visto quando viene utilizzato e quali sono i suoi principali algoritmi.