Introduzione
Questa guida per principianti è un'introduzione ad AutoML. Per comprendere le principali differenze tra AutoML e l'addestramento personalizzato, consulta la sezione Scegliere un metodo di addestramento.
Immagina:
- Sei l'allenatore di una squadra di calcio.
- Lavori nel reparto marketing di un rivenditore digitale.
- Stai lavorando a un progetto architettonico che identifica i tipi di edifici.
- La tua attività ha un modulo di contatto sul suo sito web.
Il lavoro di curare manualmente video, immagini, testi e tabelle è noioso e dispendioso in termini di tempo. Non sarebbe più semplice insegnare a un computer a identificare e segnalare automaticamente i contenuti?
Immagine
Lavori con un consiglio per la conservazione architettonica che sta cercando di identificare
i quartieri della tua città che hanno uno stile architettonico coerente. Hai centinaia di migliaia di snapshot di case da esaminare. Tuttavia, è noioso e soggetto a errori quando
si tenta di classificare tutte queste immagini manualmente. Un tirocinante ne ha etichettati alcune centinaia
qualche mese fa, ma nessun altro ha esaminato i dati. Sarebbe molto utile se potessi insegnare
al tuo computer a fare questa revisione per te.
Tabulare
Lavori nel reparto marketing di un rivenditore digitale. Tu e il tuo team state
creando un programma email personalizzato basato sulle buyer persona. Hai creato le buyer persona e le email di marketing sono pronte per essere inviate. Ora devi creare un sistema che raggruppi i clienti in ogni buyer persona in base alle preferenze di vendita al dettaglio e al comportamento di spesa, anche quando si tratta di nuovi clienti. Per massimizzare il coinvolgimento dei clienti, vuoi anche prevedere le loro abitudini di spesa in modo da poter ottimizzare i tempi di invio delle email.
In qualità di rivenditore digitale, disponi di dati sui tuoi clienti e sugli acquisti che hanno effettuato. Ma che dire dei nuovi clienti? Gli approcci tradizionali possono calcolare questi valori per i clienti esistenti con lunghe cronologie acquisti, ma non funzionano bene con i clienti con pochi dati storici. E se potessi creare un sistema per prevedere questi valori e aumentare la velocità con cui offri programmi di marketing personalizzati a tutti i tuoi clienti?
Fortunatamente, il machine learning e Vertex AI sono ben posizionati per risolvere questi problemi.
Testo
La tua attività ha un modulo di contatto sul suo sito web. Ogni giorno ricevi molti messaggi dal
modulo, molti dei quali sono in qualche modo azionabili. Poiché arrivano tutti insieme, è facile
rimanere indietro nella gestione. Dipendenti diversi gestiscono tipi di messaggi diversi.
Sarebbe fantastico se un sistema automatizzato potesse classificarli in modo che la persona giusta veda
i commenti giusti.
Hai bisogno di un sistema per esaminare i commenti e decidere se rappresentano reclami, elogi per un servizio passato, un tentativo di saperne di più sulla tua attività, una richiesta di fissare un appuntamento o un tentativo di stabilire una relazione.
Video
Hai una vasta raccolta di video di giochi che vorresti utilizzare per l'analisi. Ma ci sono centinaia di ore di video da rivedere. Il lavoro di guardare ogni video e contrassegnare manualmente i segmenti per evidenziare ogni azione è noioso e richiede molto tempo. e devi ripetere questa operazione ogni stagione. Ora immagina un modello di computer in grado di identificare e segnalare automaticamente queste azioni ogni volta che compaiono in un video.
Di seguito sono riportati alcuni scenari specifici per obiettivo.
- Riconoscimento delle azioni: trova azioni come segnare un gol, commettere un fallo, tirare un rigore. Utile agli allenatori per studiare i punti di forza e di debolezza della propria squadra.
- Classificazione: classifica ogni ripresa video come intervallo, visualizzazione della partita, visualizzazione del pubblico o visualizzazione dell'allenatore. Utile per gli allenatori per sfogliare solo le riprese video di interesse.
- Monitoraggio di oggetti: monitora il pallone da calcio o i giocatori. Utile agli allenatori per ottenere le statistiche dei giocatori, come la mappa termica sul campo e la percentuale di passaggi riusciti.
Questa guida illustra il funzionamento di Vertex AI per i set di dati e i modelli AutoML e mostra i tipi di problemi che Vertex AI è progettata per risolvere.
Una nota sull'equità
Google si impegna a fare progressi nel seguire le pratiche di AI responsabile. A questo scopo, i nostri prodotti di ML, tra cui AutoML, sono progettati in base a principi fondamentali come l'equità e l'apprendimento automatico incentrato sull'essere umano. Per saperne di più sulle best practice per ridurre il bias durante la creazione del tuo sistema ML, consulta la Guida al machine learning inclusivo - AutoML.
Perché Vertex AI è lo strumento giusto per questo problema?
La programmazione classica richiede al programmatore di specificare istruzioni passo passo che il computer deve seguire. Prendi in considerazione il caso d'uso dell'identificazione di azioni specifiche nelle partite di calcio. Esistono così tante variazioni di colore, angolazione, risoluzione e illuminazione che sarebbe necessario codificare un numero eccessivo di regole per indicare a una macchina come prendere la decisione corretta. È difficile immaginare da dove iniziare. Oppure, quando i commenti dei clienti, che utilizzano un vocabolario e una struttura ampi e variegati, sono troppo diversi per essere acquisiti da un semplice insieme di regole. Se provassi a creare filtri manuali, ti renderesti conto rapidamente di non essere in grado di classificare la maggior parte dei commenti dei clienti. Hai bisogno di un sistema che possa generalizzare un'ampia gamma di commenti. In uno scenario in cui una sequenza di regole specifiche è destinata a espandersi in modo esponenziale, è necessario un sistema in grado di apprendere dagli esempi.
Fortunatamente, il machine learning è in grado di risolvere questi problemi.
Come funziona Vertex AI?
Vertex AI prevede attività di apprendimento supervisionato per raggiungere un risultato scelto.
I dettagli dell'algoritmo e dei metodi di addestramento cambiano in base al
tipo di dati e
al caso d'uso. Esistono molte sottocategorie diverse di machine learning,
ognuna delle quali risolve problemi diversi e opera entro vincoli diversi.
Immagine
Addestri, testi e convalidi il modello di machine learning con immagini di esempio annotate con etichette per la classificazione o con etichette e riquadri di delimitazione per il rilevamento di oggetti. Utilizzando l'apprendimento supervisionato, puoi addestrare un modello a riconoscere i pattern e i contenuti che ti interessano nelle immagini.
Tabulare
Addestri un modello di machine learning con dati di esempio. Vertex AI
utilizza i dati tabulari (strutturati) per addestrare un modello di machine learning per fare
inferenze sui nuovi dati. Il modello imparerà a fare previsioni sui dati di una singola colonna del set di dati, chiamata target. Alcune delle altre colonne di dati
sono gli input (chiamati caratteristiche) da cui il modello apprenderà i pattern. Puoi
utilizzare le stesse caratteristiche di input per creare diversi tipi di modelli, semplicemente modificando
la colonna target e le opzioni di addestramento. Dall'esempio di email marketing, ciò
significa che potresti creare modelli con le stesse caratteristiche di input, ma con inferenze
di target diverse. Un modello potrebbe prevedere la persona tipo di un cliente (un
target categorico), un altro modello potrebbe prevedere la sua spesa mensile (un
target numerico) e un altro ancora potrebbe prevedere la domanda giornaliera dei tuoi prodotti
per i prossimi tre mesi (serie di target numerici).
Testo
Vertex AI ti consente di eseguire l'apprendimento supervisionato. Ciò comporta l'addestramento di un computer per riconoscere i pattern dai dati etichettati. Utilizzando l'apprendimento supervisionato, puoi addestrare un modello AutoML per riconoscere i contenuti che ti interessano nel testo.
Video
Addestri, testi e convalidi il modello di machine learning con i video che hai già etichettato. Con un modello addestrato, puoi inserire nuovi video, che generano segmenti video con etichette. Un segmento video definisce l'offset temporale dell'ora di inizio e di fine all'interno di un video. Il segmento può essere l'intero video, un segmento di tempo definito dall'utente, una ripresa video rilevata automaticamente o semplicemente un timestamp per quando l'ora di inizio è uguale all'ora di fine. Un'etichetta è una "risposta" prevista dal modello. Ad esempio, nei casi d'uso del calcio menzionati in precedenza, per ogni nuovo video di calcio, a seconda del tipo di modello:
- un modello di riconoscimento delle azioni addestrato restituisce offset temporali video con etichette che descrivono le azioni come "gol", "fallo personale" e così via.
- un modello di classificazione addestrato restituisce segmenti di inquadratura rilevati automaticamente con etichette definite dall'utente come "visualizzazione partita" e "visualizzazione pubblico".
- un modello di tracciamento degli oggetti addestrato restituisce le traiettorie del pallone o dei giocatori tramite riquadri di delimitazione nei frame in cui compaiono gli oggetti.
Flusso di lavoro Vertex AI
Vertex AI utilizza un flusso di lavoro di machine learning standard:
- Raccogli i dati: determina i dati necessari per l'addestramento e il test del modello in base al risultato che vuoi ottenere.
- Prepara i dati: assicurati che siano formattati ed etichettati correttamente.
- Addestra: imposta i parametri e crea il modello.
- Valuta: esamina le metriche del modello.
- Esegui il deployment e la previsione: rendi disponibile il tuo modello.
Preparazione dei dati
Prima di iniziare a raccogliere i dati, devi pensare al problema che stai cercando di risolvere. In questo modo, verranno definiti i requisiti dei dati.
Valuta il tuo caso d'uso
Inizia dal problema: qual è il risultato che vuoi ottenere?
Immagine
Quando crei il set di dati, inizia sempre dal tuo caso d'uso. Puoi iniziare con le seguenti domande:
- Qual è il risultato che stai cercando di ottenere?
- Quali tipi di categorie o oggetti dovresti riconoscere per raggiungere questo risultato?
- È possibile per gli esseri umani riconoscere queste categorie? Sebbene Vertex AI possa gestire un numero maggiore di categorie rispetto a quelle che gli esseri umani possono ricordare e assegnare in un determinato momento, se un essere umano non riesce a riconoscere una categoria specifica, anche Vertex AI avrà difficoltà.
- Quali tipi di esempi riflettono meglio il tipo e l'intervallo di dati che il tuo sistema vedrà e cercherà di classificare?
Tabulare
Che tipo di dati contiene la colonna target? A quanti dati hai accesso? In base alle tue risposte, Vertex AI crea il modello necessario per risolvere il tuo caso d'uso:
- Un modello di classificazione binaria prevede un risultato binario (una delle due classi). Utilizza questo tipo di domanda per domande con risposta sì o no, ad esempio per prevedere se un cliente acquisterà un abbonamento (o meno). A parità di condizioni, un problema di classificazione binaria richiede meno dati rispetto ad altri tipi di modelli.
- Un modello di classificazione multi-classe prevede una classe da tre o più classi discrete. Utilizzalo per categorizzare gli elementi. Per l'esempio di vendita al dettaglio, ti consigliamo di creare un modello di classificazione multiclasse per segmentare i clienti in diverse buyer persona.
- Un modello di previsione prevede una sequenza di valori. Ad esempio, in qualità di rivenditore, potresti voler prevedere la domanda giornaliera dei tuoi prodotti per i prossimi tre mesi, in modo da poter fare scorta di inventari in anticipo.
- Un modello di regressione prevede un valore continuo. Per l'esempio di vendita al dettaglio, ti consigliamo di creare un modello di regressione per prevedere quanto spenderà un cliente il mese successivo.
Testo
Quando crei il set di dati, inizia sempre dal tuo caso d'uso. Puoi iniziare con le seguenti domande:
- Quale risultato stai cercando di ottenere?
- Quali tipi di categorie devi riconoscere per raggiungere questo risultato?
- È possibile per gli esseri umani riconoscere queste categorie? Sebbene Vertex AI possa gestire più categorie di quelle che gli esseri umani possono ricordare e assegnare in un determinato momento, se una persona non riesce a riconoscere una categoria specifica, anche Vertex AI avrà difficoltà.
- Quali tipi di esempi riflettono meglio il tipo e l'intervallo di dati che il sistema classificherà?
Video
A seconda del risultato che cerchi di ottenere, seleziona l'obiettivo del modello appropriato:
- Per rilevare i momenti di azione in un video, ad esempio identificare un gol, un fallo o un calcio di rigore, utilizza l'obiettivo Riconoscimento delle azioni.
- Per classificare le inquadrature TV nelle seguenti categorie: pubblicità, notizie, programmi TV e così via, utilizza l'obiettivo Classificazione.
- Per individuare e monitorare gli oggetti in un video, utilizza l'obiettivo Monitoraggio degli oggetti.
Per le best practice per la preparazione dei set di dati, consulta queste pagine per gli obiettivi di riconoscimento delle azioni, classificazione e monitoraggio degli oggetti, rispettivamente.
Raccogliere i dati
Dopo aver stabilito il caso d'uso, devi raccogliere i dati che ti consentono di creare il modello che desideri.
Immagine
Dopo aver stabilito quali dati ti servono, devi trovare un modo per procurarteli. Puoi
iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire di
raccogliere già i dati pertinenti necessari per addestrare un modello. Se non disponi di questi dati,
puoi ottenerli manualmente o esternalizzarli a un fornitore di terze parti.
Includi un numero sufficiente di esempi etichettati in ogni categoria
Il minimo indispensabile richiesto da Vertex AI Training è di 100 esempi di immagini per categoria/etichetta per la classificazione.
La probabilità di riconoscere correttamente un'etichetta aumenta con il numero di esempi di alta qualità per ciascuna; in generale, più dati etichettati puoi portare al processo di addestramento, migliore sarà il modello. Scegli come target almeno 1000 esempi per etichetta.
Distribuire gli esempi in modo uniforme tra le categorie
È importante acquisire una quantità di esempi di addestramento più o meno simile per ogni categoria. Anche
se hai molti dati per un'etichetta, è meglio avere una distribuzione uniforme per
ogni etichetta. Per capire il motivo, immagina che l'80% delle immagini che utilizzi per creare il modello siano foto
di case unifamiliari in stile moderno. Con una distribuzione così sbilanciata delle etichette, è molto probabile che il modello impari che è sicuro dirti che una foto è di una casa unifamiliare moderna, piuttosto che rischiare di prevedere un'etichetta molto meno comune.
È come scrivere un test a scelta multipla in cui quasi tutte le risposte corrette sono "C". Presto
il tuo esaminando esperto capirà che può rispondere "C" ogni volta senza nemmeno guardare
la domanda.
Ci rendiamo conto che potrebbe non essere sempre possibile trovare un numero di esempi approssimativamente uguale per ogni etichetta. Potrebbe essere più difficile trovare esempi imparziali e di alta qualità per alcune categorie. In queste circostanze, puoi seguire questa regola empirica: l'etichetta con il numero più basso di esempi deve avere almeno il 10% degli esempi dell'etichetta con il numero più alto di esempi. Quindi, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola deve averne almeno 1000.
Acquisire la variazione nello spazio del problema
Per motivi simili, cerca di assicurarti che i tuoi dati catturino la varietà e la diversità del tuo
spazio problematico. Più ampia è la selezione che il processo di addestramento del modello riesce a vedere, più facilmente
generalizzerà i nuovi esempi. Ad esempio, se stai cercando di classificare le foto di elettronica di consumo in categorie, più ampia è la varietà di elettronica di consumo a cui il modello è esposto durante l'addestramento, più è probabile che sia in grado di distinguere tra un nuovo modello di tablet, smartphone o laptop, anche se non ha mai visto quel modello specifico prima.
Far corrispondere i dati all'output previsto per il modello
Trova immagini visivamente simili a quelle su cui prevedi di fare inferenze. Se stai
cercando di classificare immagini di case scattate tutte in condizioni invernali nevose, probabilmente non
otterrai un ottimo rendimento da un modello addestrato solo su immagini di case scattate in condizioni di sole anche se
le hai taggate con le classi che ti interessano, poiché l'illuminazione e lo scenario potrebbero essere
abbastanza diversi da influire sul rendimento. Idealmente, gli esempi di addestramento sono dati reali
estratti dallo stesso set di dati che prevedi di utilizzare per classificare il modello.
Tabulare
Dopo aver stabilito il caso d'uso, devi raccogliere i dati per addestrare il modello.
L'ottenimento e la preparazione dei dati sono passaggi fondamentali per la creazione di un modello di machine learning.
I dati a tua disposizione determinano il tipo di problemi che puoi risolvere. Quanti dati hai a disposizione? I dati sono pertinenti alle domande a cui stai cercando di rispondere? Durante la
raccolta dei dati, tieni presente le seguenti considerazioni chiave.
Seleziona le funzionalità pertinenti
Una funzionalità è un attributo di input utilizzato per l'addestramento del modello. Le funzionalità sono il modo in cui il modello identifica i pattern per fare inferenze, quindi devono essere pertinenti al problema. Ad esempio, per creare un modello che preveda se una transazione con carta di credito è fraudolenta o meno, devi creare un set di dati che contenga i dettagli della transazione, come acquirente, venditore, importo, data e ora e articoli acquistati. Altre funzionalità utili potrebbero essere informazioni storiche sull'acquirente e sul venditore e la frequenza con cui l'articolo acquistato è stato coinvolto in frodi. Quali altre funzionalità potrebbero essere pertinenti?
Considera il caso d'uso del marketing via email per la vendita al dettaglio dell'introduzione. Ecco alcune colonne delle funzionalità che potresti richiedere:
- Elenco degli articoli acquistati (inclusi brand, categorie, prezzi, sconti)
- Numero di articoli acquistati (ultimo giorno, settimana, mese, anno)
- Somma di denaro speso (ultimo giorno, settimana, mese, anno)
- Per ogni articolo, il numero totale venduto ogni giorno
- Per ogni articolo, il totale disponibile ogni giorno
- Se stai organizzando una promozione per un giorno specifico
- Profilo demografico noto dell'acquirente
Includere dati sufficienti
In generale, più esempi di addestramento hai, migliore sarà il risultato. La quantità di dati di esempio
richiesti varia anche in base alla complessità del problema che stai cercando di risolvere. Non avrai bisogno di tanti dati per ottenere un modello di classificazione binaria accurato rispetto a un modello multiclasse
perché è meno complicato prevedere una classe da due piuttosto che da molte.
Non esiste una formula perfetta, ma sono consigliati valori minimi per i dati di esempio:
- Problema di classificazione: 50 righe x il numero di caratteristiche
- Problema di previsione:
- 5000 righe x il numero di caratteristiche
- 10 valori univoci nella colonna dell'identificatore della serie temporale x il numero di funzionalità
- Problema di regressione: 200 x il numero di funzionalità
Acquisizione della variante
Il set di dati deve riflettere la diversità dello spazio del problema. Più esempi diversi vede un modello durante l'addestramento, più facilmente può generalizzare a esempi nuovi o meno comuni. Immagina se il tuo modello di vendita al dettaglio fosse addestrato solo utilizzando i dati di acquisto dell'inverno. Sarebbe in grado di prevedere correttamente le preferenze di abbigliamento estivo o i comportamenti di acquisto?
Testo
Dopo aver stabilito quali dati ti serviranno, devi trovare un modo per reperirli. Puoi
iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire di
raccogliere già i dati necessari per addestrare un modello. Se non disponi dei dati che ti servono, puoi ottenerli manualmente o esternalizzarli a un fornitore di terze parti.
Includi un numero sufficiente di esempi etichettati in ogni categoria
La probabilità di riconoscere correttamente un'etichetta aumenta con il numero di esempi di alta qualità per ciascuna; in generale, più dati etichettati riesci a portare al processo di addestramento, migliore sarà il modello. Il numero di campioni necessari varia anche in base al grado di
coerenza dei dati che vuoi prevedere e al livello di accuratezza target. Puoi utilizzare
meno esempi per set di dati coerenti o per ottenere una precisione dell'80% anziché del 97%.
Addestra un modello e poi valuta i risultati. Aggiungi altri esempi e
esegui il retrain finché non raggiungi i tuoi obiettivi di accuratezza, il che potrebbe richiedere centinaia o addirittura migliaia di
esempi per etichetta. Per ulteriori informazioni sui requisiti e sui consigli relativi ai dati, consulta la sezione
Preparazione
dei dati di addestramento testo per i modelli AutoML.
Distribuire gli esempi in modo uniforme tra le categorie
È importante acquisire un numero di esempi di addestramento più o meno simile per ogni categoria. Anche
se hai molti dati per un'etichetta, è meglio avere una distribuzione uniforme per
ogni etichetta. Per capire perché, immagina che l'80% dei commenti dei clienti che utilizzi per creare il modello
siano richieste di preventivo. Con una distribuzione così sbilanciata delle etichette, è molto probabile che il modello
impari che è sicuro dirti che il commento di un cliente è una richiesta di preventivo, anziché
cercare di prevedere un'etichetta molto meno comune. È come scrivere un test a scelta multipla in cui quasi
tutte le risposte corrette sono "C". Presto, il tuo studente esperto capirà che può rispondere "C"
ogni volta senza nemmeno guardare la domanda.
Potrebbe non essere sempre possibile trovare un numero di esempi approssimativamente uguale per ogni etichetta. Potrebbe essere più difficile trovare esempi imparziali e di alta qualità per alcune categorie. In queste circostanze, l'etichetta con il numero più basso di esempi deve avere almeno il 10% degli esempi dell'etichetta con il numero più alto di esempi. Quindi, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola deve averne almeno 1000.
Acquisire la variazione nello spazio del problema
Per motivi simili, cerca di fare in modo che i dati catturino la varietà e la diversità del tuo spazio di problemi. Se fornisci un insieme più ampio di esempi, il modello è in grado di generalizzare meglio i nuovi dati. Supponiamo che tu stia cercando di classificare gli articoli sull'elettronica di consumo in argomenti. Più
nomi di brand e specifiche tecniche fornisci, più sarà facile per il modello
capire l'argomento di un articolo, anche se l'articolo riguarda un brand che non è stato incluso
nel set di addestramento. Potresti anche prendere in considerazione l'inserimento di un'etichetta "Nessuna delle precedenti" per
i documenti che non corrispondono a nessuna delle etichette definite per migliorare ulteriormente il rendimento del modello.
Far corrispondere i dati all'output previsto per il modello
Trova esempi di testo simili a quelli su cui prevedi di effettuare le previsioni. Se stai
cercando di classificare i post sui social media sulla soffiatura del vetro, probabilmente non otterrai ottimi
risultati da un modello addestrato su siti web di informazioni sulla soffiatura del vetro, poiché il vocabolario e
lo stile potrebbero essere diversi. Idealmente, gli esempi di addestramento sono dati reali estratti dallo stesso set di dati che prevedi di utilizzare per classificare il modello.
Video
Dopo aver stabilito il caso d'uso, dovrai raccogliere i dati video che ti consentiranno di
creare il modello che desideri. I dati che raccogli per l'addestramento determinano il tipo di problemi che puoi risolvere. Quanti video puoi utilizzare? I video contengono esempi sufficienti di ciò che vuoi
che il modello preveda? Durante la raccolta dei dati dei video, tieni presente quanto segue.
Includere un numero sufficiente di video
In generale, più video di addestramento ci sono nel tuo set di dati, migliore sarà il risultato. Il numero di
video consigliati aumenta in base alla complessità del problema che stai cercando di risolvere. Ad esempio, per la classificazione avrai bisogno di meno dati video per un problema di classificazione binaria (previsione di una classe su due) rispetto a un problema con più etichette (previsione di una o più classi su molte).
Anche la complessità di ciò che stai cercando di fare determina la quantità di dati video di cui hai bisogno. Prendi in considerazione il caso d'uso del calcio per la classificazione, ovvero la creazione di un modello per distinguere le foto d'azione dall'addestramento di un modello in grado di classificare diversi stili di nuoto. Ad esempio, per distinguere tra rana, farfalla, dorso e così via, avrai bisogno di più dati di addestramento per identificare i diversi stili di nuoto e aiutare il modello a imparare a identificare ogni tipo con precisione. Consulta Preparazione dei dati video per indicazioni su come comprendere le tue esigenze minime di dati video per il riconoscimento delle azioni, la classificazione e il monitoraggio degli oggetti.
La quantità di dati video richiesta potrebbe essere superiore a quella attualmente disponibile. Valuta la possibilità di ottenere altri video tramite un fornitore di terze parti. Ad esempio, potresti acquistare o ottenere altri video di colibrì se non ne hai abbastanza per il modello di identificatore di azioni di gioco.
Distribuire i video in modo uniforme tra le classi
Cerca di fornire un numero simile di esempi di addestramento per ogni classe. Ecco perché: immagina che
l'80% del tuo set di dati di addestramento sia costituito da video di partite di calcio con tiri in porta, ma solo il 20% dei video
mostri falli personali o calci di rigore. Con una distribuzione così disomogenea delle classi, il modello
è più propenso a prevedere che una determinata azione sia un obiettivo. È come scrivere un test a scelta multipla in cui l'80% delle risposte corrette è "C": il modello intelligente capirà rapidamente che "C" è una buona ipotesi la maggior parte delle volte.
Potrebbe non essere possibile trovare un numero uguale di video per ogni classe. Esempi di alta qualità e imparziali potrebbero essere difficili anche per alcune classi. Cerca di seguire un rapporto di 1:10: se la classe più grande ha 10.000 video, la più piccola dovrebbe averne almeno 1000.
Acquisizione della variante
I dati video devono riflettere la diversità dello spazio del problema. Più esempi diversi vede un modello durante l'addestramento, più facilmente può generalizzare a esempi nuovi o meno comuni. Pensa al modello di classificazione delle azioni di calcio: assicurati di includere video con una varietà di angolazioni di ripresa, orari diurni e notturni e movimenti dei giocatori. L'esposizione del modello a una diversità di dati migliora la sua capacità di distinguere un'azione da un'altra.
Corrispondenza dei dati con l'output previsto

Trova video di addestramento visivamente simili a quelli che prevedi di inserire nel modello per la previsione. Ad esempio, se tutti i tuoi video di allenamento sono stati girati in inverno o di sera, i pattern di illuminazione e colore in questi ambienti influenzeranno il modello. Se utilizzi questo modello per testare video girati in estate o alla luce del giorno, potresti non ricevere previsioni accurate.
Considera questi fattori aggiuntivi: risoluzione video, frame al secondo del video, angolazione della videocamera, sfondo.
Preparare i dati
Immagine
Dopo aver deciso quale è la soluzione più adatta a te, una suddivisione manuale o quella predefinita, puoi aggiungere i dati in
Vertex AI utilizzando uno dei seguenti metodi:
- Puoi importare i dati dal computer o da Cloud Storage in un formato disponibile (CSV o JSON Lines) con le etichette (e i riquadri di selezione, se necessario) in linea. Per saperne di più sul formato del file di importazione, consulta Preparare i dati di addestramento. Se vuoi dividere manualmente il set di dati, puoi specificare le suddivisioni nel file di importazione CSV o JSON Lines.
- Se i tuoi dati non sono stati annotati, puoi caricare immagini senza etichetta e utilizzare la console Google Cloud per applicare le annotazioni. Puoi gestire queste annotazioni in più set di annotazioni per lo stesso insieme di immagini. Ad esempio, per un singolo set di immagini puoi avere un set di annotazioni con informazioni su riquadro di delimitazione ed etichetta per eseguire il rilevamento degli oggetti e anche un altro set di annotazioni con solo annotazioni di etichette per la classificazione.
Tabulare
Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento.
Se i dati sono distorti o contengono valori mancanti o errati, la qualità del modello ne risente. Prima di iniziare ad addestrare il modello, considera quanto segue.
Scopri di più.
Prevenire la perdita di dati e il disallineamento tra addestramento e distribuzione
La perdita di dati si verifica quando utilizzi feature di input durante l'addestramento che "rivelano" informazioni sul target che stai cercando di prevedere e che non sono disponibili quando il modello viene effettivamente utilizzato. Ciò può essere rilevato quando una funzionalità altamente correlata alla colonna target viene inclusa come una delle funzionalità di input. Ad esempio, se stai creando un modello per prevedere se un cliente si abbonerà il mese successivo e una delle funzionalità di input è un pagamento futuro dell'abbonamento da parte di quel cliente. Ciò può portare a un buon rendimento del modello durante i test, ma non quando viene implementato in produzione, poiché le informazioni sui pagamenti futuri degli abbonamenti non sono disponibili al momento della pubblicazione.
Il disallineamento addestramento/produzione si verifica quando le funzionalità di input utilizzate durante l'addestramento sono diverse da quelle fornite al modello al momento della pubblicazione, causando una scarsa qualità del modello in produzione. Ad esempio, la creazione di un modello per prevedere le temperature orarie, ma l'addestramento con dati che contengono solo le temperature settimanali. Un altro esempio: fornire sempre i voti di uno studente nei dati di addestramento quando si prevede l'abbandono degli studi, ma non fornire queste informazioni al momento della pubblicazione.
Comprendere i dati di addestramento è importante per prevenire la perdita di dati e il disallineamento tra addestramento e distribuzione:
- Prima di utilizzare i dati, assicurati di sapere cosa significano e se devi utilizzarli come funzionalità
- Controlla la correlazione nella scheda Train. Le correlazioni elevate devono essere segnalate per la revisione.
- Disallineamento addestramento/produzione: assicurati di fornire al modello solo le funzionalità di input disponibili esattamente nella stessa forma al momento della pubblicazione.
Pulire i dati mancanti, incompleti e incoerenti
È normale che nei dati di esempio siano presenti valori mancanti e imprecisi. Prenditi il tempo necessario per esaminare e, se possibile, migliorare la qualità dei dati prima di utilizzarli per l'addestramento. Più valori mancanti ci sono, meno utili saranno i dati per l'addestramento di un modello di machine learning.
- Controlla se nei dati sono presenti valori mancanti e correggili, se possibile, oppure lascia vuoto il valore se la colonna è impostata in modo da accettare valori nulli. Vertex AI può gestire i valori mancanti, ma è più probabile che tu ottenga risultati ottimali se tutti i valori sono disponibili.
- Per la previsione, verifica che l'intervallo tra le righe di addestramento sia coerente. Vertex AI può imputare i valori mancanti, ma è più probabile ottenere risultati ottimali se tutte le righe sono disponibili.
- Pulisci i dati correggendo o eliminando errori o rumore. Rendi coerenti i dati: Controlla l'ortografia, le abbreviazioni e la formattazione.
Analizzare i dati dopo l'importazione
Vertex AI fornisce una panoramica del set di dati dopo l'importazione. Controlla il set di dati importato per assicurarti che ogni colonna abbia il tipo di variabile corretto. Vertex AI rileverà automaticamente il tipo di variabile in base ai valori delle colonne, ma è consigliabile esaminare ciascuna variabile. Devi anche esaminare la nullabilità di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.
Testo
Dopo aver deciso quale è la soluzione più adatta a te, una suddivisione manuale o quella predefinita, puoi aggiungere dati in Vertex AI utilizzando uno dei seguenti metodi:
- Puoi importare i dati dal computer o da Cloud Storage in formato CSV o JSON Lines con le etichette incorporate, come specificato in Preparare i dati di addestramento. Se vuoi dividere il set di dati manualmente, puoi specificare le suddivisioni nel file CSV o JSON Lines.
- Se i dati non sono stati etichettati, puoi caricare esempi di testo non etichettati e utilizzare la console Vertex AI per applicare le etichette.
Video
Dopo aver raccolto i video che vuoi includere nel set di dati, devi assicurarti che
contengano etichette associate a segmenti video o riquadri di delimitazione. Per il riconoscimento delle azioni,
il segmento video è un timestamp e per la classificazione il segmento può essere un'inquadratura video, un
segmento o l'intero video. Per il monitoraggio degli oggetti, le etichette sono associate ai riquadri di delimitazione.
Perché i miei video hanno bisogno di riquadri di selezione ed etichette?
Per il monitoraggio degli oggetti, in che modo un modello Vertex AI impara a identificare i pattern? Ecco a cosa servono i riquadri di delimitazione e le etichette durante l'addestramento. Prendiamo l'esempio del calcio: ogni video di esempio dovrà contenere riquadri di delimitazione intorno agli oggetti che ti interessano rilevare. Questi riquadri devono anche avere etichette come "persona" e "palla". In caso contrario, il modello non saprà cosa cercare. Disegnare riquadri e assegnare etichette ai tuoi video di esempio può richiedere tempo.
Se i tuoi dati non sono ancora stati etichettati, puoi anche caricare i video non etichettati e utilizzare la console Google Cloud per applicare i riquadri di selezione e le etichette. Per saperne di più, consulta Etichettare i dati utilizzando la console Google Cloud .
Addestramento del modello
Immagine
Considera come Vertex AI utilizza il tuo set di dati per creare un modello personalizzato
Il set di dati contiene set di addestramento, convalida e test. Se non specifichi le suddivisioni
(vedi Prepara i dati), Vertex AI utilizza automaticamente l'80% delle immagini per l'addestramento, il 10% per la convalida e il 10% per i test.
Set di addestramento
La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede"
durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle
connessioni tra i nodi della rete neurale.
Set di convalida
Il set di convalida, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento.
Dopo che i dati di addestramento sono stati incorporati durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se si cercasse di utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento e avrebbe difficoltà a generalizzare in base a esempi che non corrispondono esattamente.
L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.
Set di test
Il set di test non è coinvolto in alcun modo nel processo di addestramento. Al termine dell'addestramento del modello, utilizziamo il set di test come risorsa di verifica completamente nuova per il modello. Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come il modello si comporterà utilizzando dati reali.
Divisione manuale
Puoi anche dividere il set di dati autonomamente. La suddivisione manuale dei dati è una buona scelta quando
vuoi esercitare un maggiore controllo sul processo o se ci sono esempi specifici che
vuoi includere in una determinata parte del ciclo di vita dell'addestramento del modello.
Tabulare
Dopo aver importato il set di dati, il passaggio successivo consiste nell'addestramento di un modello. Vertex AI genererà un modello di machine learning affidabile con i valori predefiniti di addestramento, ma potresti voler modificare alcuni parametri in base al tuo caso d'uso.
Cerca di selezionare il maggior numero possibile di colonne di funzionalità per l'addestramento, ma esamina ciascuna per assicurarti che sia adatta all'addestramento. Tieni presente quanto segue per la selezione delle funzionalità:
- Non selezionare colonne di caratteristiche che creano rumore, ad esempio colonne di identificatori assegnati casualmente con un valore univoco per ogni riga.
- Assicurati di comprendere ogni colonna delle funzionalità e i relativi valori.
- Se stai creando più modelli da un set di dati, rimuovi le colonne target che non fanno parte del problema di inferenza corrente.
- Ricorda i principi di equità: stai addestrando il modello con una funzionalità che potrebbe portare a processi decisionali di parte o ingiusti per i gruppi emarginati?
Come Vertex AI utilizza il tuo set di dati
Il set di dati verrà suddiviso in set di addestramento, convalida e test. La
divisione predefinita applicata da Vertex AI dipende dal tipo di modello che
stai addestrando. Se necessario, puoi anche specificare le suddivisioni (suddivisioni manuali). Per saperne di più, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML.
Set di addestramento
La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede"
durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle
connessioni tra i nodi della rete neurale.
Set di convalida
Il set di convalida, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento.
Dopo che i dati di addestramento sono stati incorporati durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se si cercasse di utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento e avrebbe difficoltà a generalizzare in base a esempi che non corrispondono esattamente.
L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.
Set di test
Il set di test non è coinvolto in alcun modo nel processo di addestramento. Al termine dell'addestramento del modello, Vertex AI utilizza il set di test come risorsa di verifica completamente nuova per il modello.
Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come
il modello si comporterà utilizzando dati reali.
Testo
Considera il modo in cui Vertex AI utilizza il tuo set di dati per creare un modello personalizzato
Il set di dati contiene set di addestramento, convalida e test. Se non specifichi le suddivisioni come spiegato in Preparare i dati, Vertex AI utilizza automaticamente l'80% dei documenti dei contenuti per l'addestramento, il 10% per la convalida e il 10% per il test.
Set di addestramento
La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede"
durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle
connessioni tra i nodi della rete neurale.
Set di convalida
Il set di convalida, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento.
Dopo che i dati di addestramento sono stati incorporati durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se si cercasse di utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento e avrebbe difficoltà a generalizzare in base a esempi che non corrispondono esattamente.
L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.
Set di test
Il set di test non è coinvolto in alcun modo nel processo di addestramento. Al termine dell'addestramento del modello, utilizziamo il set di test come risorsa di verifica completamente nuova per il modello. Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come il modello si comporterà utilizzando dati reali.
Divisione manuale
Puoi anche dividere il set di dati autonomamente. La suddivisione manuale dei dati è una buona scelta quando
vuoi esercitare un maggiore controllo sul processo o se ci sono esempi specifici che
vuoi includere in una determinata parte del ciclo di vita dell'addestramento del modello.
Video
Dopo aver preparato i dati dei video di addestramento, puoi creare un modello di machine learning. Tieni presente che puoi creare set di annotazioni per diversi obiettivi del modello nello stesso set di dati. Vedi Creazione di un set di annotazioni.
Uno dei vantaggi di Vertex AI è che i parametri predefiniti ti guideranno verso un modello di machine learning affidabile. Tuttavia, potresti dover modificare i parametri a seconda della qualità dei dati e del risultato che stai cercando. Ad esempio:
- Il tipo di previsione è il livello di granularità con cui vengono elaborati i tuoi video.
- Il frame rate è importante se le etichette che stai cercando di classificare sono sensibili alle variazioni di movimento, come nel riconoscimento delle azioni. Ad esempio, corsa e camminata. Un clip con un basso numero di frame al secondo (FPS) camminata potrebbe sembrare una corsa. Per quanto riguarda il monitoraggio degli oggetti, anche questo è sensibile al frame rate. In sostanza, l'oggetto tracciato deve avere una sovrapposizione sufficiente tra i fotogrammi adiacenti.
- La risoluzione per il monitoraggio degli oggetti è più importante rispetto al riconoscimento delle azioni o alla classificazione video. Quando gli oggetti sono piccoli, assicurati di caricare video con risoluzione più elevata. La pipeline attuale utilizza 256 x 256 per l'addestramento regolare o 512 x 512 se nei dati utente sono presenti troppi piccoli oggetti (la cui area è inferiore all'1% dell'area dell'immagine). Ti consigliamo di utilizzare video con una risoluzione di almeno 256p. L'utilizzo di video a risoluzione più elevata potrebbe non contribuire a migliorare le prestazioni del modello perché internamente i frame video vengono sottocampionati per aumentare la velocità di addestramento e inferenza.
Valuta, testa ed esegui il deployment del modello
Valuta il modello
Immagine
Una volta addestrato il modello, riceverai un riepilogo delle sue prestazioni. Fai clic su Valuta o Vedi valutazione completa per visualizzare un'analisi dettagliata.
Il debug di un modello riguarda più il debug dei dati che del modello stesso. Se in qualsiasi momento il modello inizia a comportarsi in modo inatteso mentre ne valuti le prestazioni prima e dopo il push in produzione, devi tornare indietro e controllare i dati per vedere dove potrebbero essere migliorati.
Quali tipi di analisi posso eseguire in Vertex AI?
Nella sezione Valuta di Vertex AI, puoi valutare le prestazioni del tuo modello personalizzato utilizzando l'output del modello sugli esempi di test e le metriche di machine learning comuni. In questa sezione spiegheremo il significato di ciascuno di questi concetti.
- Output del modello
- Soglia del punteggio
- Veri positivi, veri negativi, falsi positivi e falsi negativi
- Precisione e richiamo
- Curve di precisione-richiamo
- Precisione media
Come faccio a interpretare l'output del modello?
Vertex AI estrae esempi dai dati di test per presentare sfide completamente nuove per il tuo modello. Per ogni esempio, il modello restituisce una serie di numeri che comunicano la forza con cui
associa ogni etichetta a quell'esempio. Se il numero è elevato, il modello è molto sicuro
che l'etichetta debba essere applicata a quel documento.
Che cos'è la soglia del punteggio?
Possiamo convertire queste probabilità in valori binari "on"/"off" impostando una soglia del punteggio.
La soglia di punteggio si riferisce al livello di confidenza che il modello deve avere per assegnare una categoria a un elemento di test. Il cursore della soglia del punteggio nella console Google Cloud è uno strumento visivo per testare
l'effetto di diverse soglie per tutte le categorie e le singole categorie nel tuo set di dati.
Se la soglia del punteggio è bassa, il modello classificherà più immagini, ma corre il rischio di
classificarne erroneamente alcune durante la procedura. Se la soglia del punteggio è elevata, il modello classifica
meno immagini, ma ha un rischio inferiore di classificarle in modo errato. Puoi modificare le soglie per categoria nella console Google Cloud per fare esperimenti. Tuttavia, quando utilizzi il modello in
produzione, devi applicare le soglie che hai ritenuto ottimali.
Che cosa sono veri positivi, veri negativi, falsi positivi e falsi negativi?
Dopo aver applicato la soglia del punteggio, le inferenze fatte dal tuo modello rientreranno in una delle
seguenti quattro categorie:
Le soglie che hai ritenuto ottimali.
Possiamo utilizzare queste categorie per calcolare precisione e richiamo, metriche che ci aiutano a valutare l'efficacia del nostro modello.
Che cosa sono precisione e richiamo?
Precisione e richiamo ci aiutano a capire se il modello sta acquisendo informazioni adeguate e cosa sta tralasciando. La precisione indica, tra tutti gli esempi di test a cui è stata assegnata un'etichetta, quanti
avrebbero dovuto essere classificati con quell'etichetta. Il richiamo indica, tra tutti gli esempi di test a cui avrebbe dovuto essere assegnata l'etichetta, a quanti è stata effettivamente assegnata.
Devo ottimizzare la precisione o il richiamo?
A seconda del caso d'uso, potresti voler ottimizzare la precisione o il richiamo. Prendi in esame i seguenti due casi d'uso per decidere quale approccio è più adatto a te.
Caso d'uso: privacy nelle immagini
Supponiamo che tu voglia creare un sistema che rilevi automaticamente le informazioni sensibili e le sfumi.
I falsi positivi in questo caso sarebbero elementi che non devono essere sfocati ma che vengono sfocati,
il che può essere fastidioso ma non dannoso.
I falsi negativi in questo caso sarebbero elementi che devono essere sfocati e non vengono sfocati,
come una carta di credito, che può portare a un furto di identità.
In questo caso, è consigliabile eseguire l'ottimizzazione per il recupero. Questa metrica misura, per tutte le inferenze effettuate, la quantità di dati esclusi. Un modello a richiamo elevato è più propenso a etichettare esempi marginalmente pertinenti. Ciò è utile nei casi in cui la categoria dispone di pochi dati di addestramento.
Caso d'uso: ricerca di foto stock
Supponiamo che tu voglia creare un sistema che trovi la migliore foto stock per una determinata parola chiave.
Un falso positivo in questo caso potrebbe essere la restituzione di un'immagine non pertinente. Poiché il tuo prodotto si vanta di restituire solo le immagini con la migliore corrispondenza, questo sarebbe un grave errore.
Un falso negativo in questo caso potrebbe essere il mancato ritorno di un'immagine pertinente per una ricerca di parole chiave.
Poiché molti termini di ricerca hanno migliaia di foto che rappresentano un potenziale match, questo va bene.
In questo caso, è consigliabile ottimizzare per la precisione. Questa metrica misura, per tutte le inferenze effettuate, la loro correttezza. Un modello ad alta precisione probabilmente etichetterà solo gli esempi più pertinenti, il che è utile nei casi in cui la classe è comune nei dati di addestramento.
Come si usa la matrice di confusione?
Come faccio a interpretare le curve di precisione-richiamo?
Lo strumento per la soglia del punteggio ti consente di esplorare l'impatto della soglia del punteggio scelta su precisione e richiamo. Se trascini il cursore sulla barra della soglia di punteggio, puoi vedere dove
si trova la soglia sulla curva di tradeoff precisione-richiamo, nonché in che modo la soglia
influisce su precisione e richiamo individualmente (per i modelli multiclasse, in questi grafici, precisione
e richiamo indicano che l'unica etichetta utilizzata per calcolare le metriche di precisione e richiamo è l'etichetta con il punteggio più alto
nel set di etichette restituite). In questo modo puoi trovare un buon equilibrio tra falsi
positivi e falsi negativi.
Una volta scelto un valore di soglia che ti sembra accettabile per il modello nel suo complesso, fai clic sulle singole etichette e vedi dove cade la soglia nella curva precisione-richiamo per etichetta. In alcuni casi, potresti ottenere molte inferenze errate per alcune etichette, il che potrebbe aiutarti a decidere di scegliere una soglia per classe personalizzata per queste etichette. Ad esempio, supponiamo che tu esamini il set di dati delle case e noti che una soglia pari a 0,5 ha una precisione e un richiamo ragionevoli per ogni tipo di immagine, tranne "Tudor", forse perché è una categoria molto generale. Per questa categoria, vengono visualizzati molti falsi positivi. In questo caso, potresti decidere di utilizzare una soglia di 0,8 solo per "Tudor" quando chiami il classificatore per le inferenze.
Che cos'è la precisione media?
Una metrica utile per l'accuratezza del modello è l'area sotto la curva di precisione-richiamo. Misura le prestazioni del modello per tutte le soglie di punteggio. In Vertex AI, questa metrica è chiamata precisione media. Più questo punteggio si avvicina a 1,0, migliori sono le prestazioni del modello sul set di test; un modello che indovina a caso per ogni etichetta otterrebbe una precisione media intorno a 0,5.
Tabulare
Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Le metriche di valutazione del modello si basano sul rendimento del modello rispetto a una sezione del set di dati (il set di dati di test). Esistono alcune metriche e concetti chiave da considerare per determinare se il modello è pronto per essere utilizzato con dati reali.
Metriche di classificazione
Soglia punteggio
Prendi in considerazione un modello di machine learning che preveda se un cliente acquisterà una giacca nel prossimo
anno. Quanto deve essere sicuro il modello prima di prevedere che un determinato cliente acquisterà una
giacca? Nei modelli di classificazione, a ogni inferenza viene assegnato un punteggio di confidenza, ovvero una valutazione numerica
del livello di certezza del modello che la classe prevista sia corretta. La soglia del punteggio è
il numero che determina quando un determinato punteggio viene convertito in una decisione affermativa o negativa, ovvero
il valore in corrispondenza del quale il modello afferma "Sì, questo punteggio di confidenza è sufficientemente alto per concludere che
questo cliente acquisterà un cappotto nel prossimo anno".
Se la soglia del punteggio è bassa, il modello rischia di essere classificato in modo errato. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso.
Risultati dell'inferenza
Dopo aver applicato la soglia del punteggio, le inferenze effettuate dal modello rientreranno in una delle quattro categorie. Per comprendere queste categorie, immagina di nuovo un modello di classificazione binaria delle giacche. In questo esempio, la classe positiva (ciò che il modello tenta di prevedere) è che il cliente acquisterà una giacca nel prossimo anno.
- Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente che un cliente ha acquistato una giacca.
- Falso positivo: il modello prevede in modo errato la classe positiva. Il modello ha previsto che un cliente ha acquistato una giacca, ma non è così.
- Vero negativo: il modello prevede correttamente la classe negativa. Il modello ha previsto correttamente che un cliente non ha acquistato una giacca.
- Falso negativo: il modello prevede in modo errato una classe negativa. Il modello ha previsto che un cliente non ha acquistato una giacca, ma l'ha fatto.
Precisione e richiamo
Le metriche di precisione e richiamo ti aiutano a capire se il modello sta acquisendo informazioni adeguate e cosa sta tralasciando. Scopri di più su precisione e richiamo.
- Per precisione si intende la frazione delle inferenze positive che sono risultate corrette. Tra tutte le inferenze di acquisto di un cliente, qual è la frazione di acquisti effettivi?
- Per richiamo si intende la frazione delle righe con questa etichetta che sono state previste correttamente dal modello. Tra tutte le previsioni che un cliente potrebbe aver identificato, qual è la frazione prevista correttamente?
A seconda del caso d'uso, potrebbe essere necessario ottimizzare la precisione o il richiamo.
Altre metriche di classificazione
- AUC PR: l'area sotto la curva di precisione-richiamo (PR). Il valore va da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- AUC ROC: l'area sotto la curva della caratteristica operativa del ricevitore (ROC). Il valore varia in un intervallo da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- Accuratezza: la frazione delle inferenze di classificazione prodotte dal modello che sono risultate corrette.
- Perdita logaritmica: l'entropia incrociata tra le inferenze del modello e i valori target. L'intervallo va da zero a infinito, dove un valore più basso indica un modello di qualità superiore.
- 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.
Metriche di previsione e regressione
Una volta creato il modello, Vertex AI fornisce una serie di metriche standard da esaminare. Non esiste una risposta perfetta su come valutare il modello. Considera le metriche di valutazione nel contesto del tipo di problema e di ciò che vuoi ottenere con il modello. Il seguente elenco è una panoramica di alcune metriche che Vertex AI può fornire.
Errore assoluto medio (MAE)
Il MAE (Mean Absolute Error) indica la differenza media assoluta tra i valori target e quelli previsti. Misura la portata media degli errori, ovvero la differenza tra il valore target e quello previsto, in un insieme di inferenze. Inoltre, poiché utilizza valori assoluti, il MAE non prende in considerazione la direzione della relazione né indica se le prestazioni sono migliori o peggiori. Quando si valuta il MAE, un valore minore indica un modello di qualità migliore (0 rappresenta un predittore perfetto).
Errore quadratico medio (RMSE)
L'RMSE (Root Mean Square Error) è la radice quadrata della media dei quadrati delle differenze tra i valori target e quelli previsti. L'RMSE è più sensibile agli outlier rispetto al MAE. Di conseguenza, se la preoccupazione principale riguarda gli errori di grande entità, l'RMSE può essere una metrica più utile da valutare. Analogamente al MAE, un valore minore indica un modello di qualità migliore (0 rappresenta un predittore perfetto).
Errore logaritmico quadratico medio (RMSLE)
L'errore logaritmico quadratico medio (RMSLE) è l'equivalente in scala logaritmica dell'errore quadratico medio (RMSE). L'RMSLE è più sensibile agli errori relativi rispetto a quelli assoluti e si preoccupa maggiormente del rendimento insoddisfacente rispetto a quello eccessivo.
Quantile osservato (solo previsione)
Per un dato quantile target, il quantile osservato mostra la frazione effettiva dei valori osservati al di sotto dei valori di inferenza del quantile specificato. Il quantile osservato mostra quanto il modello si avvicina o si allontana dal quantile target. Una differenza minore tra i due valori indica un modello di qualità migliore.
Scaled pinball loss (solo previsione)
Misura la qualità di un modello in un dato quantile target. Un numero più basso indica un modello di qualità migliore. Puoi confrontare la metrica della perdita a forma di flipper scalata in diversi quantili per determinare l'accuratezza relativa del modello tra questi quantili.
Testo
Una volta addestrato il modello, riceverai un riepilogo delle sue prestazioni. Per visualizzare un'analisi dettagliata, fai clic su Valuta o Vedi valutazione completa.
Cosa devo tenere presente prima di valutare il mio modello?
Il debug di un modello riguarda più il debug dei dati che del modello stesso. Se il modello inizia
a comportarsi in modo inaspettato mentre ne valuti le prestazioni prima e dopo il push
in produzione, devi tornare indietro e controllare i dati per vedere dove potrebbero essere migliorati.
Quali tipi di analisi posso eseguire in Vertex AI?
Nella sezione Valuta di Vertex AI, puoi valutare le prestazioni del tuo modello personalizzato utilizzando l'output del modello su esempi di test e metriche di machine learning comuni. Questa sezione spiega il significato di ciascuno dei seguenti concetti:
- Output del modello
- Soglia del punteggio
- Veri positivi, veri negativi, falsi positivi e falsi negativi
- Precisione e richiamo
- Curve di precisione/richiamo.
- Precisione media
Come faccio a interpretare l'output del modello?
Vertex AI estrae esempi dai dati di test per presentare nuove sfide per il tuo modello. Per ogni esempio, il modello restituisce una serie di numeri che comunicano la forza con cui
associa ogni etichetta a quell'esempio. Se il numero è elevato, il modello è molto sicuro
che l'etichetta debba essere applicata a quel documento.
Che cos'è la soglia del punteggio?
La soglia del punteggio consente a Vertex AI di convertire le probabilità in valori binari "on"/"off". La soglia di punteggio si riferisce al livello di confidenza che il modello deve avere per assegnare una categoria a un elemento di test. Il cursore della soglia del punteggio nella console è uno strumento visivo per testare l'impatto di soglie diverse nel tuo set di dati. Nell'esempio precedente, se impostiamo la soglia
del punteggio su 0,8 per tutte le categorie, verranno assegnate "Ottimo servizio" e "Suggerimento", ma non
"Richiesta di informazioni". Se la soglia del punteggio è bassa, il modello classificherà più elementi di testo, ma
corre il rischio di classificarne erroneamente un numero maggiore durante il processo. Se la soglia del punteggio è elevata,
il modello classificherà meno elementi di testo, ma avrà un rischio inferiore di classificarli in modo errato. Puoi modificare le soglie per categoria nella console Google Cloud per sperimentare.
Tuttavia, quando utilizzi
il tuo modello in produzione, devi applicare le soglie che hai ritenuto ottimali.
Che cosa sono veri positivi, veri negativi, falsi positivi e falsi negativi?
Dopo aver applicato la soglia del punteggio, le previsioni effettuate dal modello rientreranno in una delle
seguenti quattro categorie.
Puoi utilizzare queste categorie per calcolare precisione e richiamo, metriche che aiutano a valutare l'efficacia del modello.
Che cosa sono precisione e richiamo?
Precisione e richiamo ci aiutano a capire se il modello sta acquisendo informazioni adeguate e cosa sta tralasciando. La precisione indica, tra tutti gli esempi di test a cui è stata assegnata un'etichetta, quanti
avrebbero dovuto essere classificati con quell'etichetta. Il richiamo indica, tra tutti gli esempi di test a cui avrebbe dovuto essere assegnata l'etichetta, a quanti è stata effettivamente assegnata.
Devo ottimizzare la precisione o il richiamo?
A seconda del caso d'uso, potresti voler ottimizzare la precisione o il richiamo. Prendi in esame i seguenti due casi d'uso per decidere quale approccio è più adatto a te.
Caso d'uso: documenti urgenti
Supponiamo che tu voglia creare un sistema in grado di dare la priorità ai documenti urgenti rispetto a quelli
che non lo sono.
Un falso positivo in questo caso potrebbe verificarsi se un documento non urgente viene contrassegnato come tale.
L'utente può ignorarli come non urgenti e andare avanti.
Un falso negativo in questo caso potrebbe verificarsi se un documento è urgente, ma il sistema non lo contrassegna come tale. Ciò potrebbe causare problemi.
In questo caso, è consigliabile eseguire l'ottimizzazione per il recupero. Questa metrica misura, per tutte le previsioni effettuate, la quantità di dati esclusi. Un modello a richiamo elevato è più propenso a etichettare esempi marginalmente pertinenti. Ciò è utile nei casi in cui la categoria dispone di pochi dati di addestramento.
Caso d'uso: filtro antispam
Supponiamo che tu voglia creare un sistema che filtri automaticamente i messaggi email che sono spam
da quelli che non lo sono.
Un falso negativo in questo caso potrebbe essere un'email di spam che non viene rilevata e che
visualizzi nella posta in arrivo. Di solito, questo è solo un po' fastidioso.
Un falso positivo in questo caso potrebbe verificarsi se un'email viene erroneamente contrassegnata come spam e rimossa dalla Posta in arrivo. Se l'email era importante, l'utente potrebbe subire conseguenze negative.
In questo caso, è consigliabile eseguire l'ottimizzazione per la precisione. Questa metrica misura, per tutte le previsioni effettuate, la loro correttezza. Un modello ad alta precisione probabilmente etichetterà solo gli esempi più pertinenti, il che è utile nei casi in cui la categoria è comune nei dati di addestramento.
Come si usa la matrice di confusione?
Possiamo confrontare il rendimento del modello su ogni etichetta utilizzando una matrice di confusione. In un modello ideale,
tutti i valori sulla diagonale saranno elevati e tutti gli altri valori saranno bassi. Questo mostra
che le categorie desiderate vengono identificate correttamente. Se altri valori sono elevati, ciò
ci fornisce un indizio su come il modello classifica erroneamente gli elementi di test.
Come faccio a interpretare le curve di precisione-richiamo?
Lo strumento per la soglia del punteggio ti consente di esplorare l'impatto della soglia del punteggio scelta sulla precisione e sul richiamo. Se trascini il cursore sulla barra della soglia di punteggio, puoi vedere dove
si trova la soglia sulla curva di tradeoff precisione-richiamo, nonché in che modo la soglia
influisce su precisione e richiamo individualmente (per i modelli multiclasse, in questi grafici,
precisione e richiamo indicano che l'unica etichetta utilizzata per calcolare le metriche di precisione e richiamo è
l'etichetta con il punteggio più alto nel set di etichette restituite). In questo modo puoi trovare un buon equilibrio
tra falsi positivi e falsi negativi.
Dopo aver scelto una soglia che ti sembra accettabile per il tuo modello nel complesso, puoi fare clic sulle singole etichette e vedere dove si trova la soglia nella curva precisione-richiamo per etichetta. In alcuni casi, potresti ricevere molte previsioni errate per alcune etichette, il che potrebbe aiutarti a decidere di scegliere una soglia per classe personalizzata per queste etichette. Ad esempio, supponiamo che tu esamini il set di dati dei commenti dei clienti e noti che una soglia a 0,5 ha una precisione e un richiamo ragionevoli per ogni tipo di commento, tranne "Suggerimento", forse perché è una categoria molto generale. Per questa categoria, vengono visualizzati molti falsi positivi. In questo caso, potresti decidere di utilizzare una soglia di 0,8 solo per "Suggerimento" quando chiami il classificatore per le previsioni.
Che cos'è la precisione media?
Una metrica utile per l'accuratezza del modello è l'area sotto la curva di precisione-richiamo. Misura le prestazioni del modello per tutte le soglie di punteggio. In Vertex AI, questa metrica è chiamata precisione media. Più questo punteggio si avvicina a 1,0, migliori sono le prestazioni del modello sul set di test. Un modello che indovina in modo casuale per ogni etichetta otterrebbe una precisione media pari a circa 0,5.
Video
Al termine dell'addestramento del modello, riceverai un riepilogo del suo rendimento. Le metriche di valutazione del modello si basano sul rendimento del modello rispetto a una sezione del set di dati (il set di dati di test). Esistono
alcune metriche e alcuni concetti chiave da considerare per determinare se il modello è pronto
per essere utilizzato con nuovi dati.
Soglia punteggio
Come fa un modello di machine learning a sapere quando un gol è davvero un gol? A ogni previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica del livello di certezza del modello che un determinato segmento di video contenga una classe. La soglia del punteggio è il numero che determina quando un determinato punteggio
viene convertito in una decisione sì o no, ovvero il valore in corrispondenza del quale il modello afferma "Sì, questo
numero di confidenza è sufficientemente alto per concludere che questo segmento video contiene un obiettivo".
Se la soglia del punteggio è bassa, il modello rischia di etichettare erroneamente i segmenti video. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso. Immagina un caso d'uso medico come il rilevamento del cancro, in cui le conseguenze di un'etichettatura errata sono maggiori rispetto all'etichettatura errata di video sportivi. Nel rilevamento del cancro, è appropriata una soglia di punteggio più elevata.
Risultati della previsione
Dopo aver applicato la soglia del punteggio, le previsioni effettuate dal modello rientreranno in una delle quattro categorie. Per comprendere queste categorie, immagina di aver creato un modello per rilevare se un determinato segmento contiene un gol di calcio (o meno). In questo esempio, un obiettivo è la classe positiva (ciò che il modello tenta di prevedere).
- Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente un gol nel segmento video.
- Falso positivo: il modello prevede in modo errato la classe positiva. Il modello ha previsto che nel segmento fosse presente un gol, ma non era così.
- Vero negativo:il modello prevede correttamente la classe negativa. Il modello ha previsto correttamente che non c'era un gol nel segmento.
- Falso negativo:il modello prevede in modo errato una classe negativa. Il modello ha previsto che non ci fosse un obiettivo nel segmento, ma ce n'era uno.

Precisione e richiamo
Le metriche di precisione e richiamo ti aiutano a capire se il modello sta acquisendo informazioni adeguate e cosa sta tralasciando. Scopri di più su precisione e richiamo
- Per precisione si intende la frazione delle previsioni positive che sono risultate corrette. Tra tutte le previsioni etichettate come "obiettivo", qual è la frazione che conteneva effettivamente un obiettivo?
- Per richiamo si intende la frazione di tutte le previsioni positive che sono state effettivamente identificate. Tra tutti i gol di calcio che avrebbero potuto essere identificati, qual è la frazione prevista correttamente?
A seconda del caso d'uso, potrebbe essere necessario ottimizzare la precisione o il richiamo. Considera i seguenti casi d'uso.
Caso d'uso: informazioni private nei video
Immagina di creare un software che rileva automaticamente le informazioni sensibili in un video e le sfoca. Le conseguenze di risultati falsi possono includere:
- Un falso positivo identifica qualcosa che non deve essere censurato, ma viene censurato
comunque. Potrebbe essere fastidioso, ma non dannoso.
- Un falso negativo non riesce a identificare le informazioni che devono essere censurate, come un numero di carta di credito. In questo modo, le informazioni private verrebbero rilasciate e si tratterebbe dello scenario peggiore.
In questo caso d'uso, è fondamentale ottimizzare per il recupero per garantire che il modello trovi tutti i casi pertinenti. Un modello ottimizzato per il richiamo ha maggiori probabilità di etichettare esempi marginalmente pertinenti, ma anche di etichettare quelli errati (sfocando più del necessario).
Caso d'uso: ricerca di video di stock
Supponiamo che tu voglia creare un software che consenta agli utenti di cercare in una raccolta di video in base a una parola chiave. Considera i risultati errati:
- Un falso positivo restituisce un video non pertinente. Poiché il sistema tenta di fornire solo
video pertinenti, il software non funziona come dovrebbe.
- Un falso negativo non restituisce un video pertinente. Poiché molte parole chiave hanno centinaia di
video, questo problema non è grave come la restituzione di un video non pertinente.
In questo esempio, ti consigliamo di ottimizzare per la precisione per assicurarti che il modello fornisca risultati pertinenti e corretti. Un modello ad alta precisione probabilmente etichetterà solo gli esempi più pertinenti, ma potrebbe tralasciarne alcuni. Scopri di più sulle metriche di valutazione del modello.
Testa il tuo modello
Immagine
Vertex AI utilizza automaticamente il 10% dei dati (o, se hai scelto tu la suddivisione dei dati, la percentuale che hai scelto di utilizzare) per testare il modello e la pagina "Valuta" indica il rendimento del modello sui dati di test. Ma nel caso in cui tu voglia verificare l'affidabilità del tuo modello, ci sono alcuni modi per farlo. Il modo più semplice è caricare alcune immagini nella pagina "Deployment e test" e esaminare le etichette che il modello sceglie per gli esempi. Spero che questo soddisfi le tue aspettative. Prova qualche esempio di ogni tipo di immagine che prevedi di ricevere.
Se invece vuoi utilizzare il modello nei test automatici, la pagina "Deployment e test" ti spiega anche come chiamare il modello in modo programmatico.
Tabulare
La valutazione delle metriche del modello è il modo principale per determinare se il modello è pronto per la distribuzione, ma è anche possibile testarlo con nuovi dati. Carica nuovi dati per vedere se le inferenze del modello corrispondono alle tue aspettative. In base alle metriche di valutazione o ai test con nuovi dati, potrebbe essere necessario continuare a migliorare le prestazioni del modello.
Testo
Vertex AI utilizza automaticamente il 10% dei dati (o, se hai scelto tu la suddivisione dei dati, la percentuale che hai scelto di utilizzare) per testare il modello e la pagina Valuta indica il rendimento del modello sui dati di test. Ma nel caso in cui tu voglia controllare il tuo modello, esistono diversi modi per farlo. Dopo aver distribuito il modello, puoi inserire esempi di testo nel campo della pagina Deployment e test ed esaminare le etichette che il modello sceglie per gli esempi. Speriamo che questo corrisponda alle tue aspettative. Prova qualche esempio di ogni tipo di commento che prevedi di ricevere.
Se vuoi utilizzare il modello nei test automatici, la pagina Deployment e test fornisce un esempio di richiesta API che mostra come chiamare il modello in modo programmatico.
Se vuoi utilizzare il modello nei test automatici, la pagina Deployment e test fornisce un esempio di richiesta API che mostra come chiamare il modello in modo programmatico.
Nella pagina Previsioni batch, puoi creare una previsione batch, che raggruppa molte richieste di previsione in una sola. Una previsione batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di previsione prima di restituire i risultati.
Video
Vertex AI Video utilizza automaticamente il 20% dei tuoi dati oppure, se hai scelto tu la suddivisione dei dati, la percentuale che hai scelto di utilizzare per testare il modello. La scheda Valuta nella console indica il rendimento del modello sui dati di test. Ma nel caso in cui tu voglia controllare il tuo modello, esistono diversi modi per farlo. Un modo è fornire un file CSV con dati video per il test nella scheda "Testa e utilizza" e osservare le etichette che il modello prevede per i video. Spero che questo soddisfi le tue aspettative.
Puoi regolare la soglia per la visualizzazione delle previsioni e visualizzarle in tre scale temporali: intervalli di 1 secondo, inquadrature della videocamera dopo il rilevamento automatico dei limiti delle inquadrature e segmenti video interi.
Esegui il deployment del modello
Immagine
Se ritieni che le prestazioni del modello vadano bene, puoi iniziare a utilizzarlo. Potresti utilizzarlo in produzione o potrebbe essere una richiesta di inferenza una tantum. In base al caso d'uso, puoi usare il modello in vari modi.
Inferenza batch
L'inferenza batch è utile per fare molte richieste di inferenza contemporaneamente. L'inferenza batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di inferenza prima di restituire un file JSON Lines con i valori di inferenza.
Inferenza online
Esegui il deployment del modello per renderlo disponibile per le richieste di inferenza utilizzando un'API REST. L'inferenza online è sincrona (in tempo reale), il che significa che restituirà rapidamente un risultato di inferenza, ma accetta una sola richiesta di inferenza per ogni chiamata API. L'inferenza online è utile se il modello fa parte di un'applicazione e alcune parti del tuo sistema dipendono da risposte rapide restituite dall'inferenza.
Tabulare
Se ritieni che le prestazioni del modello vadano bene, puoi iniziare a utilizzarlo. Potresti utilizzarlo in produzione o potrebbe essere una richiesta di inferenza una tantum. In base al caso d'uso, puoi usare il modello in vari modi.
Inferenza batch
L'inferenza batch è utile per fare molte richieste di inferenza contemporaneamente. L'inferenza batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di inferenza prima di restituire un file CSV o una tabella BigQuery con i valori di inferenza.
Inferenza online
Esegui il deployment del modello per renderlo disponibile per le richieste di inferenza utilizzando un'API REST. L'inferenza online è sincrona (in tempo reale), il che significa che restituirà rapidamente i risultati, ma accetta una sola richiesta di inferenza per ogni chiamata API. L'inferenza online è utile se il modello fa parte di un'applicazione e alcune parti del tuo sistema dipendono da risposte rapide restituite dall'inferenza.
Video
Se ritieni che le prestazioni del modello vadano bene, puoi iniziare a utilizzarlo. Vertex AI utilizza la previsione batch, che consente di caricare un file CSV con i percorsi dei video ospitati su Cloud Storage. Il modello elaborerà ogni video e genererà le previsioni in un altro file CSV. La previsione batch è asincrona, il che significa che il modello elabora tutte le richieste di previsione prima di restituire i risultati.
Esegui la pulizia
Per evitare addebiti indesiderati, annulla il deployment del modello quando non è in uso.
Quando hai finito di utilizzare il modello, elimina le risorse che hai creato per evitare addebiti indesiderati sul tuo account.
- Introduzione ai dati di immagine: pulizia del progetto
- Introduzione ai dati tabulari: pulizia del progetto
- Introduzione ai dati di testo: pulizia del progetto