Interpretabilità locale - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interpretabilità locale

I metodi più diffusi per l'interpretabilità locale di modelli complessi si basano su Shapley Additive Explainations (SHAP) [8] o sui gradienti integrati [11]. Ogni metodo ha una serie di varianti specifiche per un tipo di modello.

Per i modelli di gruppi di alberi, usa tree SHAP

Nel caso dei modelli ad albero, la programmazione dinamica consente un calcolo rapido ed esatto dei valori di Shapley per ciascuna caratteristica, e questo è l'approccio consigliato per le interpretazioni locali nei modelli di gruppi di alberi. (Vedi 7], l'implementazione è su https://github.com/slundberg/shap.)

Per reti neurali e modelli differenziabili, usa gradienti e conduttanza integrati

I gradienti integrati forniscono un modo semplice per calcolare le attribuzioni delle funzionalità nelle reti neurali. La conduttanza si basa su gradienti integrati per aiutarti a interpretare le attribuzioni di porzioni di reti neurali come strati e singoli neuroni. (Vedi [3,11], l'implementazione è su https://captum.ai/.) Non è possibile utilizzare questi metodi sui modelli senza utilizzare un gradiente; in questi casi, è possibile utilizzare invece Kernel SHAP (discusso nella sezione successiva). Quando il gradiente è disponibile, le attribuzioni di gradienti integrate possono essere calcolate più rapidamente rispetto alle attribuzioni del Kernel SHAP. Una sfida nell'utilizzo di gradienti integrati è scegliere il miglior punto base per derivare un'interpretazione. Ad esempio, se il punto base di un modello di immagine è l'immagine di intensità zero in tutti i pixel, le aree importanti di un'immagine più scure potrebbero non avere attribuzioni in linea con l'intuizione umana. Un approccio per risolvere questo problema consiste nell'utilizzare più attribuzioni di punti base e sommarle. Questo fa parte dell'approccio adottato nel metodo di attribuzione delle caratteristiche XRAI per le immagini [5], in cui le attribuzioni del gradiente integrate che utilizzano un'immagine di riferimento nera e un'immagine di riferimento bianca vengono sommate per produrre attribuzioni più coerenti.

Per tutti gli altri casi, usa Kernel SHAP

Puoi usare Kernel SHAP per calcolare le attribuzioni delle funzionalità per qualsiasi modello, ma è un'approssimazione al calcolo dei valori completi di Shapley e rimane costoso dal punto di vista computazionale (vedi [8]). Le risorse computazionali richieste per Kernel SHAP crescono rapidamente con il numero di funzionalità. Ciò richiede metodi di approssimazione in grado di ridurre la fedeltà, la ripetibilità e la robustezza delle spiegazioni. Amazon SageMaker Clarify offre metodi pratici che implementano contenitori predefiniti per il calcolo dei valori Kernal SHAP in istanze separate. (Per un esempio, consulta il GitHub repository Fairness and Explainability with SageMaker Clarify.)

Per i modelli ad albero singolo, le variabili di divisione e i valori delle foglie forniscono un modello immediatamente spiegabile e i metodi discussi in precedenza non forniscono informazioni aggiuntive. Allo stesso modo, per i modelli lineari, i coefficienti forniscono una chiara spiegazione del comportamento del modello. (SHAP e i metodi a gradiente integrato restituiscono entrambi contributi determinati dai coefficienti.)

Sia i metodi SHAP che quelli integrati basati su gradienti presentano punti deboli. SHAP richiede che le attribuzioni siano derivate da una media ponderata di tutte le combinazioni di funzionalità. Le attribuzioni ottenute in questo modo possono essere fuorvianti quando si stima l'importanza delle caratteristiche se esiste una forte interazione tra le caratteristiche. I metodi basati su gradienti integrati possono essere difficili da interpretare a causa del gran numero di dimensioni presenti nelle grandi reti neurali e questi metodi sono sensibili alla scelta di un punto base. Più in generale, i modelli possono utilizzare le funzionalità in modi inaspettati per raggiungere un determinato livello di prestazioni e questi possono variare in base al modello: l'importanza delle funzionalità dipende sempre dal modello.

Visualizzazioni consigliate

La tabella seguente presenta diversi modi consigliati per visualizzare le interpretazioni locali discusse nelle sezioni precedenti. Per i dati tabulari consigliamo un semplice grafico a barre che mostri le attribuzioni, in modo che possano essere facilmente confrontate e utilizzate per dedurre come il modello sta facendo previsioni.

Visualizzazione delle interpretazioni locali mediante un grafico a barre

Per i dati di testo, l'incorporamento di token porta a un gran numero di input scalari. I metodi consigliati nelle sezioni precedenti producono un'attribuzione per ogni dimensione dell'incorporamento e per ogni output. Per distillare queste informazioni in una visualizzazione, è possibile sommare le attribuzioni per un determinato token. L'esempio seguente mostra la somma delle attribuzioni per il modello di risposta alle domande basato sul BERT che è stato addestrato sul set di dati SQUAD. In questo caso, l'etichetta predetta e vera è il simbolo della parola «francia».

Somma delle attribuzioni per un modello di risposta alle domande basato sul BERT che è stato addestrato sul set di dati SQUAD, esempio 1

Altrimenti, la norma vettoriale delle attribuzioni dei token può essere assegnata come valore di attribuzione totale, come mostrato nell'esempio seguente.

Somma delle attribuzioni per un modello di risposta alle domande basato sul BERT che è stato addestrato sul set di dati SQUAD, esempio 2

Per i livelli intermedi nei modelli di deep learning, aggregazioni simili possono essere applicate alle conduttanze per la visualizzazione, come mostrato nell'esempio seguente. Questa norma vettoriale della conduttanza dei token per gli strati del trasformatore mostra l'eventuale attivazione della previsione del token finale («francia»).

Per i livelli intermedi nei modelli di deep learning, in che modo le aggregazioni possono essere applicate alle conduttanze per la visualizzazione

I vettori di attivazione concettuale forniscono un metodo per studiare le reti neurali profonde in modo più dettagliato [6]. Questo metodo estrae le caratteristiche da un layer in una rete già addestrata e addestra un classificatore lineare su tali caratteristiche per fare inferenze sulle informazioni nel layer. Ad esempio, potresti voler determinare quale livello di un modello linguistico basato su BERT contiene la maggior parte delle informazioni sulle parti del discorso. In questo caso, puoi addestrare un part-of-speech modello lineare su ogni output di livello e fare una stima approssimativa che il classificatore con le migliori prestazioni sia associato al livello che contiene più part-of-speech informazioni. Sebbene non lo raccomandiamo come metodo principale per interpretare le reti neurali, può essere un'opzione per uno studio più dettagliato e un aiuto nella progettazione dell'architettura di rete.