Interpretabilità dei modelli

Questo articolo descrive i metodi che è possibile usare per l'interpretabilità dei modelli in Azure Machine Learning.

Importante

Con il rilascio del dashboard di intelligenza artificiale responsabile, che include l'interpretabilità dei modelli, è consigliabile eseguire la migrazione alla nuova esperienza, perché il dashboard di interpretabilità del modello di anteprima dell'SDK v1 precedente non verrà più gestito attivamente.

Perché l'interpretabilità del modello è importante per il debug del modello

Quando si usano modelli di Machine Learning in modalità che influiscono sulla vita delle persone, è fondamentale comprendere cosa influisce sul comportamento dei modelli. L'interpretabilità consente di rispondere a domande in scenari come:

  • Debug del modello: perché il modello ha commesso questo errore? Come si può migliorare il modello?
  • Collaborazione tra essere umano e intelligenza artificiale: come comprendere e considerare attendibili le decisioni del modello?
  • Conformità alle normative: il modello soddisfa i requisiti legali?

Il componente di interpretabilità del dashboard di intelligenza artificiale responsabile contribuisce alla fase di "diagnosi" del flusso di lavoro del ciclo di vita del modello generando descrizioni delle stime di un modello di Machine Learning comprensibili agli esseri umani. Fornisce più viste del comportamento di un modello:

  • Spiegazioni globali: ad esempio, quali funzionalità influiscono sul comportamento complessivo di un modello di allocazione prestiti?
  • Spiegazioni locali: ad esempio, perché la richiesta di un prestito di un cliente è stata approvata o rifiutata?

È anche possibile osservare le spiegazioni del modello per una coorte selezionata come sottogruppo di punti dati. Questo approccio è utile quando, ad esempio, si valuta l'equità nelle stime del modello per gli individui appartenenti a un determinato gruppo demografico. La scheda Spiegazione locale di questo componente rappresenta anche una visualizzazione completa dei dati, ideale per una valutazione generale dei dati a colpo d’occhio e per l’esame delle differenze tra stime corrette ed errate di ogni coorte.

Le funzionalità di questo componente si basano sul pacchetto interpretML, che genera spiegazioni del modello.

Usare l'interpretabilità quando è necessario:

  • Determinare l’attendibilità delle stime del sistema di intelligenza artificiale comprendendo quali sono le funzionalità più importanti per le stime.
  • Approccio al debug del modello, dapprima comprendendolo, quindi scoprendo se il modello usa funzionalità integre o semplicemente false correlazioni.
  • Individuare potenziali fonti di iniquità comprendendo se il modello basa le stime su funzionalità sensibili o altamente correlate alle stime.
  • Generare nell’utente la fiducia nelle decisioni del modello generando spiegazioni locali per illustrare i risultati.
  • Completare un controllo normativo di un sistema di intelligenza artificiale per convalidare i modelli e monitorare l'impatto delle decisioni del modello sugli esseri umani.

Come interpretare il modello

In Machine Learning le funzionalità sono i campi di dati usati per stimare un punto dati di destinazione. Ad esempio, per stimare il rischio del credito, è possibile usare campi di dati per età, dimensioni dell'account ed età dell'account. In questo caso, l’età, le dimensioni dell'account e l’età dell'account sono funzionalità. L'importanza della funzionalità indica in che modo ogni campo dati influisce sulle stime del modello. Ad esempio, anche se è possibile usare l'età in maniera massiccia nella stima, le dimensioni dell'account e l'età dell'account potrebbero non influire significativamente sui valori della stima. Tramite questo processo, i data scientist possono spiegare le stime risultanti in modalità che offrono agli stakeholder visibilità sulle funzionalità più importanti del modello.

Usando le classi e i metodi nel dashboard di intelligenza artificiale responsabile e usando l’SDK v2 e l'interfaccia della riga di comando v2, è possibile:

  • Spiegare la stima del modello generando valori di importanza della funzionalità per l'intero modello (spiegazione globale) o per singoli punti dati (spiegazione locale).
  • Ottenere l'interpretabilità del modello su set di dati reali su larga scala.
  • Usare un dashboard di visualizzazione interattivo per individuare i criteri nei dati e le relative spiegazioni in fase di training.

Usando le classi e i metodi nell'SDK v1, è possibile:

  • Spiegare la stima del modello generando valori di importanza della funzionalità per l'intero modello o singoli punti dati.
  • Ottenere l'interpretabilità del modello su set di dati reali su larga scala durante il training e l’inferenza.
  • Usare un dashboard di visualizzazione interattivo per individuare i criteri nei dati e le relative spiegazioni in fase di training.

Nota

Le classi di interpretabilità del modello sono rese disponibili tramite il pacchetto SDK v1. Per altre informazioni, vedere Installare pacchetti SDK per Azure Machine Learning e azureml.interpret.

Tecniche di interpretabilità del modello supportate

Il dashboard di intelligenza artificiale responsabile e azureml-interpret usano tecniche di interpretabilità sviluppate in Interpret-Community, un pacchetto Python open source per il training di modelli interpretabili e la facilitazione delle spiegazioni di sistemi di intelligenza artificiale opaque-box. I modelli opaque-box sono quelli per i quali non sono disponibili informazioni sul funzionamento interno.

Interpret-Community funge da host per i seguenti explainer supportati e attualmente supporta le tecniche di interpretabilità presentate nelle sezioni successive.

Supportato nel dashboard di intelligenza artificiale responsabile nell’SDK Python v2 e nell'interfaccia della riga di comando v2

Tecnica di interpretabilità Descrizione Tipo
Mimic Explainer (Global Surrogate) + SHAP Tree Mimic Explainer si basa sull'idea di eseguire il training di modelli surrogati globali per simulare modelli opaque-box. Un modello surrogato globale è un modello intrinsecamente interpretabile sottoposto a training per l’approssimazione delle stime di qualunque modello opaque-box con la massima accuratezza possibile.

I data scientist possono interpretare il modello surrogato per trarre conclusioni sul modello opaque-box. Il dashboard di intelligenza artificiale responsabile usa LightGBM (LGBMExplainableModel), associato a SHAP (SHapley Additive exPlanations) Tree Explainer, un explainer specifico per alberi e insiemi di alberi. La combinazione di lightGBM e SHAP Tree fornisce per i modelli di Machine Learning spiegazioni globali e locali indipendenti dal modello.
Indipendente dal modello

Tecniche di interpretabilità del modello supportate per modelli di testo

Tecnica di interpretabilità Descrizione Tipo Attività di testi
Testo SHAP SHAP (SHapley Additive exPlanations) è un metodo di spiegazione di uso comune per reti neurali profonde che fornisce informazioni dettagliate sul contributo di ogni funzionalità di input a una determinata stima. Si basa sul concetto dei valori Shapley, un metodo per l’assegnazione di credito a singoli giocatori in un gioco cooperativo. SHAP applica questo concetto alle funzionalità di input di una rete neurale calcolando il contributo medio di ogni funzionalità all'output del modello per tutte le possibili combinazioni di funzionalità. Per il testo in particolare, SHAP divide le parole in modo gerarchico, trattando ogni parola o token come funzionalità. Ciò produce un set di valori di attribuzione che quantificano l'importanza di ogni parola o token per la stima specificata. La mappa di attribuzione finale viene generata visualizzando questi valori come mappa termica sul documento di testo originario. SHAP è un metodo indipendente dal modello e può essere usato per spiegare un'ampia gamma di modelli di Deep Learning, tra cui CNN, RNN e trasformatori. Fornisce, inoltre, diverse proprietà auspicabili, ad esempio coerenza, accuratezza ed equità, per cui è una tecnica affidabile e interpretabile per comprendere il processo decisionale di un modello. Indipendente dal modello Classificazione multiclasse di testi, classificazione multietichetta di testi

Tecniche di interpretabilità del modello supportate per modelli di immagini

Tecnica di interpretabilità Descrizione Tipo Attività di visione
Visione SHAP SHAP (SHapley Additive exPlanations) è un metodo di spiegazione di uso comune per reti neurali profonde che fornisce informazioni dettagliate sul contributo di ogni funzionalità di input a una determinata stima. Si basa sul concetto dei valori Shapley, un metodo per l’assegnazione di credito a singoli giocatori in un gioco cooperativo. SHAP applica questo concetto alle funzionalità di input di una rete neurale calcolando il contributo medio di ogni funzionalità all'output del modello per tutte le possibili combinazioni di funzionalità. Per la visione in particolare, SHAP divide l'immagine in maniera gerarchica, trattando le aree superpixel dell'immagine come ogni funzionalità. Ciò produce un set di valori di attribuzione che quantificano l'importanza di ogni area immagine o superpixel per la stima specificata. La mappa di attribuzione finale viene generata visualizzando questi valori come mappa termica. SHAP è un metodo indipendente dal modello e può essere usato per spiegare un'ampia gamma di modelli di Deep Learning, tra cui CNN, RNN e trasformatori. Fornisce, inoltre, diverse proprietà auspicabili, ad esempio coerenza, accuratezza ed equità, per cui è una tecnica affidabile e interpretabile per comprendere il processo decisionale di un modello. Indipendente dal modello Classificazione multiclasse di immagini, classificazione multietichetta di immagini
Retropropagazione guidata La retropropagazione guidata è un metodo di spiegazione di uso comune per reti neurali profonde che fornisce informazioni dettagliate sulle rappresentazioni apprese del modello. Genera una visualizzazione delle funzionalità di input che attivano un particolare neurone nel modello, calcolando il gradiente dell'output rispetto all'immagine di input. A differenza di altri metodi basati su gradienti, la retropropagazione guidata esegue la retropropagazione solo tramite gradienti positivi e usa una funzione di attivazione ReLU modificata per garantire che i gradienti negativi non influiscano sulla visualizzazione. Ciò comporta una mappa di salienza più interpretabile e ad alta risoluzione che evidenzia le funzionalità più importanti nell'immagine di input per una determinata stima. La retropropagazione guidata può essere usata per spiegare un'ampia gamma di modelli di Deep Learning, tra cui reti neurali convoluzionali (CNN), reti neurali ricorrenti (RNN) e trasformatori. AutoML Classificazione multiclasse di immagini, classificazione multietichetta di immagini
GradCAM guidato GradCAM guidato è un metodo di spiegazione di uso comune per reti neurali profonde che fornisce informazioni dettagliate sulle rappresentazioni apprese del modello. Genera una visualizzazione delle funzionalità di input che contribuiscono maggiormente a una determinata classe di output, combinando l'approccio basato su gradiente della retropropagazione guidata con l'approccio di localizzazione di GradCAM. In particolare, calcola i gradienti della classe di output rispetto alle mappe delle funzionalità dell'ultimo livello convoluzionale nella rete, quindi assegna un peso a ogni mappa di funzionalità in base all'importanza dell'attivazione per tale classe. Ciò produce una mappa termica ad alta risoluzione che evidenzia le aree più discriminanti dell'immagine di input per la classe di output specificata. GradCAM guidato può essere usato per spiegare un'ampia gamma di modelli di Deep Learning, tra cui CNN, RNN e trasformatori. L’incorporazione della retropropagazione guidata, inoltre, garantisce che la visualizzazione sia significativa e interpretabile, evitando attivazioni spurie e contributi negativi. AutoML Classificazione multiclasse di immagini, classificazione multietichetta di immagini
Gradienti integrati Gradienti integrati è un metodo di spiegazione di uso comune per reti neurali profonde che fornisce informazioni dettagliate sul contributo di ogni funzionalità di input a una determinata stima. Calcola l'integrale del gradiente della classe di output rispetto all'immagine di input, lungo un percorso dritto tra un'immagine di base e l'immagine di input effettiva. Questo percorso generalmente viene scelto come interpolazione lineare tra le due immagini, con la linea di base come immagine neutra senza funzionalità salienti. Integrando il gradiente lungo questo percorso, Gradienti integrati fornisce una misura del modo in cui ogni funzionalità di input contribuisce alla stima, consentendo la generazione di una mappa di attribuzione. Questa mappa evidenzia le funzionalità di input più influenti e può essere usata per ottenere informazioni dettagliate sul processo decisionale del modello. Gradienti integrati può essere usato per spiegare un'ampia gamma di modelli di Deep Learning, tra cui CNN, RNN e trasformatori. Inoltre, è una tecnica su base teoretica che soddisfa un set di proprietà auspicabili, ad esempio sensibilità, invarianza dell'implementazione e completezza. AutoML Classificazione multiclasse di immagini, classificazione multietichetta di immagini
XRAI XRAI è un nuovo metodo di salienza basato su aree e si basa su Gradienti integrati (IG). Sovrasegmenta l'immagine e testa in modo iterativo l'importanza di ogni area, fondendo aree più piccole in segmenti più grandi in base ai punteggi di attribuzione. Questa strategia produce una qualità elevata e aree di salienza di alta qualità, strettamente vincolate, le cui prestazioni sono superiori a quelle delle tecniche di salienza esistenti. XRAI può essere usato con qualunque modello basato su DNN, purché sia disponibile un modo per raggruppare le funzionalità di input in segmenti tramite una metrica di similarità. AutoML Classificazione multiclasse di immagini, classificazione multietichetta di immagini
D-RISE D-RISE è un metodo indipendente dal modello per la creazione di spiegazioni visive per le stime dei modelli di rilevamento oggetti. Tenendo conto degli aspetti correlati sia alla localizzazione che alla categorizzazione del rilevamento oggetti, D-RISE può produrre mappe di salienza che evidenziano parti di un'immagine che contribuiscono maggiormente alla stima del rilevatore. A differenza dei metodi basati su gradienti, D-RISE è più generico e non ha bisogno di accedere al funzionamento interno del rilevatore di oggetti, ma richiede solo l'accesso agli input e agli output del modello. Il metodo può essere applicato ai rilevatori a singolo stadio (ad esempio YOLOv3), ai rilevatori a due stadi (ad esempio Faster-RCNN) e ai trasformatori di visione (ad esempio DETR, OWL-ViT).
D-Rise fornisce la mappa di salienza creando maschere casuali dell'immagine di input e la invia al rilevatore di oggetti con le maschere casuali dell'immagine di input. Valutando la modifica del punteggio del rilevatore di oggetti, aggrega tutti i rilevamenti con ogni maschera e produce una mappa di salienza finale.
Indipendente dal modello Rilevamento oggetti

Supportato nell’SDK Python v1

Tecnica di interpretabilità Descrizione Tipo
SHAP Tree Explainer SHAP Tree Explainer, incentrato su un algoritmo rapido di stima dei valori SHAP polinomiale, specifico per alberi e insiemi di alberi. Specifico del modello
SHAP Deep Explainer In base alla spiegazione di SHAP, Deep Explainer è un "algoritmo di approssimazione ad alta velocità per i valori SHAP in modelli di Deep Learning basati su una connessione con DeepLIFT descritto nel documento NIPS SHAP. Sono supportati i modelli TensorFlow e i modelli Keras che usano il back-end di TensorFlow; è disponibile anche il supporto preliminare per PyTorch". Specifico del modello
SHAP Linear Explainer SHAP Linear Explainer calcola i valori SHAP per un modello lineare, tenendo conto facoltativamente delle correlazioni tra le funzionalità. Specifico del modello
SHAP Kernel Explainer SHAP Kernel Explainer usa una regressione lineare locale ponderata appositamente per la stima dei valori SHAP per qualunque modello. Indipendente dal modello
Mimic Explainer (Global Surrogate) Mimic Explainer si basa sull'idea del training di modelli surrogati globali per la simulazione di modelli opaque-box. Un modello surrogato globale è un modello intrinsecamente interpretabile sottoposto a training per l’approssimazione delle stime di qualunque modello opaque-box con la massima accuratezza possibile. I data scientist possono interpretare il modello surrogato per trarre conclusioni sul modello opaque-box. È possibile usare uno dei modelli interpretabili seguenti come modello surrogato: LightGBM (LGBMExplainableModel), Linear Regression (LinearExplainableModel), Modello spiegabile Stochastic Gradient Descent (SGDExplainableModel) o Decision Tree (DecisionTreeExplainableModel). Indipendente dal modello
Explainer Permutation Feature Importance Permutation Feature Importance (PFI) è una tecnica usata per spiegare i modelli di classificazione e regressione ispirati al documento Random Forests di Breiman (vedere la sezione 10). Ad alto livello, la modalità di funzionamento consiste nello shuffing casuale dei dati, una funzionalità alla volta, per l'intero set di dati e nel calcolo della variazione della metrica delle prestazioni di interesse. Maggiore è la modifica, maggiore è l'importanza della funzionalità. PFI può spiegare il comportamento generale di qualunque modello sottostante, ma non spiega le singole stime. Indipendente dal modello

Oltre alle tecniche di interpretabilità descritte nella sezione precedente, è supportato un altro explainer basato su SHAP, denominato Tabular Explainer. A seconda del modello, Tabular Explainer usa uno degli explainer SHAP supportati:

  • Tree Explainer per tutti i modelli basati su albero
  • Deep Explainer per modelli di reti neurali profonde (DNN)
  • Linear Explainer per modelli lineari
  • Kernel Explainer per tutti gli altri modelli

Tabular Explainer ha anche apportato miglioramenti significativi delle funzionalità e delle prestazioni rispetto agli explainer SHAP diretti:

  • Riepilogo del set di dati di inizializzazione: quando la velocità della spiegazione è più importante, viene riepilogato il set di dati di inizializzazione e viene generato un piccolo set di campioni rappresentativi. Questo approccio accelera la generazione di valori di importanza generale e individuale delle funzionalità.
  • Campionamento del set di dati di valutazione: se si passa un set di campioni di valutazione di grandi dimensioni, anche se in realtà non è necessario valutarli tutti, è possibile impostare il parametro di campionamento su true per velocizzare il calcolo delle spiegazioni generali del modello.

Il diagramma seguente illustra la struttura corrente degli explainer supportati:

 Diagramma dell'architettura di interpretazione di Machine Learning.

Modelli di Machine Learning supportati

Il pacchetto azureml.interpret dell'SDK supporta i modelli sottoposti a training con i formati di set di dati seguenti:

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

Le funzioni di spiegazione accettano sia modelli che pipeline come input. Se viene fornito un modello, questo deve implementare la funzione di stima predict o predict_proba conforme alla convenzione Scikit. Se il modello non lo supporta, è possibile eseguirne il wrapping in una funzione che genera lo stesso risultato di predict o predict_proba in Scikit e usare tale funzione wrapper con l’explainer selezionato.

Se si fornisce una pipeline, la funzione di spiegazione presuppone che lo script della pipeline in esecuzione restituisca una stima. Quando si usa questa tecnica di wrapping, azureml.interpret può supportare modelli sottoposti a training tramite i framework di Deep Learning Keras, TensorFlow e PyTorch, nonché i classici modelli di Machine Learning.

Destinazione di calcolo locale e remota

Il pacchetto azureml.interpret è progettato per il funzionamento con destinazioni di calcolo locali e remote. Se si esegue il pacchetto in locale, le funzioni dell'SDK non contattano alcun servizio di Azure.

È possibile eseguire la spiegazione in remoto nell’ambiente di calcolo di Azure Machine Learning e registrare le informazioni di spiegazione nel servizio Cronologia di esecuzione di Azure Machine Learning. Dopo aver registrato queste informazioni, i report e le visualizzazioni della spiegazione sono immediatamente disponibili in Azure Machine Learning Studio per l'analisi.

Passaggi successivi