Guida per nuovi utenti di AutoML

Introduzione

Questa guida per nuovi utenti è un'introduzione ad AutoML. Per comprendere le principali differenze tra AutoML e l'addestramento personalizzato, consulta Scegliere un metodo di addestramento.

Ecco un possibile scenario:

  • Sei un allenatore di una squadra di calcio.
  • Fai parte del reparto marketing di un rivenditore digitale.
  • Stai lavorando a un progetto di architettura che identifica i tipi di edifici.
  • Il sito web della tua attività ha un modulo di contatto.

La selezione manuale di video, immagini, testi e tabelle è noiosa e richiede molto tempo. Non sarebbe più facile insegnare a un computer a identificare e segnalare automaticamente i contenuti?

Immagine

Collabori con un ente per la conservazione architettonica che cerca di identificare quartieri con uno stile architettonico coerente nella tua città. Hai a disposizione centinaia di migliaia di istantanee di case da esaminare. Tuttavia, è noioso e soggetto a errori quando si cerca di classificare tutte queste immagini manualmente. Uno stagista ne ha etichettati alcune centinaia qualche mese fa, ma nessun altro ha esaminato i dati. Sarebbe davvero utile se potessi insegnare al tuo computer a fare questa recensione per te.
presentazione

Tabulari

Lavori nel reparto marketing di un rivenditore digitale. Tu e il tuo team state creando un programma email personalizzato basato sugli utenti tipo. Hai creato gli utenti tipo e le email di marketing sono pronte per l'uso. Ora devi creare un sistema che includa i clienti in ogni utente tipo 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, devi anche prevedere le loro abitudini di spesa in modo da ottimizzare quando inviare loro le email.
Introduzione alle tabelle

In qualità di rivenditore digitale, hai a disposizione dati sui tuoi clienti e sugli acquisti che hanno effettuato. E i nuovi clienti? Gli approcci tradizionali sono in grado di calcolare questi valori per i clienti esistenti con una cronologia di acquisto lunga, ma non ottengono buoni risultati con i clienti con pochi dati storici. E se potessi creare un sistema per prevedere questi valori e aumentare la velocità con cui fornisci programmi di marketing personalizzati a tutti i tuoi clienti?

Fortunatamente, il machine learning e Vertex AI hanno tutte le carte in regola per risolvere questi problemi.

Testo

Il sito web della tua attività ha un modulo di contatto. Ogni giorno ricevi molti messaggi dal modulo, molti dei quali sono in qualche modo utilizzabili. Poiché vengono tutti coinvolti, è facile rimanere indietro nel affrontarli. Dipendenti diversi gestiscono tipi di messaggi diversi. Sarebbe bello se un sistema automatico potesse categorizzarli in modo che la persona giusta veda i commenti giusti.
Introduzione

Hai bisogno di un sistema per esaminare i commenti e decidere se rappresentano reclami, elogi per il servizio passato, un tentativo di scoprire di più sulla tua attività, una richiesta di fissare un appuntamento o un tentativo di stabilire un rapporto.

Video

Hai una grande raccolta video di giochi che vorresti utilizzare per l'analisi. Ma ci sono centinaia di ore di video da esaminare. Guardare ogni video e contrassegnare manualmente i segmenti per mettere in evidenza ciascuna azione è un lavoro noioso e dispendioso in termini di tempo. E devi ripetere il lavoro ogni stagione. Ora immagina un modello di computer in grado di identificare e segnalare automaticamente queste azioni ogni volta che vengono visualizzate in un video.

Ecco alcuni scenari oggettivi specifici.

  • Riconoscimento dell'azione: trova azioni come segnare un gol, causare un fallo o un calcio di rigore. Utile ai coach per studiare i punti di forza e di debolezza della propria squadra.
    gol, fallo, azioni di rigore
  • Classificazione: classifica ogni video girato come primo tempo, visualizzazione della partita, visualizzazione del pubblico o visualizzazione del coach. Utili per i coach per consultare solo le riprese video di loro interesse.
  • Monitoraggio oggetti: permette di seguire il pallone da calcio o i giocatori. Utile per i coach per ottenere statistiche sui giocatori, ad esempio 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 illustra i tipi di problemi che Vertex AI è progettato per risolvere.

Una nota sull'equità

Google si impegna a fare progressi nel rispetto delle pratiche dell'IA responsabile. A questo scopo, i nostri prodotti ML, tra cui AutoML, sono progettati intorno a principi fondamentali come l'equità e il machine learning incentrato sulla persona. Per ulteriori informazioni sulle best practice per attenuare i bias durante la creazione di un sistema ML personalizzato, consulta la guida al machine learning inclusivo - AutoML

Perché Vertex AI è lo strumento giusto per risolvere questo problema?

Per programmare classica, il programmatore deve specificare le istruzioni dettagliate che il computer deve seguire. Ma considera il caso d'uso dell'identificazione di azioni specifiche nei giochi di calcio. Le variazioni di colore, angolazione, risoluzione e illuminazione sono così tante che richiederebbero la codifica di un numero eccessivo di regole per indicare a una macchina come prendere la decisione corretta. È difficile immaginare da dove iniziare. o quando i commenti dei clienti, che utilizzano una struttura e un vocabolario ampi e diversi, sono troppo diversificati per essere intercettati da un semplice insieme di regole. Se provassi a creare filtri manuali, ti renderai presto conto che non riuscivi a classificare la maggior parte dei commenti dei clienti. Hai bisogno di un sistema in grado di generalizzare una varietà di commenti. In uno scenario in cui una sequenza di regole specifiche è destinata a espandersi in modo esponenziale, è necessario un sistema che possa apprendere dagli esempi.

Fortunatamente, il machine learning è in grado di risolvere questi problemi.

Come funziona Vertex AI?

rappresentazione grafica di una semplice rete neurale Vertex AI prevede attività di apprendimento supervisionato per ottenere un risultato desiderato. Le specifiche dell'algoritmo e dei metodi di addestramento cambiano in base al tipo di dati e al caso d'uso. Esistono numerose sottocategorie di machine learning, ognuna delle quali risolve problemi diversi e lavora all'interno di vincoli differenti.



Immagine

Puoi addestrare, testare e convalidare 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 degli oggetti. Utilizzando l'apprendimento supervisionato, puoi addestrare un modello per riconoscere i pattern e i contenuti che ti interessano nelle immagini.

Tabulari

Addestra un modello di machine learning con dati di esempio. Vertex AI utilizza dati tabulari (strutturati) per addestrare un modello di machine learning al fine di fare previsioni su nuovi dati. Una colonna del set di dati, chiamata target, è ciò che il modello imparerà a prevedere. Alcune altre colonne di dati sono input (chiamati caratteristiche) da cui il modello apprenderà i pattern. Puoi utilizzare le stesse funzionalità di input per creare più tipi di modelli semplicemente modificando la colonna di destinazione e le opzioni di addestramento. Dall'esempio dell'email marketing, questo significa che puoi creare modelli con le stesse funzionalità di input ma con previsioni di destinazione diverse. Un modello potrebbe prevedere l'utente tipo di un cliente (target categorico), un altro modello potrebbe prevedere la sua spesa mensile (un target numerico) e un altro ancora prevedere la domanda giornaliera dei tuoi prodotti per i tre mesi successivi (serie di target numerici).
come funziona la tabella AutoML

Testo

Vertex AI ti consente di eseguire l'apprendimento supervisionato. Ciò prevede l'addestramento di un computer a riconoscere pattern a partire da dati etichettati. Con l'apprendimento supervisionato, puoi addestrare un modello AutoML per riconoscere i contenuti testuali che ti interessano.

Video

Puoi addestrare, testare e convalidare il modello di machine learning con video che hai già etichettato. Con un modello addestrato, puoi inserire nuovi video nel modello, che genererà segmenti video con etichette. Un segmento video definisce lo offset temporale tra l'ora di inizio e l'ora di fine di un video. Il segmento può essere l'intero video, il segmento temporale definito dall'utente, la ripresa del video rilevata automaticamente o semplicemente un timestamp che indica quando l'ora di inizio coincide con l'ora di fine. Un'etichetta è una "risposta" prevista dal modello. Ad esempio, nei casi d'uso sul calcio menzionati in precedenza, per ogni nuovo video sul calcio, a seconda del tipo di modello:

  • un modello addestrato di riconoscimento dell'azione produce intervalli di tempo del video con etichette che descrivono i colpi di azione come "gol", "fallo personale" e così via.
  • Un modello di classificazione addestrato restituisce segmenti di inquadrature rilevati automaticamente con etichette definite dall'utente come "visualizzazione gioco", "visualizzazione pubblico".
  • un modello di monitoraggio degli oggetti addestrato restituisce le tracce del pallone da calcio o dei giocatori tramite riquadri di delimitazione nei frame in cui appaiono gli oggetti.

Flusso di lavoro di Vertex AI

Vertex AI utilizza un flusso di lavoro standard per il machine learning:

  1. Raccogli i dati: determina i dati necessari per l'addestramento e il test del modello in base al risultato che vuoi ottenere.
  2. Prepara i dati: assicurati che i dati siano formattati ed etichettati correttamente.
  3. Addestra: imposta i parametri e crea il tuo modello.
  4. Valutazione: esamina le metriche del modello.
  5. Esegui il deployment e prevedi: rendi il modello disponibile per l'uso.

Ma prima di iniziare a raccogliere i dati, devi pensare al problema che stai cercando di risolvere. In questo modo, verranno definiti i requisiti per i dati.

Preparazione dati

Valuta il tuo caso d'uso

Inizia con il tuo problema: qual è il risultato che vuoi ottenere?

Immagine

Quando raccogli il set di dati, inizia sempre dal tuo caso d'uso. Puoi iniziare con le seguenti domande:

  • Qual è il risultato che stavi cercando di ottenere?
  • Quali tipi di categorie o oggetti dovresti riconoscere per ottenere questo risultato?
  • Gli esseri umani possono riconoscere queste categorie? Sebbene Vertex AI sia in grado di gestire una quantità maggiore di categorie di quanto gli esseri umani possano ricordare e assegnare in qualsiasi momento, se un essere umano non è in grado di 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 vedrà e proverà a classificare?

Tabulari

Che tipo di dati è la colonna di destinazione? A quanti dati hai accesso? A seconda delle 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). Utilizzalo per domande di tipo sì o no, ad esempio per prevedere se un cliente acquisterà o meno un abbonamento. A parità di altri fattori, un problema di classificazione binaria richiede meno dati rispetto agli altri tipi di modelli.
  • Un modello di classificazione multi-classe prevede una classe da tre o più classi discrete. Utilizzalo per classificare gli elementi. Per l'esempio retail, vuoi creare un modello di classificazione multiclasse per segmentare i clienti in utenti tipo diversi.
  • 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 prevedere in anticipo e in modo appropriato gli inventari dei prodotti.
  • Un modello di regressione prevede un valore continuo. Per l'esempio del retail, vuoi creare un modello di regressione per prevedere quanto spenderà un cliente il mese prossimo.

Testo

Quando raccogli 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 ottenere questo risultato?
  • Gli esseri umani possono riconoscere queste categorie? Sebbene Vertex AI sia in grado di gestire più categorie di quelle che gli esseri umani possono ricordare e assegnare in qualsiasi momento, se un essere umano non può 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 vuoi ottenere, seleziona l'obiettivo del modello appropriato:

  • Per rilevare i momenti di azione in un video, come identificare un gol, causare un fallo o eseguire un calcio di rigore, utilizza l'obiettivo riconoscimento dell'azione.
  • Per classificare le scene TV nelle seguenti categorie, commerciali, notizie, programmi TV e così via, utilizza l'obiettivo classificazione.
  • Per individuare e tracciare gli oggetti in un video, utilizza l'obiettivo di monitoraggio oggetti.

Consulta la sezione Preparazione dei dati video per ulteriori informazioni sulle best practice per la preparazione dei set di dati per gli obiettivi di riconoscimento, classificazione e monitoraggio degli oggetti delle azioni.

Raccogli i tuoi dati

Dopo aver stabilito il caso d'uso, devi raccogliere i dati che consentono di creare il modello che vuoi.

Immagine

raccogliere dati sufficienti Dopo aver stabilito di quali dati hai bisogno, devi trovare un modo per reperirli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire che stai già raccogliendo i dati pertinenti necessari per addestrare un modello. Nel caso in cui tu non disponga di questi dati, puoi ottenerli manualmente o esternalizzare a un fornitore di terze parti.

Includi un numero sufficiente di esempi etichettati in ogni categoria

includi dati sufficienti Il minimo indispensabile richiesto per l'addestramento di Vertex AI è di 100 esempi di immagini per categoria/etichetta ai fini della 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 inserire nel processo di addestramento, migliore sarà il modello. Scegli come target almeno 1000 esempi per etichetta.

Distribuisci equamente gli esempi tra le categorie

È importante acquisire quantità più o meno simili di esempi di addestramento per ogni categoria. Anche se disponi di un'abbondanza di dati per un'etichetta, è meglio avere una distribuzione uguale per ogni etichetta. Per capire perché, immagina che l'80% delle immagini che utilizzi per costruire il tuo modello siano immagini di case unifamiliari in stile moderno. Con una distribuzione così sbilanciata delle etichette, è molto probabile che il tuo modello impari che è sicuro indicare sempre che una foto è di una casa unifamiliare moderna, piuttosto che uscire su un arto per 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 esperto capirà che può rispondere "C" ogni volta senza nemmeno guardare la domanda.
distribuire in modo uniforme

Siamo consapevoli che potrebbe non essere sempre possibile fornire un numero approssimativamente uguale di esempi per ogni etichetta. Potrebbe essere più difficile reperire esempi di alta qualità e imparziali per alcune categorie. In questi casi, puoi seguire questa regola pratica: l'etichetta con il numero più basso di esempi deve avere almeno il 10% di esempi come etichetta con il numero più alto di esempi. Quindi, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola deve avere almeno 1000 esempi.

Acquisisci la variazione dello spazio problematico

Per motivi simili, cerca di assicurarti che i tuoi dati catturino la varietà e la diversità dello spazio problematico. Più è ampia una selezione visibile dal processo di addestramento del modello, più facilmente si generalizzerà a nuovi esempi. Ad esempio, se stai cercando di classificare le foto di elettronica di consumo in categorie, maggiore è la varietà di elettronica di consumo a cui il modello è esposto durante l'addestramento, maggiori sono le probabilità che sia in grado di distinguere tra un nuovo modello di tablet, telefono o laptop, anche se non è mai stato visto prima.
acquisisci variante

Abbina i dati all'output previsto per il modello

abbinare i dati all'output previsto
Trova immagini visivamente simili a quelle per cui prevedi di fare previsioni. Se stai cercando di classificare immagini di case scattate tutte durante la stagione invernale, probabilmente non otterrai ottime prestazioni da un modello addestrato solo su immagini di case scattate in condizioni di sole, anche se le hai etichettate con le classi che ti interessano, poiché l'illuminazione e il paesaggio potrebbero essere abbastanza diversi da influire sulle prestazioni. Idealmente, gli esempi di addestramento sono dati reali ricavati dallo stesso set di dati che prevedi di utilizzare per la classificazione del modello.

Tabulari

set di test Dopo aver stabilito il tuo caso d'uso, dovrai raccogliere i dati per addestrare il modello. L'approvvigionamento e la preparazione dei dati sono passaggi fondamentali per la creazione di un modello di machine learning. I dati a tua disposizione indicano il tipo di problemi che puoi risolvere. Quanti dati hai a disposizione? I tuoi 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 caratteristica è un attributo di input utilizzato per l'addestramento del modello. Le caratteristiche sono il modo in cui il modello identifica i pattern per fare previsioni, quindi devono essere pertinenti al problema. Ad esempio, per creare un modello che prevede se la transazione con carta di credito è fraudolenta o meno, devi creare un set di dati contenente dettagli della transazione come acquirente, venditore, importo, data e ora e articoli acquistati. Altre funzionalità utili potrebbero essere le informazioni storiche su acquirente e venditore e sulla frequenza con cui l'articolo acquistato è stato coinvolto in attività fraudolente. Quali altre funzionalità potrebbero essere pertinenti?

Considera il caso d'uso dell'email marketing per la vendita al dettaglio che abbiamo visto nell'introduzione. Ecco alcune colonne di funzionalità che potresti richiedere:

  • Elenco di articoli acquistati (inclusi brand, categorie, prezzi, sconti)
  • Numero di articoli acquistati (ultimo giorno, settimana, mese, anno)
  • Somma delle spese (giorno, settimana, mese, anno precedente)
  • Per ogni articolo, il numero totale di articoli venduti ogni giorno
  • Per ogni articolo, prezzo totale disponibile ogni giorno
  • Se stai pubblicando una promozione per un determinato giorno
  • Profilo demografico noto dell'acquirente

Includi dati sufficienti

includi dati sufficienti In generale, più sono gli esempi di addestramento, migliore sarà il risultato. Anche la quantità di dati di esempio richiesti viene scalata di pari passo con la complessità del problema che stai cercando di risolvere. Non avrai bisogno di così tanti dati per ottenere un modello di classificazione binario accurato rispetto a un modello multi-classe perché è meno complicato prevedere una classe tra due anziché molte.

Non esiste una formula perfetta, ma esistono dati di esempio minimi consigliati:

  • Problema di classificazione: 50 righe x le caratteristiche del numero
  • Problema di previsione:
    • 5000 righe x il numero di elementi
    • 10 valori univoci nella colonna degli identificatori della serie temporale x il numero di caratteristiche
  • Problema di regressione: 200 volte il numero di caratteristiche

Acquisisci variante

Il set di dati dovrebbe acquisire la diversità dello spazio dei problemi. Più sono gli esempi diversificati che un modello vede durante l'addestramento, più facilmente può generalizzare a esempi nuovi o meno comuni. Immagina se il tuo modello di retail sia stato addestrato solo utilizzando i dati di acquisto dell'inverno. Riuscirebbe a prevedere con successo le preferenze relative all'abbigliamento estivo o i comportamenti di acquisto?

Testo

raccogliere dati sufficienti Dopo aver stabilito di quali dati avrai bisogno, dovrai trovare un modo per reperirli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire che stai già raccogliendo i dati necessari per addestrare un modello. Se non disponi dei dati di cui hai bisogno, puoi ottenerli manualmente o esternalizzare a un fornitore di terze parti.

Includi un numero sufficiente di esempi etichettati in ogni categoria

includi dati sufficienti La probabilità di riconoscere correttamente un'etichetta aumenta con il numero di esempi di alta qualità per ciascuna. In generale, più dati etichettati puoi fornire 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 precisione target. Puoi utilizzare meno esempi per set di dati coerenti o per ottenere un'accuratezza dell'80% anziché del 97%. Addestra un modello e valuta i risultati. Aggiungi altri esempi e riaddestra finché non raggiungi gli obiettivi di accuratezza, il che potrebbe richiedere centinaia o addirittura migliaia di esempi per etichetta. Per ulteriori informazioni sui requisiti e sui suggerimenti relativi ai dati, consulta la pagina relativa alla preparazione dei dati di addestramento del testo per i modelli AutoML.

Distribuisci equamente gli esempi tra le categorie

È importante acquisire un numero più o meno simile di esempi di addestramento per ogni categoria. Anche se disponi di un'abbondanza di dati per un'etichetta, è meglio avere una distribuzione uguale per ogni etichetta. Per capire perché, immagina che l'80% dei commenti dei clienti che utilizzi per creare il modello sono richieste di stima. Con una distribuzione così sbilanciata delle etichette, è molto probabile che il modello impari che puoi sempre dirti che un commento del cliente è una richiesta di stima, piuttosto che 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 esperto scoprirà di poter rispondere "C" ogni volta, senza nemmeno guardare la domanda.
distribuire in modo uniforme

Potrebbe non essere sempre possibile fornire un numero approssimativamente uguale di esempi per ogni etichetta. Potrebbe essere più difficile reperire esempi di alta qualità e imparziali per alcune categorie. In questi casi, l'etichetta con il numero più basso di esempi deve avere almeno il 10% degli esempi come etichetta con il numero più alto di esempi. Quindi, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola deve avere almeno 1000 esempi.

Acquisisci la variazione dello spazio problematico

Per motivi simili, cerca di fare in modo che i tuoi dati catturino la varietà e la diversità dello spazio dei problemi. Se fornisci un insieme più ampio di esempi, il modello ha maggiori probabilità di essere generalizzato a nuovi dati. Supponiamo che tu stia cercando di classificare gli articoli sull'elettronica di consumo per argomenti. Più nomi di brand e specifiche tecniche fornisci, più facile sarà per il modello capire l'argomento di un articolo, anche se l'articolo riguarda un brand che non è entrato affatto nel set di addestramento. Potresti anche includere un'etichetta"none_of_the_above" per i documenti che non corrispondono a nessuna delle etichette definite per migliorare ulteriormente le prestazioni del modello.
acquisisci variante

Abbina i dati all'output previsto per il modello

abbinare i dati all'output previsto
Trova esempi di testo simili a quelli per cui prevedi di fare previsioni. Se stai cercando di classificare i post dei social media sulla soffiatura del vetro, probabilmente non otterrai ottime prestazioni 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 ricavati dallo stesso set di dati in cui prevedi di utilizzare il modello per la classificazione.

Video

raccogliere dati sufficienti Dopo aver definito il tuo caso d'uso, dovrai raccogliere i dati video che ti consentiranno di creare il modello che preferisci. I dati raccolti per l'addestramento indicano il tipo di problemi che puoi risolvere. Quanti video puoi usare? I video contengono esempi sufficienti per ciò che vuoi che il modello possa prevedere? Durante la raccolta dei dati video, tieni presente le seguenti considerazioni.

Includi un numero sufficiente di video

includi dati sufficienti In genere, maggiore è il numero di video di addestramento nel set di dati, migliore sarà il risultato. Anche il numero di video consigliati aumenta di pari passo con la complessità del problema che stai cercando di risolvere. Ad esempio, per la classificazione saranno necessari 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 da molte).

Anche la complessità di ciò che stai cercando di fare determina la quantità di dati video di cui hai bisogno. Considera il caso d'uso del calcio per la classificazione, che consiste nella creazione di un modello per distinguere i colpi d'azione, rispetto all'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 ulteriori dati di addestramento per identificare i diversi stili di nuoto e consentire al modello di imparare a identificare ciascun tipo con precisione. Consulta Preparazione dei dati dei video per ottenere indicazioni su come comprendere le esigenze minime di dati video per il riconoscimento delle azioni, la classificazione e il monitoraggio degli oggetti.

La quantità di dati video richiesti potrebbe essere superiore a quella attualmente disponibile. Valuta la possibilità di acquistare altri video tramite un fornitore di terze parti. Ad esempio, puoi acquistare o ottenere più video sui colibrì se non ne hai abbastanza per il tuo modello di identificatore delle azioni di gioco.

Distribuisci equamente i video tra le classi

Prova a fornire un numero simile di esempi di addestramento per ogni corso. Ecco perché: supponiamo che l'80% del tuo set di dati sugli allenamenti sia costituito da video di calcio con tiri di gol, ma solo il 20% dei video mostra falli personali o calci di rigore. Con una distribuzione così disuguale delle classi, il modello ha maggiori probabilità di prevedere che una determinata azione è un obiettivo. È un po' come scrivere un test a scelta multipla in cui l'80% delle risposte corrette è "C": il modello più esperto capirà subito che la lettera "C" è una buona ipotesi il più delle volte.
distribuirà equamente i video

Potrebbe non essere possibile fornire lo stesso numero di video per ogni corso. Anche gli esempi imparziali e di alta qualità possono essere difficili per alcune classi. Prova a utilizzare le proporzioni 1:10: se la classe più numerosa ha 10.000 video, la più piccola ne deve avere almeno 1000.

Acquisisci variante

I dati dei tuoi video dovrebbero comprendere la diversità dello spazio problematico. Più sono gli esempi diversificati che un modello vede durante l'addestramento, più facilmente può generalizzare a esempi nuovi o meno comuni. Pensa al modello di classificazione delle azioni calcistiche: assicurati di includere video con diverse angolazioni di ripresa, di giorno e di notte e di movimenti dei giocatori. Esporre il modello a una varietà di dati migliora la capacità del modello di distinguere un'azione dall'altra.

Abbina i dati all'output previsto

abbinare i dati all'output previsto

Trova video di formazione visivamente simili ai video che prevedi di inserire nel modello per la previsione. Ad esempio, se tutti i video di addestramento vengono girati in inverno o di sera, i pattern di illuminazione e di colore di questi ambienti influiranno sul modello. Se quindi utilizzi questo modello per testare i video acquisiti in estate o durante la giornata, potresti non ricevere previsioni accurate.

Considera questi altri fattori: risoluzione video, Fotogrammi video al secondo, Angolo di ripresa, Sfondo.


Preparare i dati

Immagine

raccogliere dati sufficienti Dopo aver deciso qual è il metodo più adatto alle tue esigenze, ovvero una suddivisione manuale o predefinita, puoi aggiungere 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 righe JSON) con le etichette (e i riquadri di delimitazione, se necessario) in linea. Per ulteriori informazioni sul formato dei file di importazione, consulta Preparazione dei dati di addestramento. Se vuoi suddividere il set di dati manualmente, puoi specificare le suddivisioni nel file di importazione CSV o JSON Lines.
  • Se i 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 riquadro di delimitazione ed informazioni sulle etichette per eseguire il rilevamento degli oggetti e un altro set di annotazioni solo con annotazioni di etichette per la classificazione.

Tabulari

preparare i dati Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento. Se i dati sono di parte o contengono valori mancanti o errati, la qualità del modello ne risente. Prima di iniziare l'addestramento del modello, considera quanto segue. Scopri di più.

Evitare fughe di dati e disallineamenti addestramento/produzione

La fuga di dati si verifica quando, durante l'addestramento, utilizzi funzionalità di input che "perdono" informazioni sul target che stai cercando di prevedere, che non è disponibile quando il modello viene effettivamente pubblicato. Questo può essere rilevato quando una caratteristica altamente correlata con la colonna di destinazione è inclusa come una delle caratteristiche di input. Ad esempio, se stai creando un modello per prevedere se un cliente sottoscriverà un abbonamento nel mese successivo e una delle funzionalità di input è il pagamento futuro dell'abbonamento di quel cliente. Ciò può portare a prestazioni del modello elevate durante i test, ma non durante il deployment in produzione, poiché i dati di pagamento degli abbonamenti futuri non sono disponibili al momento della pubblicazione.

Il disallineamento addestramento/produzione si verifica quando le caratteristiche di input utilizzate durante il tempo di addestramento sono diverse da quelle fornite al modello al momento della pubblicazione, causando una scarsa qualità del modello in produzione. Ad esempio, viene creato un modello per prevedere le temperature orarie, ma viene eseguito l'addestramento con dati che contengono solo temperature settimanali. Un altro esempio: fornire sempre i voti di uno studente nei dati di addestramento quando si prevede l'abbandono degli studenti, ma non fornire queste informazioni al momento della pubblicazione.

Comprendere i dati di addestramento è importante per prevenire le fughe di dati e il disallineamento addestramento/produzione:

  • Prima di utilizzare qualsiasi dato, assicurati di conoscere il significato dei dati e se dovresti utilizzarli come funzionalità
  • Controlla la correlazione nella scheda Addestra. Le correlazioni elevate dovrebbero essere segnalate per la revisione.
  • Disallineamento addestramento/produzione: assicurati di fornire al modello solo funzionalità di input che sono disponibili nello stesso formato esatto al momento della pubblicazione.

Elimina i dati mancanti, incompleti e incoerenti

È frequente che nei dati di esempio manchino valori imprecisi. Prenditi il tempo necessario per rivedere e, se possibile, migliorare la qualità dei tuoi dati prima di utilizzarli per l'addestramento. Maggiore è il numero di valori mancanti, meno i dati saranno utili per l'addestramento di un modello di machine learning.

  • Verifica l'eventuale presenza di valori mancanti nei dati e, se possibile, correggili oppure lascia vuoto il valore se la colonna è impostata su null. Vertex AI è in grado di gestire i valori mancanti, ma è più probabile che si ottengano risultati ottimali se tutti i valori sono disponibili.
  • Per le previsioni, verifica che l'intervallo tra le righe di addestramento sia coerente. Vertex AI può attribuire valori mancanti, ma è più probabile che ottengano risultati ottimali se tutte le righe sono disponibili.
  • Pulisci i tuoi dati correggendo o eliminando errori nei dati o rumori. Mantieni i tuoi dati coerenti: controlla ortografia, abbreviazioni e formattazione.

Analizza i dati dopo l'importazione

Vertex AI fornisce una panoramica del set di dati dopo che è stato importato. Esamina 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 è preferibile esaminarle tutte. Devi inoltre esaminare la possibilità di annullare i valori di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.

Testo

raccogliere dati sufficienti Dopo aver deciso qual è il più adatto alle tue esigenze, ovvero una suddivisione manuale o 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 Righe JSON con le etichette incorporate, come specificato in Preparazione dei dati di addestramento. Se vuoi suddividere 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 senza etichetta e utilizzare la console Vertex AI per applicare le etichette.

Video

raccogliere dati sufficienti Dopo aver raccolto i video da includere nel set di dati, devi assicurarti che contengano etichette associate ai segmenti video o ai riquadri di delimitazione. Per il riconoscimento delle azioni, il segmento video è un timestamp, mentre per la classificazione può essere una ripresa video, un segmento o l'intero video. Per il monitoraggio degli oggetti, le etichette sono associate a riquadri di delimitazione.

Perché i miei video hanno bisogno di riquadri di delimitazione ed etichette?

Per il monitoraggio degli oggetti, in che modo un modello Vertex AI impara a identificare i pattern? I riquadri di delimitazione e le etichette vengono utilizzati durante l'addestramento. Prendiamo l'esempio del calcio: ogni video di esempio dovrà contenere riquadri di delimitazione attorno agli oggetti che vuoi rilevare. Queste scatole devono anche essere assegnate a etichette come "persona" e "palla". In caso contrario, il modello non saprà cosa cercare. Creare caselle di disegno e assegnare etichette ai video di esempio può richiedere tempo.

Se i dati non sono stati ancora etichettati, puoi anche caricare i video senza etichetta e utilizzare la console Google Cloud per applicare riquadri di delimitazione ed etichette. Per maggiori informazioni, vedi Etichettare i dati utilizzando la console Google Cloud.

Addestra modello

Immagine

Valuta 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 Preparare 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 test di convalida dell'addestramento

Set per l'addestramento

set di addestramento La maggior parte dei tuoi dati dovrebbe essere nel set di addestramento. Si tratta dei dati che il modello "vede" durante l'addestramento: viene utilizzato per apprendere i parametri del modello, ovvero i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

set di convalida Il set di convalida, a volte chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento del modello ha incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, variabili che specificano la struttura del modello. Se provi a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finisca eccessivamente sui dati di addestramento e abbia difficoltà a generalizzare gli esempi che non corrispondono esattamente. L'utilizzo di un set di dati piuttosto nuovo per perfezionare la struttura del modello significa che il modello sarà generalizzato meglio.

Set di test

set di test Il set di test non è coinvolto nel processo di addestramento. Una volta che il modello ha completato completamente l'addestramento, utilizziamo il set di test come una sfida completamente nuova per il modello. Le prestazioni del modello nel set di test hanno lo scopo di darti un'idea piuttosto chiara delle prestazioni del modello sui dati reali.

Suddivisione manuale

suddivisione manuale Puoi anche suddividere autonomamente il set di dati. La suddivisione manuale dei dati è una buona scelta quando vuoi esercitare un maggiore controllo sul processo o se ci sono esempi specifici che sicuramente vuoi includere in una determinata parte del ciclo di vita di addestramento dei modelli.

 

 

Tabulari

Dopo l'importazione del set di dati, il passaggio successivo consiste nell'addestrare un modello. Vertex AI genererà un modello di machine learning affidabile con i valori predefiniti per l'addestramento, ma puoi modificare alcuni parametri in base al tuo caso d'uso.

Prova a selezionare il maggior numero possibile di colonne di caratteristiche per l'addestramento, ma esaminale per assicurarti che siano appropriate per l'addestramento. Per selezionare le funzionalità, tieni presente quanto segue:

  • Non selezionare colonne di caratteristiche che creeranno rumore, ad esempio colonne di identificatori assegnati in modo casuale 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 di destinazione che non fanno parte del problema di previsione attuale.
  • Ricorda i principi di equità: stai addestrando il tuo modello con una funzionalità che potrebbe portare a decisioni di parte o ingiuste per i gruppi emarginati?

In che modo Vertex AI utilizza il set di dati

Il set di dati verrà suddiviso in set di addestramento, convalida e test. La suddivisione predefinita di Vertex AI dipende dal tipo di modello che stai addestrando. Puoi anche specificare le suddivisioni (suddivisioni manuali), se necessario. Per maggiori informazioni, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML. set di test di convalida dell'addestramento

Set per l'addestramento

set di addestramento La maggior parte dei tuoi dati dovrebbe essere nel set di addestramento. Si tratta dei dati che il modello "vede" durante l'addestramento: viene utilizzato per apprendere i parametri del modello, ovvero i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

set di convalida Il set di convalida, a volte chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento del modello ha incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, variabili che specificano la struttura del modello. Se provi a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finisca eccessivamente sui dati di addestramento e abbia difficoltà a generalizzare gli esempi che non corrispondono esattamente. L'utilizzo di un set di dati piuttosto nuovo per perfezionare la struttura del modello significa che il modello sarà generalizzato meglio.

Set di test

set di test Il set di test non è coinvolto nel processo di addestramento. Dopo che il modello ha completato completamente l'addestramento, Vertex AI utilizza il set di test come una sfida completamente nuova per il tuo modello. Le prestazioni del modello nel set di test hanno lo scopo di darti un'idea piuttosto chiara delle prestazioni del modello sui dati reali.

 

Testo

Valuta 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 come spiegato in Preparare i dati, Vertex AI utilizza automaticamente l'80% dei documenti relativi ai contenuti per l'addestramento, il 10% per la convalida e il 10% per i test.
set di test di convalida dell'addestramento

Set per l'addestramento

set di addestramento La maggior parte dei tuoi dati dovrebbe essere nel set di addestramento. Si tratta dei dati che il modello "vede" durante l'addestramento: viene utilizzato per apprendere i parametri del modello, ovvero i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

set di convalida Il set di convalida, a volte chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento del modello ha incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, variabili che specificano la struttura del modello. Se provi a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finisca eccessivamente sui dati di addestramento e abbia difficoltà a generalizzare gli esempi che non corrispondono esattamente. L'utilizzo di un set di dati piuttosto nuovo per perfezionare la struttura del modello significa che il modello sarà generalizzato meglio.

Set di test

set di test Il set di test non è coinvolto nel processo di addestramento. Dopo che il modello ha completato completamente l'addestramento, utilizziamo il set di test come una sfida completamente nuova per il modello. Le prestazioni del modello nel set di test hanno lo scopo di darti un'idea piuttosto chiara delle prestazioni del modello sui dati reali.

 

Suddivisione manuale

suddivisione manuale Puoi anche suddividere autonomamente il set di dati. La suddivisione manuale dei dati è una buona scelta quando vuoi esercitare un maggiore controllo sul processo o se ci sono esempi specifici che sicuramente vuoi includere in una determinata parte del ciclo di vita di addestramento dei modelli.

 

 

Video

Una volta preparati i dati del video di addestramento, puoi creare un modello di machine learning. Tieni presente che puoi creare set di annotazioni per obiettivi di modello diversi nello stesso set di dati. Consulta la sezione 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, potrebbe essere necessario regolare i parametri a seconda della qualità dei dati e del risultato che ti aspetti. Ad esempio:

  • Il tipo di previsione è il livello di granularità dell'elaborazione dei video.
  • La frequenza fotogrammi è importante se le etichette che stai cercando di classificare sono sensibili ai cambiamenti di movimento, come nel riconoscimento delle azioni. Ad esempio, prendi corsa e camminata. Un clip walk con frame al secondo (f/s) basso potrebbe sembrare una corsa. Come per il monitoraggio degli oggetti, è anche sensibile alla frequenza fotogrammi. In sostanza, l'oggetto monitorato deve avere una sovrapposizione sufficiente tra frame adiacenti.
  • La risoluzione per il monitoraggio degli oggetti è più importante che per il riconoscimento delle azioni o la classificazione di video. Se gli oggetti sono piccoli, assicurati di caricare video con risoluzione maggiore. La pipeline attuale utilizza 256 x 256 per l'addestramento regolare o 512 x 512 se nei dati utente sono presenti troppi oggetti piccoli (la cui area è inferiore all'1% dell'area dell'immagine). È consigliabile utilizzare video di almeno 256p. L'utilizzo di video a risoluzione più alta potrebbe non aiutare a migliorare le prestazioni del modello perché internamente i fotogrammi video vengono ridimensionati per aumentare la velocità di addestramento e inferenza.


Valuta, testa ed esegui il deployment del modello

Valuta modello

Immagine

Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Fai clic su evaluate o evaluate per visualizzare un'analisi dettagliata.

raccogliere dati sufficienti Il debug di un modello riguarda più il debug dei dati che del modello stesso. Se a un certo punto il modello inizia ad agire in modo imprevisto mentre ne valuti le prestazioni prima e dopo il push in produzione, devi tornare sui dati e controllarli per capire dove potrebbero essere migliorati.

Che tipo di analisi posso eseguire in Vertex AI?

Nella sezione di valutazione di Vertex AI, puoi valutare le prestazioni del tuo modello personalizzato utilizzando l'output del modello su esempi di test e le metriche comuni di machine learning. In questa sezione, tratteremo il significato di ciascuno di questi concetti.

  • L'output del modello
  • Soglia di 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 indicano il grado di associazione di ogni etichetta all'esempio in questione. Se il numero è alto, il modello ha un'elevata probabilità di applicare l'etichetta al documento.
output del modello

Che cos'è la soglia di punteggio?

Possiamo convertire queste probabilità in valori "on"/"off" binari impostando una soglia di punteggio. La soglia di punteggio si riferisce al livello di affidabilità che il modello deve avere per assegnare una categoria a un elemento di test. Il dispositivo di scorrimento della soglia di punteggio nella console Google Cloud è uno strumento visivo che consente di verificare l'effetto di soglie diverse per tutte le categorie e le singole categorie nel set di dati. Se la soglia di punteggio è bassa, il modello classificherà più immagini, ma rischia di classificare erroneamente alcune immagini durante il processo. Se la soglia di punteggio è alta, il modello classifica meno immagini, ma presenta un rischio minore di classificazione errata delle immagini. Per sperimentare, puoi modificare le soglie per categoria nella console Google Cloud. Tuttavia, quando utilizzi il modello in produzione, devi applicare le soglie che ritieni ottimali sul tuo lato.

punteggio soglia

Cosa sono i veri positivi, i veri negativi, i falsi positivi e i falsi negativi?

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal tuo modello rientreranno in una delle seguenti quattro categorie:
Le soglie che ritieni ottimali per te.

veri negativi positivi

Possiamo utilizzare queste categorie per calcolare precisione e richiamo, metriche che ci aiutano a valutare l'efficacia del nostro modello.

Che cosa sono la precisione e il richiamo?

La precisione e il richiamo ci aiutano a capire in che misura il nostro modello acquisisce le informazioni e quanto vengono escluse. Da tutti gli esempi di test a cui è stata assegnata un'etichetta, la precisione ci indica quanti avrebbero dovuto essere classificati con quell'etichetta. Recall ci dice, da tutti gli esempi di test che avrebbero dovuto assegnare l'etichetta, a quanti di loro è stata effettivamente assegnata l'etichetta.

richiamo di precisione

Devo ottimizzare la precisione o il richiamo?

A seconda del tuo caso d'uso, ti consigliamo di ottimizzare per la precisione o il richiamo. Prendi in considerazione i seguenti due casi d'uso al momento di decidere quale approccio funziona meglio per te.

Caso d'uso: privacy nelle immagini

Supponiamo che tu voglia creare un sistema che rilevi automaticamente le informazioni sensibili e le sfoca.
falso positivo innocuo
I falsi positivi in questo caso sono i falsi positivi, ovvero le cose che non devono essere sfocate e che vengono sfocate, il che può essere fastidioso, ma non dannoso.

falso negativo dannoso
In questo caso, i falsi negativi sono gli elementi che devono essere sfocati e che non vengono sfocati, ad esempio una carta di credito, che può portare a un furto di identità.

In questo caso, ti consigliamo di ottimizzare per il richiamo. Questa metrica misura quanto viene tralasciato per tutte le previsioni effettuate. È probabile che un modello ad alto richiamo etichetta gli esempi marginalmente pertinenti. Questa opzione è utile nei casi in cui la categoria disponga di dati di addestramento insufficienti.

Supponiamo che tu voglia creare un sistema che trovi la migliore foto di stock per una determinata parola chiave.
falso positivo

Un falso positivo in questo caso restituirebbe un'immagine irrilevante. Poiché il tuo prodotto è orgoglioso di restituire solo le immagini con la migliore corrispondenza, questo sarebbe un grave errore.

falso negativo
Un falso negativo in questo caso è il mancato ritorno di un'immagine pertinente per una ricerca di parole chiave. Poiché molti termini di ricerca hanno migliaia di foto che presentano una forte corrispondenza potenziale, non è un problema.

In questo caso, ti consigliamo di eseguire l'ottimizzazione per la precisione. Questa metrica misura quanto sono corrette tutte le previsioni effettuate. È probabile che un modello ad alta precisione etichetta solo gli esempi più pertinenti, il che è utile nei casi in cui la tua classe è comune nei dati di addestramento.

Come si utilizza la matrice di confusione?

matrice di confusione

Come devo interpretare le curve di precisione-richiamo?

curve di richiamo della precisione
Lo strumento Soglia di punteggio ti consente di scoprire in che modo la soglia di punteggio che hai scelto influisce sulla precisione e sul richiamo. Trascinando il dispositivo di scorrimento sulla barra della soglia di punteggio, puoi vedere dove ti posizioni quella soglia sulla curva di compromesso precisione-richiamo e in che modo questa soglia influisce sulla precisione e sul richiamo singolarmente (per i modelli multiclasse, in questi grafici, precisione e richiamo significa che l'unica etichetta utilizzata per calcolare le metriche di precisione e richiamo è l'etichetta con il punteggio più alto nel set di etichette che restituiamo). Questo può aiutarti a trovare un buon equilibrio tra falsi positivi e falsi negativi.

Dopo aver scelto una soglia che sembra accettabile per il tuo modello nel suo complesso, fai clic sulle singole etichette e controlla dove ricade sulla curva di precisione-richiamo per etichetta. In alcuni casi, può significare che ricevi molte previsioni errate per alcune etichette, il che può aiutarti a decidere di scegliere una soglia per classe personalizzata in base a quelle etichette. Ad esempio, se osservi 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 generica. Per quella categoria, vedrai moltissimi falsi positivi. In questo caso, potresti decidere di utilizzare una soglia di 0,8 solo per "Tudor" 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 è vicino a 1,0, migliori sono le prestazioni del modello nel set di test; un modello che effettua ipotesi casuali per ogni etichetta otterrebbe una precisione media di circa 0,5.

Tabulari

valuta il modello Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Le metriche di valutazione del modello si basano sulle prestazioni del modello rispetto a una sezione del tuo set di dati (il set di dati di test). Ci sono un paio di metriche e concetti chiave da considerare per determinare se il tuo modello è pronto per essere utilizzato con dati reali.

Metriche di classificazione

Soglia punteggio

Prendiamo in considerazione un modello di machine learning che prevede 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 previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica del livello di certezza del modello che la classe prevista sia corretta. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione di tipo sì o no, ovvero il valore a cui il modello dice "Sì, questo punteggio di affidabilità è sufficientemente alto da concludere che questo cliente acquisterà un cappotto l'anno successivo.
valuta le soglie

Se la soglia di punteggio è bassa, il modello potrebbe essere classificato in modo errato. Per questo motivo, la soglia di punteggio dovrebbe essere basata su un determinato caso d'uso.

Risultati della previsione

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal modello rientrano in una di quattro categorie. Per comprendere queste categorie, immagina ancora un modello di classificazione binaria delle giacche. In questo esempio, la classe positiva (quella che il modello sta cercando di prevedere) è che il cliente acquisterà una giacca l'anno successivo.

  • Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente che un cliente abbia acquistato una giacca.
  • Falso positivo: il modello prevede erroneamente la classe positiva. Il modello ha previsto che un cliente ha acquistato una giacca, ma non l'ha fatto.
  • 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 erroneamente una classe negativa. Il modello ha previsto che un cliente non ha acquistato una giacca, ma è successo.

risultati della previsione

Precisione e richiamo

Le metriche di precisione e richiamo ti aiutano a comprendere in che misura il tuo modello sta acquisendo le informazioni e cosa sta omettendo. Scopri di più su precisione e richiamo.

  • La precisione è la frazione di previsioni positive che sono risultate corrette. Di tutte le previsioni relative all'acquisto di un cliente, quale frazione era costituita da acquisti effettivi?
  • Richiamo indica la frazione di righe con questa etichetta che il modello ha previsto correttamente. Di tutti gli acquisti dei clienti che si sarebbero potuti identificare, quale frazione ha riguardato?

A seconda del tuo caso d'uso, potrebbe essere necessario ottimizzare per la precisione o il richiamo.

Altre metriche di classificazione
  • AUC PR: l'area sotto la curva di precisione-richiamo (PR). Questo 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). L'intervallo varia da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
  • Accuratezza: frazione di previsioni di classificazione prodotte dal modello che sono state corrette.
  • Perdita di log: entropia incrociata tra le previsioni del modello e i valori target. L'intervallo va da zero a infinito, dove un valore più basso indica un modello di qualità migliore.
  • 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 offre una varietà di metriche standard da esaminare. Non esiste una risposta perfetta su come valutare il tuo modello; considera le metriche di valutazione nel contesto del tuo tipo di problema e degli obiettivi che vuoi ottenere con il modello. Di seguito è riportata una panoramica di alcune metriche che Vertex AI può fornire.

Errore assoluto medio (MAE)

Il MAE indica la differenza media assoluta tra i valori target e previsti. Misura l'entità media degli errori, ovvero la differenza tra un valore target e un valore previsto, in un insieme di previsioni. Inoltre, poiché utilizza valori assoluti, il MAE non considera la direzione della relazione, né indica prestazioni inferiori o superiori. Quando si valuta il MAE, un valore inferiore indica un modello di qualità superiore (0 rappresenta un predittore perfetto).

Radice errore quadratico medio (RMSE)

L'RMSE è la radice quadrata della differenza quadrata media tra i valori target e previsti. RMSE è più sensibile ai valori anomali rispetto al MAE, quindi se ti preoccupano gli errori di grandi dimensioni, l'RMSE può essere una metrica più utile da valutare. Analogamente al MAE, un valore inferiore indica un modello di qualità superiore (0 rappresenta un predittore perfetto).

Errore logaritmico quadratico medio (RMSLE)

Il valore RMSLE è l'RMSE in scala logaritmica. L'RMSLE è più sensibile agli errori relativi rispetto a quelli assoluti e dà più importanza alle prestazioni inferiori al previsto che alle sovraprestazioni.

Quantile osservato (solo previsione)

Per un determinato quantile target, il quantile osservato mostra la frazione effettiva dei valori osservati al di sotto dei valori di previsione dei quantili specificati. Il quantile osservato mostra quanto è distante o vicino il modello rispetto al quantile target. Una differenza minore tra i due valori indica un modello di qualità superiore.

Perdita di flipper scalata (solo previsione)

Misura la qualità di un modello per un determinato quantile target. Un numero inferiore indica un modello di qualità migliore. Puoi confrontare la metrica scalata della perdita di flipper a quantili diversi per determinare l'accuratezza relativa del tuo modello tra questi diversi quantili.

Testo

Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Per visualizzare un'analisi dettagliata, fai clic su evaluate o evaluate.

Che cosa devo ricordare prima di valutare il mio modello?

raccogliere dati sufficienti Il debug di un modello riguarda più il debug dei dati che del modello stesso. Se il modello inizia ad agire in modo imprevisto mentre ne valuti le prestazioni prima e dopo il push in produzione, devi tornare sui dati e controllarli per capire dove potrebbero essere migliorati.

 

Che tipo di analisi posso eseguire in Vertex AI?

Nella sezione di valutazione di Vertex AI, puoi valutare le prestazioni del tuo modello personalizzato utilizzando l'output del modello su esempi di test e metriche comuni di machine learning. Questa sezione illustra il significato di ciascuno dei seguenti concetti:

  • L'output del modello
  • Soglia di 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 indicano il grado di associazione di ogni etichetta all'esempio in questione. Se il numero è alto, il modello ha un'elevata probabilità di applicare l'etichetta al documento.
output del modello

Che cos'è la soglia di punteggio?

La soglia di punteggio consente a Vertex AI di convertire le probabilità in valori binari "on"/"off". La soglia di punteggio si riferisce al livello di affidabilità che il modello deve avere per assegnare una categoria a un elemento di test. Il dispositivo di scorrimento della soglia di punteggio nella console è uno strumento visivo per testare l'impatto di soglie diverse nel set di dati. Nell'esempio precedente, se impostiamo la soglia di punteggio su 0,8 per tutte le categorie, vengono assegnati "Ottimo Servizio" e "Suggerimento", ma non "Richiesta di informazioni". Se la soglia di punteggio è bassa, il modello classificherà più elementi di testo, ma rischia di classificare in modo errato altri elementi di testo durante il processo. Se la soglia di punteggio è alta, il modello classificherà meno elementi di testo, ma il rischio di classificazione erronea degli elementi di testo sarà minore. Per sperimentare, puoi modificare le soglie per categoria nella console Google Cloud. Tuttavia, quando utilizzi il modello in produzione, devi applicare le soglie che ritieni ottimali sul tuo lato.
soglia di punteggio

Cosa sono i veri positivi, i veri negativi, i falsi positivi e i falsi negativi?

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal modello rientreranno in una delle quattro categorie seguenti.
risultati della previsione

Puoi utilizzare queste categorie per calcolare precisione e richiamo, metriche che aiutano a valutare l'efficacia del modello.

Che cosa sono la precisione e il richiamo?

La precisione e il richiamo ci aiutano a capire in che misura il nostro modello acquisisce le informazioni e quanto vengono escluse. Da tutti gli esempi di test a cui è stata assegnata un'etichetta, la precisione ci indica quanti avrebbero dovuto essere classificati con quell'etichetta. Recall ci dice, da tutti gli esempi di test che avrebbero dovuto assegnare l'etichetta, a quanti di loro è stata effettivamente assegnata l'etichetta.
richiamo di precisione

Devo ottimizzare la precisione o il richiamo?

A seconda del tuo caso d'uso, ti consigliamo di ottimizzare per la precisione o il richiamo. Prendi in considerazione i seguenti due casi d'uso al momento di decidere quale approccio funziona meglio per te.

Caso d'uso: documenti urgenti

Supponiamo che tu voglia creare un sistema in grado di dare priorità ai documenti urgenti rispetto a quelli che non lo sono.
ottimizza in base alle urgenze

Un falso positivo in questo caso è un documento che non è urgente, ma viene contrassegnato come tale. L'utente può ignorarli come non urgenti e andare avanti.
ottimizza come non urgente

Un falso negativo in questo caso potrebbe essere un documento urgente, ma il sistema non riesce a segnalarlo come tale. Questo potrebbe causare problemi.

In questo caso, ti consigliamo di eseguire l'ottimizzazione per il richiamo. Questa metrica misura quanto viene tralasciato per tutte le previsioni effettuate. È probabile che un modello a richiamo elevato etichetta gli esempi marginalmente pertinenti. Questa opzione è utile nei casi in cui la categoria disponga di dati di addestramento insufficienti.

Caso d'uso: filtro antispam

Supponiamo che tu voglia creare un sistema che filtri automaticamente i messaggi email spam da quelli che non lo sono.
spam

Un falso negativo in questo caso potrebbe essere un'email di spam che non viene rilevata e che viene visualizzata nella posta in arrivo. Solitamente, è solo un po' fastidioso.
non spam

Un falso positivo in questo caso potrebbe essere un'email erroneamente contrassegnata come spam e rimossa dalla posta in arrivo. Se l'email era importante, l'utente potrebbe essere interessato in modo negativo.

In questo caso, ti consigliamo di ottimizzare per la precisione. Questa metrica misura quanto sono corrette tutte le previsioni effettuate. È probabile che un modello ad alta precisione etichetta solo gli esempi più pertinenti, il che è utile nei casi in cui la tua categoria è comune nei dati di addestramento.

Come si utilizza la matrice di confusione?

Possiamo confrontare le prestazioni del modello su ogni etichetta utilizzando una matrice di confusione. In un modello ideale, tutti i valori in diagonale saranno alti, mentre tutti gli altri valori saranno bassi. Questo mostra che le categorie desiderate vengono identificate correttamente. Se altri valori sono alti, ci danno un indizio su come il modello stia classificando erroneamente gli elementi di test.
matrice di confusione

Come si interpretano le curve di precisione-richiamo?

curve di richiamo della precisione
Lo strumento Soglia di punteggio ti consente di scoprire in che modo la soglia di punteggio che hai scelto influisce su precisione e richiamo. Trascinando il dispositivo di scorrimento sulla barra della soglia di punteggio, puoi vedere dove ti posizioni quella soglia sulla curva di compromesso precisione-richiamo e in che modo questa soglia influisce sulla precisione e sul richiamo singolarmente (per i modelli multiclasse, in questi grafici, precisione e richiamo significa che l'unica etichetta utilizzata per calcolare le metriche di precisione e richiamo è l'etichetta con il punteggio più alto nell'insieme di etichette che restituiamo). Questo può aiutarti a trovare un buon equilibrio tra falsi positivi e falsi negativi.

Dopo aver scelto una soglia che sembra accettabile per il tuo modello nel complesso, puoi fare clic sulle singole etichette e vedere dove ricade sulla curva di precisione-richiamo per etichetta. In alcuni casi, può significare che ricevi molte previsioni errate per alcune etichette, il che può aiutarti a decidere di scegliere una soglia per classe personalizzata in base a quelle etichette. Ad esempio, supponiamo che, esaminando il set di dati dei commenti dei clienti, noti che una soglia pari a 0,5 abbia precisione e richiamo ragionevoli per ogni tipo di commento tranne "Suggerimento", forse perché è una categoria molto generica. Per quella categoria, vedrai moltissimi 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 si chiama Precisione media. Più questo punteggio è vicino a 1,0, migliori sono le prestazioni del modello nel set di test; un modello che effettua ipotesi casuali per ogni etichetta otterrà una precisione media di circa 0,5.

Video

raccogliere dati sufficienti Dopo l'addestramento del modello, riceverai un riepilogo delle sue prestazioni. Le metriche di valutazione del modello si basano sulle prestazioni del modello rispetto a una sezione del tuo set di dati (il set di dati di test). Ci sono un paio di metriche e 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 obiettivo da calcio è davvero un obiettivo? A ogni previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica del livello di certezza del modello che un determinato segmento video contiene una classe. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione di tipo sì o no, ovvero il valore a cui il modello indica "sì, questo numero di affidabilità è sufficientemente alto per concludere che il segmento video contiene un obiettivo". punteggio soglia

Se la soglia di punteggio è bassa, il modello rischia di etichettare in modo errato i segmenti video. Per questo motivo, la soglia di punteggio dovrebbe essere basata su un determinato caso d'uso. Immagina un caso d'uso medico come la diagnosi del cancro, in cui le conseguenze di un'etichettatura errata sono maggiori rispetto a un'etichettatura errata dei video sportivi. Per la diagnosi del cancro, è appropriata una soglia di punteggio più alta.

Risultati della previsione

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal modello rientrano in una di quattro categorie. Per comprendere queste categorie, immagina di aver creato un modello per rilevare se un determinato segmento contiene o meno una porta da calcio. In questo esempio, un obiettivo è la classe positiva (quella che il modello sta cercando di prevedere).

  • Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente un obiettivo nel segmento video.
  • Falso positivo: il modello prevede erroneamente la classe positiva. Il modello ha previsto che nel segmento era presente un obiettivo, ma non ce n'era uno.
  • Vero negativo: il modello prevede correttamente la classe negativa. Il modello ha previsto correttamente la mancanza di un obiettivo nel segmento.
  • Falso negativo: il modello prevede erroneamente una classe negativa. Il modello ha previsto che il segmento non conteneva un obiettivo, ma ne esisteva uno.
risultati della previsione

Precisione e richiamo

Le metriche di precisione e richiamo ti aiutano a comprendere in che misura il tuo modello sta acquisendo le informazioni e cosa sta omettendo. Scopri di più su precisione e richiamo

  • La precisione è la frazione di previsioni positive che sono risultate corrette. Di tutte le previsioni contrassegnate come "obiettivo", quale frazione conteneva effettivamente un obiettivo?
  • Il richiamo è la frazione di tutte le previsioni positive che sono state effettivamente identificate. Di tutti i gol che si sarebbero potuti identificare, quale frazione?

A seconda del tuo caso d'uso, potrebbe essere necessario ottimizzare per 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 di un video e le sfoca. Le conseguenze di falsi risultati possono includere:

  • Un falso positivo identifica qualcosa che non deve essere censurato, ma viene comunque censurato. Questo potrebbe essere fastidioso, ma non dannoso.
    falso positivo innocuo
  • Un falso negativo non identifica le informazioni che devono essere censurate, come il numero di carta di credito. In questo modo vengono divulgate informazioni private ed è lo scenario peggiore.
    falso negativo dannoso

In questo caso d'uso, è fondamentale ottimizzare per il richiamo 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 più propensi a etichettare quelli errati (sfocando più del necessario).

Supponiamo che tu voglia creare un software che consenta agli utenti di effettuare ricerche 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 tuo sistema cerca di fornire solo video pertinenti, il tuo software non sta realmente facendo ciò per cui è stato progettato.
    falso positivo
  • Un falso negativo non restituisce un video pertinente. Poiché molte parole chiave contengono centinaia di video, questo problema non è grave quanto la restituzione di un video non pertinente.
    falso negativo

In questo esempio, ti consigliamo di ottimizzare la precisione per assicurarti che il modello fornisca risultati altamente pertinenti e corretti. È probabile che un modello ad alta precisione etichetta solo gli esempi più pertinenti, ma potrebbe escluderne alcuni. Scopri di più sulle metriche di valutazione del modello.


Testa il tuo modello

Immagine

Vertex AI utilizza automaticamente il 10% dei tuoi dati (o, se hai scelto personalmente la suddivisione dei dati, qualsiasi percentuale tu abbia scelto di utilizzare) per testare il modello e la pagina "Valuta" mostra come è andato il modello su quei dati di test. Se, però, vuoi controllare in modo sicuro il tuo modello, ci sono diversi modi per farlo. Il più semplice è caricare alcune immagini nella pagina "Deployment e test" e controllare le etichette scelte dal modello per i tuoi esempi. Spero che questo risponda alle tue aspettative. Prova a fare alcuni esempi per ciascun tipo di immagine che ti aspetti di ricevere.

Se invece vuoi utilizzare il tuo modello nei tuoi test automatici, la pagina "Esegui il deployment e testa" indica anche come effettuare chiamate al modello in modo programmatico.

Tabulari

La valutazione delle metriche del modello è principalmente il modo in cui puoi determinare se il modello è pronto per il deployment, ma puoi anche testarlo con nuovi dati. Carica nuovi dati per vedere se le previsioni del modello corrispondono alle tue aspettative. In base alle metriche di valutazione o ai test con nuovi dati, potresti dover continuare a migliorare le prestazioni del modello.

Testo

Vertex AI utilizza automaticamente il 10% dei tuoi dati (oppure, se hai scelto personalmente la suddivisione dati, qualsiasi percentuale tu abbia scelto di utilizzare) per testare il modello e la pagina Valuta indica i risultati del modello su quei dati di test. Se però vuoi controllare il tuo modello, ci sono diversi modi per farlo. Dopo aver eseguito il deployment del modello, puoi inserire esempi di testo nel campo della pagina Deployment e test e controllare le etichette scelte dal modello per i tuoi esempi. Spero che questo risponda alle tue aspettative. Prova a fare alcuni esempi per ciascun tipo di commento che ti aspetti di ricevere.

Se vuoi utilizzare il tuo modello nei tuoi test automatici, la pagina Esegui il deployment e il test fornisce una richiesta API di esempio che mostra come effettuare chiamate al modello in modo programmatico.

Se vuoi utilizzare il tuo modello nei tuoi test automatici, la pagina Esegui il deployment e il test fornisce una richiesta API di esempio che mostra come effettuare chiamate al 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, ovvero il modello attende che vengano elaborate tutte le richieste di previsione prima di restituire i risultati.

Video

Il video Vertex AI utilizza automaticamente il 20% dei tuoi dati per testare il modello oppure, se hai scelto personalmente la suddivisione dei dati, qualsiasi percentuale tu abbia scelto di utilizzare. La scheda Valuta nella console mostra l'andamento del modello su quei dati di test. Se però vuoi controllare il tuo modello, ci sono diversi modi per farlo. Un modo è fornire un file CSV con i dati video per i test nella scheda "Testa e utilizza" e controllare le etichette che il modello prevede per i video. Spero che questo risponda alle tue aspettative.

Puoi regolare la soglia per la visualizzazione delle previsioni e esaminare le previsioni su tre scale temporali: intervalli di 1 secondo, riprese della videocamera dopo il rilevamento automatico dei confini delle scene e interi segmenti video.

Esegui il deployment del modello

Immagine

Quando le prestazioni del modello sono soddisfacenti, è il momento di utilizzarlo. Forse questo significa utilizzo su scala di produzione o una richiesta di previsione una tantum. A seconda del tuo caso d'uso, puoi utilizzare il tuo modello in diversi modi.

Previsione batch

La previsione batch è utile per effettuare molte richieste di previsione contemporaneamente. La previsione batch è asincrona, ovvero il modello attende che vengano elaborate tutte le richieste di previsione prima di restituire un file JSON Lines con valori di previsione.

Previsione online

Esegui il deployment del modello per renderlo disponibile per le richieste di previsione utilizzando un'API REST. La previsione online è sincrona (in tempo reale), ossia restituisce rapidamente una previsione, ma accetta soltanto una richiesta di previsione per chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e parti del sistema dipendono da tempi di previsione rapidi.

Tabulari

Quando le prestazioni del modello sono soddisfacenti, è il momento di utilizzarlo. Forse questo significa utilizzo su scala di produzione o forse si tratta di una richiesta di previsione una tantum. A seconda del tuo caso d'uso, puoi utilizzare il modello in diversi modi.

Previsione batch

La previsione batch è utile per effettuare molte richieste di previsione contemporaneamente. La previsione batch è asincrona, ossia il modello attende che vengano elaborate tutte le richieste di previsione prima di restituire un file CSV o una tabella BigQuery con valori di previsione.

Previsione online

Esegui il deployment del modello per renderlo disponibile per le richieste di previsione utilizzando un'API REST. La previsione online è sincrona (in tempo reale), ossia restituisce rapidamente una previsione, ma accetta solo una richiesta di previsione per chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e parti del sistema dipendono da tempi di previsione rapidi.

Video

Quando le prestazioni del modello sono soddisfacenti, è il momento di 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 previsione video e di output in un altro file CSV. La previsione batch è asincrona, ovvero 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.