Introduzione
Questa pagina fornisce una breve panoramica concettuale dei metodi di attribuzione delle caratteristiche disponibili con Vertex AI. Per una discussione tecnica approfondita, consulta il nostro white paper sulle spiegazioni dell'AI.
L'importanza delle caratteristiche globali (attribuzioni delle funzionalità del modello) mostra l'impatto di ciascuna caratteristica su un modello. I valori sono forniti sotto forma percentuale per ogni caratteristica: più alta è la percentuale, maggiore è l'impatto della caratteristica sull'addestramento del modello. Ad esempio, dopo aver esaminato l'importanza globale delle funzionalità per il tuo modello, potresti giungere alla seguente conclusione: "Il modello rileva che le vendite del mese precedente sono in genere il miglior predittore delle vendite del mese successivo. Fattori come il numero di clienti e le promozioni sono importanti, ma meno importanti rispetto alle cifre di vendita".
Per visualizzare l'importanza delle caratteristiche globali del modello, esamina le metriche di valutazione.
Le attribuzioni delle caratteristiche locali per i modelli di serie temporali indicano in che misura ogni caratteristica di un modello ha contribuito a una previsione. Misurano il contributo di una caratteristica a una previsione rispetto a un riferimento di input. Per le caratteristiche numeriche come le vendite, l'input di base è la mediana delle vendite. Per le funzionalità categoriche come il nome del prodotto, l'input di base è il nome del prodotto più comune. La somma di tutte le attribuzioni non è la previsione. La somma indica di quanto la previsione differisce dalla previsione di base (ovvero tutti gli input sono input di base).
Le attribuzioni delle funzionalità sono determinate in base alle previsioni effettuate per gli
scenari controfattuali. Un esempio di previsione è il seguente: Quale sarebbe la
previsione se il valore della pubblicità di TRUE
il giorno 2020-11-21
fosse sostituito con
FALSE
, il valore più comune? Il numero richiesto di scenari controfattuali viene scalato
in base al numero di colonne e al numero di percorsi (generati dal servizio). Il numero di previsioni risultante potrebbe essere ordini di grandezza superiori rispetto a un'attività di previsione normale e il tempo di esecuzione previsto viene scalato di conseguenza.
Puoi utilizzare Previsione con AutoML o Workflow tabulare per la previsione per generare ed eseguire query sulle attribuzioni delle funzionalità locali. La previsione con AutoML supporta solo le previsioni batch. Il flusso di lavoro tabulare per la previsione supporta sia le previsioni batch che le previsioni online.
Vantaggi
Se esamini istanze specifiche e aggreghi anche le attribuzioni delle caratteristiche nel set di dati di addestramento, puoi ottenere informazioni più approfondite sul funzionamento del modello. Considera i seguenti vantaggi:
Debug dei modelli: le attribuzioni delle caratteristiche possono aiutare a rilevare problemi nei dati che le tecniche standard di valutazione dei modelli di solito non rilevano.
Ottimizzazione dei modelli: puoi identificare e rimuovere le funzionalità meno importanti, il che può portare a modelli più efficienti.
Limitazioni concettuali
Tieni presenti le seguenti limitazioni delle attribuzioni delle funzionalità:
Le attribuzioni delle funzionalità, inclusa l'importanza delle funzionalità locali per AutoML, sono specifiche per le singole inferenze. L'ispezione delle attribuzioni delle caratteristiche per una singola inferenza può fornire informazioni utili, ma queste potrebbero non essere generalizzabili all'intera classe per quella singola istanza o per l'intero modello.
Per ottenere informazioni più generalizzabili per i modelli AutoML, consulta l'importanza delle funzionalità del modello. Per ottenere informazioni più generalizzabili per altri modelli, aggregare le attribuzioni in sottoinsiemi del set di dati o nell'intero set di dati.
Ogni attribuzione mostra solo in che misura la funzionalità ha influito sull'inferenza per quell'esempio specifico. Una singola attribuzione potrebbe non riflettere il comportamento complessivo del modello. Per comprendere il comportamento approssimativo del modello su un intero set di dati, aggrega le attribuzioni sull'intero set di dati.
Sebbene le attribuzioni delle caratteristiche possano essere utili per il debug del modello, non indicano sempre chiaramente se un problema deriva dal modello o dai dati su cui viene addestrato il modello. Usa il tuo miglior giudizio e diagnostica i problemi comuni relativi ai dati per restringere il campo delle potenziali cause.
Le attribuzioni dipendono interamente dal modello e dai dati utilizzati per addestrarlo. Possono solo rivelare i pattern che il modello ha trovato nei dati e non possono rilevare alcuna relazione fondamentale nei dati. La presenza o l'assenza di un'attribuzione forte a una determinata funzionalità non significa che esista o meno una relazione tra questa funzionalità e il target. L'attribuzione mostra semplicemente se il modello utilizza o meno la funzionalità nelle sue inferenze.
Gli attributi da soli non possono indicare se il modello è equo, imparziale o di buona qualità. Valuta attentamente i dati di addestramento e le metriche di valutazione, oltre alle attribuzioni.
Per ulteriori informazioni sulle limitazioni, consulta il white paper sulle spiegazioni dell'IA.
Miglioramento delle attribuzioni di funzionalità
I seguenti fattori hanno il maggiore impatto sulle attribuzioni delle funzionalità:
- I metodi di attribuzione approssimano il valore di Shapley. Puoi aumentare la precisione dell'approssimazione aumentando il numero di percorsi per il metodo Shapley campionato. Di conseguenza, le attribuzioni potrebbero cambiare radicalmente.
- Le attribuzioni esprimono solo l'impatto della funzionalità sulla variazione del valore di inferenza rispetto al valore di base. Assicurati di scegliere una baseline significativa, pertinente alla domanda che poni al modello. I valori di attribuzione e la loro interpretazione potrebbero cambiare in modo significativo quando cambi le baseline.
Puoi visualizzare il conteggio dei percorsi e le baseline nei parametri e nei metadati della spiegazione.
Visualizzare i metadati e i parametri della spiegazione
I parametri e i metadati della spiegazione contengono quanto segue:
- static_value: i valori di riferimento utilizzati per generare le spiegazioni.
- pathCount: il numero di percorsi, un fattore che influisce sul tempo necessario per generare le attribuzioni delle funzionalità.
- historical_values, prediction_values: colonne disponibili nella previsione.
- historical_values: colonne non disponibili per la previsione.
Il modello può essere visualizzato utilizzando l'API REST Vertex AI e include la specifica di spiegazione.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione in cui è memorizzato il modello
- PROJECT: il tuo ID progetto
- MODEL_ID: l'ID della risorsa modello
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente per un modello AutoML addestrato.
Algoritmo
Vertex AI fornisce attribuzioni delle funzionalità utilizzando i valori di Shapley, un algoritmo di teoria dei giochi cooperativi che assegna il merito a ogni giocatore di una partita per un risultato particolare. Applicato ai modelli di machine learning, ciò significa che ogni caratteristica del modello viene trattata come un "giocatore" nel gioco e il credito viene assegnato in proporzione al risultato di una particolare inferenza. Per i modelli di dati strutturati, Vertex AI utilizza un'approssimazione di campionamento dei valori di Shapley esatti chiamata Shapley campionati.
Per informazioni dettagliate sul funzionamento del metodo di Shapley basato sul campionamento, leggi l'articolo Bounding the Estimation Error of Sampling-based Shapley Value Approximation.
Passaggi successivi
Le seguenti risorse forniscono ulteriore materiale didattico utile: