Questa pagina mostra come valutare i modelli di riconoscimento delle azioni video AutoML per replicarli.
Vertex AI fornisce metriche di valutazione dei modelli per aiutarti a determinare le prestazioni dei tuoi modelli, come metriche di precisione e richiamo. Vertex AI calcola le metriche di valutazione utilizzando il set di test.
Come utilizzare le metriche di valutazione del modello
Le metriche di valutazione del modello forniscono misurazioni quantitative delle prestazioni del modello nel set di test. Il modo in cui interpreti e utilizzi queste metriche dipende dalle esigenze aziendali e dal problema che il modello è addestrato a risolvere. Ad esempio, potresti avere una tolleranza più bassa per i falsi positivi rispetto ai falsi negativi o viceversa. Questi tipi di domande influiscono sulle metriche su cui concentrarsi.
Per ulteriori informazioni sull'iterazione del modello per migliorarne le prestazioni, consulta Eseguire iterazioni del modello.
Metriche di valutazione restituite da Vertex AI
Vertex AI restituisce molte metriche di valutazione diverse, come soglie di precisione, richiamo e confidenza. Le metriche restituite da Vertex AI dipendono dall'obiettivo del modello. Ad esempio, Vertex AI fornisce metriche di valutazione diverse per un modello di classificazione delle immagini rispetto a un modello di rilevamento di oggetti immagine.
Un file di schema, scaricabile da una località di Cloud Storage, determina quali metriche di valutazione vengono fornite da Vertex AI per ciascun obiettivo. Il seguente file di schema descrive le metriche di valutazione per il riconoscimento delle azioni video.
Puoi visualizzare e scaricare i file di schema dalla seguente posizione di Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: l'area sotto la curva di precisione-richiamo (PR), detta anche precisione media. Questo valore va da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- Lunghezza della finestra di precisione: i timestamp per le previsioni devono rientrare nella lunghezza di questa finestra per essere conteggiati come un vero positivo. Il centro della lunghezza della finestra di precisione è il timestamp dell'azione basata su dati empirici reali con questa lunghezza specifica. Il valore è espresso sotto forma di numero di secondi misurato dall'inizio del video, con l'aggiunta di "s" alla fine. Sono consentite le frazioni, con una precisione fino a un microsecondo.
- Precisione media media: nota anche come precisione media. Questo valore va da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- Soglia di affidabilità: un punteggio di confidenza che determina quali previsioni restituire. Un modello restituisce previsioni con questo valore o con un valore superiore. Una soglia di confidenza più alta aumenta la precisione, ma riduce l'identificazione. Vertex AI restituisce le metriche di affidabilità a valori di soglia diversi per mostrare in che modo la soglia influisce su precisione e richiamo.
- Richiamo: la frazione di previsioni con questa classe che il modello ha previsto correttamente. Chiamato anche tasso di veri positivi.
- Precisione: la frazione di previsioni di classificazione prodotte dal modello che sono state corrette.
- Punteggio F1: la media armonica di precisione e richiamo. F1 è una metrica utile per trovare un equilibrio tra precisione e richiamo qualora esista una distribuzione non uniforme delle classi.
Ottenere metriche di valutazione
Puoi ottenere un set aggregato di metriche di valutazione per il modello e, per alcuni obiettivi, metriche di valutazione per una determinata classe o etichetta. Le metriche di valutazione per una determinata classe o etichetta sono note anche come sezione di valutazione. I contenuti seguenti descrivono come ottenere metriche di valutazione aggregate e sezioni di valutazione utilizzando l'API o la console Google Cloud.
Console Google Cloud
Nella sezione Vertex AI della console Google Cloud, vai alla pagina Modelli.
Nel menu a discesa Regione, seleziona la regione in cui si trova il tuo modello.
Nell'elenco dei modelli, fai clic sul modello per aprire la scheda Valuta.
Nella scheda Valuta puoi visualizzare le metriche di valutazione aggregata del modello, come Precisione media e Richiamo.
Se l'obiettivo del modello ha sezioni di valutazione, la console mostra un elenco di etichette. Puoi fare clic su un'etichetta per visualizzarne le relative metriche di valutazione, come illustrato nell'esempio seguente:
API
Le richieste API per ottenere le metriche di valutazione sono le stesse per ogni tipo di dati e obiettivo, ma gli output sono diversi. I seguenti esempi mostrano la stessa richiesta, ma risposte diverse.
Ottenere metriche di valutazione dei modelli aggregate
Le metriche di valutazione del modello aggregato forniscono informazioni sul modello nel suo complesso. Per visualizzare informazioni su una sezione specifica, elenca le sezioni di valutazione del modello.
Per visualizzare le metriche di valutazione del modello aggregate, usa il metodo projects.locations.models.evaluations.get
.
Vertex AI restituisce un array di metriche di riconoscimento delle azioni video.
Ogni elemento mostra metriche di valutazione con valori precisionWindowLength
e confidenceThreshold
diversi.
Visualizzando le metriche di valutazione con valori di soglia di confidenza e lunghezza della finestra diversi, puoi capire in che modo questi influiscono su altre metriche, come precisione e richiamo.
Seleziona una scheda corrispondente alla tua lingua o al tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui è archiviato il modello.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID della risorsa modello.
- PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.
- EVALUATION_ID: ID per la valutazione del modello (visualizzato nella risposta).
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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/evaluations"
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/evaluations" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Elenco di tutte le sezioni di valutazione
Il metodo projects.locations.models.evaluations.slices.list
elenca tutte le sezioni di valutazione per il tuo modello. Devi avere l'ID di valutazione del modello, che puoi ottenere visualizzando le metriche di valutazione aggregate.
Puoi utilizzare le sezioni di valutazione del modello per determinare le prestazioni del modello su un'etichetta specifica. Il campo value
indica a quale etichetta sono utilizzate le metriche.
Vertex AI restituisce un array di metriche di riconoscimento delle azioni video.
Ogni elemento mostra metriche di valutazione con valori precisionWindowLength
e confidenceThreshold
diversi.
Visualizzando le metriche di valutazione con valori di soglia di confidenza e lunghezza della finestra diversi, puoi capire in che modo questi influiscono su altre metriche, come precisione e richiamo.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione del modello che contiene le sezioni di valutazione da elencare.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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/evaluations/EVALUATION_ID/slices"
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/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Recupero delle metriche per una singola sezione
Per visualizzare le metriche di valutazione per una singola sezione, utilizza il metodo projects.locations.models.evaluations.slices.get
. Devi disporre dell'ID sezione, che viene fornito quando elenchi tutte le sezioni. Il seguente esempio si applica a tutti i tipi di dati e gli obiettivi.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio, us-central1.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione del modello che contiene la sezione di valutazione da recuperare.
- SLICE_ID: ID di una sezione di valutazione da ottenere.
- PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: il nome di un file di schema che definisce le metriche di valutazione da restituire, ad esempio
classification_metrics_1.0.0
.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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/evaluations/EVALUATION_ID/slices/SLICE_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/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Esegui l'iterazione sul modello
Le metriche di valutazione del modello forniscono un punto di partenza per eseguire il debug del modello quando non soddisfa le tue aspettative. Ad esempio, punteggi bassi di precisione e richiamo possono indicare che il modello ha bisogno di ulteriori dati di addestramento o ha etichette incoerenti. Una precisione e un richiamo perfetti possono indicare che i dati del test sono troppo facili da prevedere e potrebbero non essere generalizzati.
Puoi eseguire l'iterazione dei dati di addestramento e creare un nuovo modello. Dopo aver creato un nuovo modello, puoi confrontare le metriche di valutazione tra il modello esistente e quello nuovo.
I seguenti suggerimenti possono aiutarti a migliorare i modelli che etichettano gli elementi, ad esempio i modelli di classificazione o rilevamento:
- Valuta la possibilità di aggiungere altri esempi o una gamma più ampia di esempi nei dati di addestramento. Per ulteriori indicazioni, consulta Preparazione dei dati.
- Valuta la possibilità di rimuovere classi o etichette che non hanno molti esempi. Esempi insufficienti impediscono al modello di fare previsioni in modo coerente e affidabile su quelle classi o etichette.
- Le macchine non possono interpretare il nome delle classi o delle etichette e non comprenderne le sfumature tra loro, ad esempio "porta" e "porta_con_manopola". Devi fornire dati per aiutare le macchine a riconoscere queste sfumature.
- Arricchisci i tuoi dati con più esempi di veri positivi e veri negativi, in particolare esempi che sono vicini al limite decisionale per ridurre la confusione del modello.
- Specifica la suddivisione dei dati (addestramento, convalida e test). Vertex AI assegna elementi a ciascun set in modo casuale. Di conseguenza, gli elementi quasi duplicati possono essere allocati nei set di addestramento e convalida, il che potrebbe portare a un overfitting e quindi a prestazioni scadenti per il set di test. Per saperne di più sull'impostazione della suddivisione dei dati, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML.
- Se le metriche di valutazione del modello includono una matrice di confusione, puoi vedere se il modello confonde due etichette, in quanto prevede una determinata etichetta molto di più dell'etichetta vera. Esamina i dati e assicurati che gli esempi siano etichettati correttamente.
- Se il tempo di addestramento è stato breve (numero massimo ridotto di ore nodo), potresti ottenere un modello di qualità superiore consentendone l'addestramento per un periodo di tempo più lungo (numero massimo maggiore di ore nodo).