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 l'allenatore di una squadra di calcio.
  • Ti trovi 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.

Selezionare 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

Collabori con un organismo di conservazione dell'architettura che tenta di identificare i quartieri che presentano uno stile architettonico coerente nella tua città. Hai a disposizione centinaia di migliaia di istantanee di case da vagliare. Tuttavia, quando si cerca di classificare manualmente tutte queste immagini, è noiosa e soggetta a errori. Uno stagista ha etichettato con poche centinaia di persone qualche mese fa, ma nessun altro ha guardato i dati. Sarebbe molto utile se potessi semplicemente insegnare al tuo computer a eseguire questa revisione per te.
presentazione

Tabulari

Lavori nel reparto marketing di un rivenditore digitale. Tu e il tuo team state creando un programma email personalizzato basato sui clienti tipo. Hai creato gli utenti tipo e le email di marketing sono pronte. Ora devi creare un sistema che accolga i clienti in ogni cliente tipo in base alle preferenze di vendita al dettaglio e al comportamento di spesa, anche quando sono nuovi clienti. Per massimizzare il coinvolgimento dei clienti, vuoi anche prevedere le loro abitudini di spesa in modo da poter ottimizzare quando inviare loro le email.
Introduzione alle tabelle

In qualità di rivenditore digitale, disponi di dati sui tuoi clienti e sugli acquisti che hanno effettuato. E i nuovi clienti? Gli approcci tradizionali possono calcolare questi valori per i clienti esistenti con cronologie di acquisto lunghe, ma non sono efficaci per 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 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 utili in qualche modo. Poiché si uniscono tutti, è facile rimanere indietro nell'affrontarli. Dipendenti diversi gestiscono tipi di messaggi diversi. Sarebbe bello se un sistema automatico potesse classificarli 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 i servizi passati, prevedono un tentativo di saperne di più sulla tua attività, una richiesta di fissare un appuntamento o un tentativo di stabilire una relazione.

Video

Disponi di 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 evidenziare ogni azione è noioso e dispendioso in termini di tempo. E devi ripetere questo lavoro ogni stagione. Ora immagina un modello informatico in grado di identificare e segnalare automaticamente queste azioni ogni volta che vengono visualizzate in un video.

Di seguito sono riportati alcuni scenari oggettivi specifici.

  • Riconoscimento dell'azione. Scopri 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 del team.
    gol, fallo, azioni su rigore
  • Classificazione: classifica ogni video girato in metà tempo, visualizzazione partita, visualizzazione pubblico o visualizzazione coach. Utile agli coach per sfogliare solo le riprese dei video che ti interessano.
  • Monitoraggio di oggetti: monitora il pallone 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 set di dati e modelli AutoML e illustra i tipi di problemi per cui è progettato Vertex AI.

Una nota sull'equità

Google si impegna a fare progressi nel seguire pratiche relative all'IA responsabile. Per raggiungere questo obiettivo, i nostri prodotti di ML, tra cui AutoML, sono progettati sulla base di principi fondamentali come equità e machine learning incentrato sulle persone. Per ulteriori informazioni sulle best practice per la mitigazione dei bias durante la creazione di un sistema ML, consulta la guida sul machine learning inclusivo - AutoML.

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

Per la programmazione classica, il programmatore deve specificare le istruzioni dettagliate che un computer deve seguire. Consideriamo però il caso d'uso di identificare azioni specifiche nei giochi di calcio. Le variazioni di colore, angolazione, risoluzione e illuminazione sono così tante che sarebbe necessaria la programmazione di troppe regole per indicare a una macchina come prendere la decisione corretta. È difficile immaginare da dove inizi. Oppure quando i commenti dei clienti, che utilizzano un vocabolario e una struttura ampi e diversificati, sono troppo diversificati per poter essere acquisiti da un semplice insieme di regole. Se provassi a creare filtri manuali, ti accorgerai subito che non era possibile classificare la maggior parte dei commenti dei clienti. Ti serve un sistema che generalizza in base a un'ampia varietà 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?

rappresentazione grafica di una semplice rete neurale Vertex AI prevede attività di apprendimento supervisionato per raggiungere un risultato scelto. Le specifiche 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 che risolve problemi diversi e funziona all'interno di vincoli diversi.



Immagine

Puoi addestrare, testare e convalidare il modello di machine learning con immagini di esempio annotate con etichette per la classificazione o annotate con etichette e riquadri di delimitazione per il rilevamento degli oggetti. Utilizzando l'apprendimento supervisionato, puoi addestrare un modello a riconoscere modelli e contenuti che ti interessano nelle immagini.

Tabulari

Viene addestrato 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 sulla base di 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. È possibile utilizzare le stesse caratteristiche di input per creare più tipi di modelli semplicemente modificando la colonna di destinazione e le opzioni di addestramento. Dall'esempio dell'email marketing, ciò significa che puoi creare modelli con le stesse caratteristiche di input, ma con previsioni di target diverse. Uno potrebbe prevedere l'utente tipo (un target categorico) di un cliente, un altro potrebbe prevedere la spesa mensile (un target numerico) e un altro potrebbe 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 un apprendimento supervisionato. Ciò comporta l'addestramento di un computer a riconoscere pattern a partire da dati etichettati. Utilizzando l'apprendimento supervisionato, puoi addestrare un modello AutoML in modo che riconosca i contenuti che ti interessano nel testo.

Video

Il modello di machine learning viene addestrato, testato e convalidato con i video che hai già etichettato. Con un modello addestrato, puoi quindi inserire nuovi video nel modello, che a sua volta genera segmenti video con etichette. Un segmento video definisce l'offset temporale dell'ora di inizio e di fine all'interno di un video. Può essere costituito dall'intero video, da un segmento di tempo definito dall'utente, da un video registrato automaticamente o da un timestamp che indica quando l'ora di inizio corrisponde a quella 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 delle azioni produce compensazioni temporali del video con etichette che descrivono i colpi di azione, come "obiettivo", "fallo personale" e così via.
  • un modello di classificazione addestrato produce segmenti di colpi rilevati automaticamente con etichette definite dall'utente come "visualizzazione gioco", "visualizzazione pubblico".
  • un modello addestrato di monitoraggio degli oggetti restituisce le tracce del pallone da calcio o dei giocatori attraverso riquadri di delimitazione nei frame in cui appaiono gli oggetti.

Flusso di lavoro di Vertex AI

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

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

Prima di iniziare a raccogliere i dati, però, devi pensare al problema che stai cercando di risolvere. Questo indicherà i tuoi requisiti relativi ai dati.

Preparazione dati

Valuta il tuo caso d'uso

Inizia dal 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 stai cercando di ottenere?
  • Quali tipi di categorie o oggetti dovresti riconoscere per ottenere questo risultato?
  • Le persone possono riconoscere queste categorie? Sebbene Vertex AI sia in grado di gestire una grandezza maggiore di categorie rispetto a quelle che gli esseri umani riescono a ricordare e assegnare contemporaneamente, se un essere umano non è in grado di riconoscere una categoria specifica, anche Vertex AI avrà difficoltà.
  • Quali tipi di esempi potrebbero riflettere meglio il tipo e l'intervallo di dati che il sistema vedrà e cercherà di classificare?

Tabulari

Che tipo di dati corrisponde alla colonna di destinazione? 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). Da utilizzare per domande sì o no, ad esempio per prevedere se un cliente acquisterebbe o meno un abbonamento. 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. Usa questa opzione per assegnare una categoria. Per l'esempio del retail, vorrai 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, ti consigliamo di prevedere la domanda giornaliera dei tuoi prodotti per i prossimi 3 mesi, in modo da poter disporre in anticipo degli inventari dei prodotti in modo appropriato.
  • Un modello di regressione prevede un valore continuo. Per l'esempio del retail, potresti creare un modello di regressione per prevedere quanto un cliente spenderà 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?
  • Le persone possono riconoscere queste categorie? Sebbene Vertex AI sia in grado di gestire più categorie di quelle che gli esseri umani possono ricordare e assegnare contemporaneamente, se un essere umano non è in grado di riconoscere una categoria specifica, anche Vertex AI avrà difficoltà.
  • Quali tipi di esempi potrebbero riflettere meglio il tipo e l'intervallo di dati che verranno classificati dal sistema?

Video

A seconda del risultato che stai cercando di ottenere, seleziona l'obiettivo del modello appropriato:

  • Per rilevare i momenti di azione in un video, come identificare i punti da segnare, determinare un fallo o l'esecuzione di un calcio di rigore, utilizza l'obiettivo riconoscimento dell'azione.
  • Per classificare le riprese televisive nelle seguenti categorie: spot pubblicitari, notizie, programmi TV e così via, utilizza l'obiettivo classificazione.
  • Per individuare e monitorare gli oggetti in un video, utilizza l'obiettivo di monitoraggio degli oggetti.

Consulta 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.

Raccogli i tuoi dati

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

Immagine

raccogliere dati sufficienti Dopo aver stabilito di quali dati hai bisogno, devi trovare un modo per ottenerli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire che stai già raccogliendo i dati pertinenti di cui hai bisogno 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

includi una quantità sufficiente di dati 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 ciascuno. In generale, più dati etichettati puoi fornire al processo di addestramento, migliore sarà il modello. Scegli come target almeno 1000 esempi per etichetta.

Distribuisci gli esempi equamente tra le categorie

È importante acquisire una quantità quasi simile di esempi di addestramento per ogni categoria. Anche se i dati sono abbondanti per un'etichetta, è meglio avere la stessa distribuzione per ogni etichetta. Per capire perché, immagina che l'80% delle immagini che utilizzi per creare il tuo modello siano immagini di case unifamiliari in stile moderno. Con una distribuzione non bilanciata delle etichette, è molto probabile che il modello impari che è sicuro sempre dire che una foto fa riferimento a una moderna casa unifamiliare, piuttosto che uscire con un ramo 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 candidato esperto capirà che è in grado di rispondere alla lettera "C" ogni volta senza neanche guardare la domanda.
distribuire in modo uniforme

Siamo consapevoli che potrebbe non essere sempre possibile generare un numero approssimativamente uguale di esempi per ogni etichetta. Potrebbe essere più difficile reperire esempi di alta qualità e imparziali per alcune categorie. In queste circostanze, puoi seguire questa regola generale: l'etichetta con il numero più basso di esempi deve avere almeno il 10% degli esempi come etichetta con il maggior numero di esempi. Pertanto, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola dovrebbe averne almeno 1000.

Acquisisci la variante nello spazio dei problemi

Per motivi simili, cerca di assicurarti che i dati catturino la varietà e la diversità dello spazio dei problemi. Più ampia è la selezione visibile al processo di addestramento del modello, più facile sarà generalizzare in base a nuovi esempi. Ad esempio, se stai cercando di classificare foto di elettronica di consumo in categorie, maggiore è 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 prima un modello in questione.
Acquisisci variante

Abbina i dati all'output previsto per il modello

associa i dati all'output previsto
Trova immagini che sono visivamente simili a ciò su cui intendi fare previsioni. Se stai cercando di classificare immagini della casa scattate tutte con la neve invernale, probabilmente non otterrai prestazioni ottimali da un modello addestrato solo su immagini della casa scattate in condizioni di sole, anche se le hai contrassegnate 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 estratti dallo stesso set di dati che intendi utilizzare per la classificazione del modello.

Tabulari

set di test Dopo aver definito il caso d'uso, dovrai raccogliere i dati per addestrare il modello. L'origine 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? Quando raccogli i 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 consentono al modello di identificare i pattern per eseguire previsioni, perciò devono essere pertinenti al problema. Ad esempio, per creare un modello che preveda se una transazione con carta di credito è fraudolenta o meno, è necessario creare un set di dati che contenga i dettagli della transazione come l'acquirente, il venditore, l'importo, la data e l'ora e gli articoli acquistati. Altre funzionalità utili potrebbero essere le informazioni storiche sull'acquirente e sul 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 fin dall'introduzione. Ecco alcune colonne di funzionalità che potrebbero essere necessarie:

  • 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 di vendite al giorno
  • Per ciascun articolo, il totale disponibile ogni giorno
  • Se stai pubblicando una promozione per un determinato giorno
  • Profilo demografico noto dell'acquirente

Includi dati sufficienti

includi una quantità sufficiente di dati In generale, maggiore è il numero di esempi di addestramento, migliori saranno i risultati. Anche la quantità di dati di esempio richiesti dipende dalla complessità del problema che stai cercando di risolvere. Non avrai bisogno di molti dati per ottenere un modello di classificazione binaria accurato rispetto a un modello multiclasse perché è meno complicato prevedere una classe da due anziché da più.

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

  • Problema di classificazione: 50 righe x le caratteristiche numeriche.
  • Problema di previsione:
    • 5000 righe x il numero di elementi
    • 10 valori univoci nella colonna dell'identificatore 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. Maggiore è la diversità degli esempi che un modello vede durante l'addestramento, più sarà pronta per la generalizzazione con esempi nuovi o meno comuni. Immagina che il tuo modello di vendita al dettaglio sia stato addestrato solo utilizzando i dati di acquisto del periodo invernale. Potrebbe prevedere correttamente le preferenze di abbigliamento o i comportamenti di acquisto per l'estate?

Testo

raccogliere dati sufficienti Dopo aver stabilito di quali dati avrai bisogno, dovrai trovare un modo per ottenerli. 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 affidarli a un fornitore di terze parti.

Includi un numero sufficiente di esempi etichettati in ogni categoria

includi una quantità sufficiente di dati La probabilità di riconoscere correttamente un'etichetta aumenta in base al numero di esempi di alta qualità per ciascuno. In generale, più dati etichettati puoi aggiungere al processo di addestramento, migliore sarà il modello. Il numero di campioni necessario varia anche in base al grado di coerenza nei dati che vuoi prevedere e al livello di accuratezza target. Puoi utilizzare meno esempi per set di dati coerenti o per ottenere un'accuratezza dell'80% anziché del 97%. Addestra un modello e poi valuta i risultati. Aggiungi altri esempi e riaddestrali fino a raggiungere i target di accuratezza, il che potrebbe richiedere centinaia o persino migliaia di esempi per etichetta. Per ulteriori informazioni sui requisiti e sui suggerimenti dei dati, consulta Preparazione dei dati di addestramento testuale per i modelli AutoML.

Distribuisci gli esempi equamente tra le categorie

È importante acquisire un numero pressoché simile di esempi di addestramento per ogni categoria. Anche se i dati sono abbondanti per un'etichetta, è meglio avere la stessa distribuzione per ogni etichetta. Per capire perché, immagina che l'80% dei commenti dei clienti che utilizzi per creare il tuo modello siano richieste di stima. Con una distribuzione non bilanciata delle etichette, è molto probabile che il modello impari che è sicuro sempre indicare che un commento di un cliente è una richiesta di stima, anziché provare a prevedere un'etichetta molto meno comune. È come scrivere un test a scelta multipla in cui quasi tutte le risposte corrette sono "C": presto il candidato esperto capirà che è in grado di rispondere alla lettera "C" ogni volta senza neanche guardare la domanda.
distribuire in modo uniforme

Potrebbe non essere sempre possibile generare un numero approssimativo di esempi per ogni etichetta. Potrebbe essere più difficile reperire esempi di alta qualità e imparziali per alcune categorie. In queste circostanze, l'etichetta con il numero più basso di esempi dovrebbe avere almeno il 10% degli esempi come etichetta con il maggior numero di esempi. Pertanto, se l'etichetta più grande ha 10.000 esempi, l'etichetta più piccola dovrebbe averne almeno 1000.

Acquisisci la variante nello spazio dei problemi

Per motivi simili, cerca di fare in modo che i tuoi dati acquisiscano la varietà e la diversità dello spazio dei problemi. Quando fornisci un set più ampio di esempi, il modello può generalizzare meglio in base a nuovi dati. Supponiamo che tu stia cercando di classificare in argomenti articoli sull'elettronica di consumo. 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 è incluso nel set di addestramento. Valuta anche la possibilità di 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

associa i dati all'output previsto
Trova esempi di testo simili a ciò su cui prevedi di fare previsioni. Se stai cercando di classificare i post dei social media sulla soffiatura del vetro, probabilmente non otterrai prestazioni ottimali 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 intendi utilizzare per classificare il modello.

Video

raccogliere dati sufficienti Dopo aver definito il caso d'uso, dovrai raccogliere i dati video che ti consentiranno di creare il modello che preferisci. I dati raccolti per l'addestramento determinano il tipo di problemi che puoi risolvere. Quanti video puoi usare? I video contengono un numero sufficiente di esempi per ciò che vuoi che il modello preveda? Quando raccogli i dati dei tuoi video, tieni presente le seguenti considerazioni.

Includi un numero sufficiente di video

includi una quantità sufficiente di dati In genere, maggiore è il numero di video di addestramento nel set di dati, migliore sarà il risultato. Il numero di video consigliati dipende anche dalla 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 da due) rispetto a un problema con più etichette (previsione di una o più classi da più).

La complessità di ciò che stai cercando di fare determina anche la quantità di dati video che ti servono. Prendi in considerazione il caso d'uso del calcio per la classificazione, ovvero la creazione di un modello per distinguere i colpi di 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 più dati di addestramento per identificare i diversi stili di nuoto e aiutare il modello a imparare a identificare ogni tipo in modo preciso. Consulta la pagina Preparazione dei dati video per 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 richiesta potrebbe essere superiore a quella che hai attualmente. Valuta la possibilità di procurarti altri video tramite un fornitore di terze parti. Ad esempio, puoi acquistare o acquistare altri video di 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é: immagina che l'80% del tuo set di dati relativo agli allenamenti sia costituito da video sul calcio con tiri da goal, ma che solo il 20% dei video mostri falli personali o calci di rigore. Con una distribuzione non uguale delle classi, è più probabile che il modello preveda che una determinata azione è un obiettivo. È un po' come scrivere un test a scelta multipla in cui l'80% delle risposte corrette corrisponde a "C": il modello esperto capirà rapidamente che la lettera "C" è una buona ipotesi la maggior parte delle volte.
distribuire equamente i video

Potrebbe non essere possibile reperire un numero uguale di video per ogni corso. Anche esempi imparziali e di alta qualità potrebbero essere difficili per alcune classi. Prova a seguire un rapporto 1:10: se la classe maggiore ha 10.000 video, la più piccola dovrebbe averne almeno 1000.

Acquisisci variante

I dati video devono rispecchiare l'eterogeneità dello spazio in cui è presente il problema. Maggiore è la diversità degli esempi che un modello vede durante l'addestramento, più sarà pronta per la generalizzazione con esempi nuovi o meno comuni. Pensa al modello di classificazione delle azioni del calcio: assicurati di includere video con una varietà di angolazioni di ripresa, di giorno e di notte e di movimenti dei giocatori diversi. L'esposizione del modello a diversi dati migliora la sua capacità di distinguere un'azione dall'altra.

Associa i dati all'output previsto

associa i dati all'output previsto

Trova video di addestramento che sono 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 in questi ambienti influiranno sul modello. Se utilizzi questo modello per testare i video acquisiti in estate o in giornata, potresti non ricevere previsioni accurate.

Considera questi fattori aggiuntivi: risoluzione video, fotogrammi video al secondo, angolazione videocamera, sfondo.


Prepara i dati

Immagine

raccogliere dati sufficienti Dopo aver deciso qual è la suddivisione più adatta a te, 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 Preparare i dati di addestramento. Se vuoi suddividere manualmente il set di dati, puoi specificare le suddivisioni nel file di importazione delle righe CSV o JSON.
  • 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 insieme di immagini puoi avere un set di annotazioni con riquadro di delimitazione e informazioni sulle etichette per rilevare gli oggetti, oltre a un altro set di annotazioni con solo annotazioni delle etichette per la classificazione.

Tabulari

prepara i dati Dopo aver identificato i dati disponibili, devi assicurarti che siano pronti per l'addestramento. Se i tuoi dati sono parziali o contengono valori mancanti o errati, la qualità del modello influisce sulla qualità del modello. Prima di iniziare ad addestrare il modello, considera quanto segue. Scopri di più.

Evita la fuga di dati e il disallineamento addestramento/distribuzione

La fuga di dati si verifica quando durante l'addestramento si utilizzano caratteristiche di input per "fugare" le informazioni sul target che si sta tentando di prevedere e che non è disponibile quando il modello viene effettivamente pubblicato. Questo può essere rilevato quando una caratteristica molto correlata alla colonna di destinazione viene 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 da parte di quel cliente. Ciò può portare a prestazioni ottimali del modello durante i test, ma non durante il deployment in produzione, dato che al momento della pubblicazione non sono disponibili i dati di pagamento degli abbonamenti futuri.

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, creare un modello per prevedere le temperature orarie, ma addestrare 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 dello studente, ma non fornire queste informazioni al momento della pubblicazione.

La comprensione dei dati di addestramento è importante per evitare la fuga di dati e il disallineamento tra addestramento e distribuzione:

  • Prima di utilizzare qualsiasi dato, assicurati di sapere cosa significano i dati e se dovresti utilizzarli o meno come funzionalità
  • Controlla la correlazione nella scheda Addestra. Le correlazioni elevate devono essere segnalate per la revisione.
  • Disallineamento addestramento/distribuzione: assicurati di fornire al modello solo caratteristiche di input che siano disponibili nello stesso identico modulo al momento della pubblicazione.

Elimina i dati mancanti, incompleti e incoerenti

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

  • Verifica la presenza di valori mancanti nei dati e, se possibile, correggili oppure lascia vuoto il valore se la colonna è impostata come null. Vertex AI può gestire i valori mancanti, ma è più probabile ottenere 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ò attribuire valori mancanti, ma è più probabile che otterrai risultati ottimali se tutte le righe sono disponibili.
  • Pulisci i tuoi dati correggendo o eliminando errori o rumore nei dati. Rendi i dati coerenti: 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. 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 è meglio esaminarli tutti. Dovresti anche controllare il valore null di ogni colonna, che determina se una colonna può avere valori mancanti o NULL.

Testo

raccogliere dati sufficienti Dopo aver deciso qual è la suddivisione più adatta a te (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 JSON Lines con le etichette incorporate, come specificato in Preparare i dati di addestramento. Se vuoi suddividere manualmente il set di dati, puoi specificare le suddivisioni nel file CSV o JSON Lines.
  • Se i tuoi dati non sono stati etichettati, puoi caricare esempi di testo non etichettati e utilizzare la console Vertex AI per applicarle.

Video

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

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

Per il monitoraggio di oggetti, in che modo un modello Vertex AI impara a identificare i pattern? Questo è ciò a cui 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 interessa rilevare. Queste scatole devono anche avere etichette come "persona" e "palla". In caso contrario, il modello non saprà cosa cercare. Disegnare riquadri e assegnare etichette ai video di esempio può richiedere tempo.

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

Addestramento del modello

Immagine

Valuta in che modo 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 di addestramento

set di addestramento La maggior parte dei dati dovrebbe essere nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati 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, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo aver incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, che sono variabili che specificano la struttura del modello. Se provi a 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

set di test Il set di test non è coinvolto in nessun modo nel processo di addestramento. Una volta completato l'addestramento del modello, il set di test viene utilizzato come sfida 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.

Suddivisione manuale

suddivisione manuale Puoi anche suddividere 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 hai la certezza di voler includere in una determinata parte del ciclo di vita dell'addestramento del modello.

 

 

Tabulari

Dopo aver importato il set di dati, devi addestrare un modello. Vertex AI genererà un modello di machine learning affidabile con i valori predefiniti per l'addestramento, ma ti consigliamo di regolare 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 tutte per assicurarti che siano appropriate per l'addestramento. Per la selezione delle caratteristiche, tieni presente quanto segue:

  • Non selezionare colonne delle caratteristiche che genereranno rumore, come le colonne degli identificatori assegnati casualmente con un valore univoco per ogni riga.
  • Assicurati di comprendere ogni colonna delle caratteristiche e i relativi valori.
  • Se crei 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 processi decisionali di parte o ingiusti 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. Il valore predefinito applicato da Vertex AI per la suddivisione dipende dal tipo di modello che stai addestrando. Se necessario, puoi anche specificare le suddivisioni (divisioni manuali). Per ulteriori informazioni, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML. set di test di convalida dell'addestramento

Set di addestramento

set di addestramento La maggior parte dei dati dovrebbe essere nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati 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, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo aver incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, che sono variabili che specificano la struttura del modello. Se provi a 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

set di test Il set di test non è coinvolto in nessun modo nel processo di addestramento. Al termine dell'addestramento del modello, Vertex AI utilizza il set di test come sfida 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

Valuta in che modo 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 di contenuto per l'addestramento, il 10% per la convalida e il 10% per i test.
set di test di convalida dell'addestramento

Set di addestramento

set di addestramento La maggior parte dei dati dovrebbe essere nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati 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, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Dopo aver incorporato i dati di addestramento durante ogni iterazione del processo di addestramento, il framework di apprendimento del modello utilizza le prestazioni del modello sul set di convalida per ottimizzare gli iperparametri del modello, che sono variabili che specificano la struttura del modello. Se provi a 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

set di test Il set di test non è coinvolto in nessun modo nel processo di addestramento. Al termine dell'addestramento del modello, utilizziamo il set di test come sfida 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.

 

Suddivisione manuale

suddivisione manuale Puoi anche suddividere 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 hai la certezza di voler includere in una determinata parte del ciclo di vita dell'addestramento del modello.

 

 

Video

Dopo aver preparato 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, potresti dover adeguare i parametri a seconda della qualità dei dati e dei risultati che ti interessano. Ad esempio:

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


Valuta, testa ed esegui il deployment del modello

Valutazione del modello

Immagine

Dopo l'addestramento del modello, riceverai un riepilogo delle prestazioni del modello. 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 il modello stesso. Se in qualsiasi momento il modello inizia ad agire in modo inaspettato mentre ne valuti le prestazioni prima e dopo il trasferimento in produzione, devi tornare e controllare i tuoi dati per vedere dove potrebbero essere migliorati.

Che tipo di analisi posso eseguire in Vertex AI?

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

  • L'output del modello
  • La soglia del punteggio
  • Veri positivi, veri negativi, falsi positivi e falsi negativi
  • Precisione e richiamo
  • Curve di precisione-richiamo
  • Precisione media

Come devo interpretare l'output del modello?

Vertex AI estrae esempi dai tuoi 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 livello di associazione di ogni etichetta all'esempio. Se il numero è elevato, il modello ha un'alta probabilità che l'etichetta debba essere applicata a quel 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 del punteggio si riferisce al livello di affidabilità che il modello deve avere per assegnare una categoria a un elemento di test. Il cursore della soglia di punteggio nella console Google Cloud è uno strumento visivo per testare l'effetto di soglie diverse per tutte le categorie e le singole categorie nel set di dati. Se la soglia del punteggio è bassa, il modello classificherà più immagini, ma rischia di classificare in modo errato alcune immagini durante il processo. Se la soglia del punteggio è alta, il modello classifica meno immagini, ma presenta un rischio inferiore di classificazione errata. Puoi modificare le soglie per categoria nella console Google Cloud per eseguire l'esperimento. Tuttavia, quando utilizzi il modello in produzione, devi applicare le soglie che ritieni ottimali.

punteggio soglia

Che cosa sono i veri positivi, veri negativi, falsi positivi, falsi negativi?

Dopo aver applicato la soglia del punteggio, le previsioni fatte dal modello rientreranno in una delle quattro categorie seguenti:
Le soglie che hai trovato ottimali per te.

veri positivi negativi

Possiamo utilizzare queste categorie per calcolare la precisione e il 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 la capacità del modello di acquisire informazioni e quanto sta tralasciando. La precisione ci indica, tra tutti gli esempi di test a cui è stata assegnata un'etichetta, quanti di loro dovevano essere effettivamente categorizzati con quell'etichetta. Il richiamo indica, tra tutti gli esempi di test a cui sarebbe stata assegnata l'etichetta, quanti sono stati effettivamente assegnati all'etichetta.

richiamo di precisione

Devo ottimizzare per la precisione o il richiamo?

A seconda del caso d'uso, potresti voler ottimizzare la precisione o il richiamo. Prendi in considerazione i due casi d'uso seguenti al momento di decidere l'approccio più adatto alle tue esigenze.

Caso d'uso: privacy nelle immagini

Supponiamo di voler creare un sistema che rilevi automaticamente le informazioni sensibili e le sfochi.
falso positivo innocuo
In questo caso, i falsi positivi sono cose che non devono essere sfocate e sfocate, il che può essere fastidioso, ma non dannoso.

falso negativo dannoso
In questo caso, i falsi negativi sono quelli che devono essere sfocati e che non possono essere sfocati, come una carta di credito, il che può portare a un furto d'identità.

In questo caso, dovresti eseguire l'ottimizzazione per il richiamo. Questa metrica misura, per tutte le previsioni fatte, quanto viene tralasciato. È probabile che un modello ad alto richiamo etichetti gli esempi marginalmente pertinenti. Ciò è utile nei casi in cui la categoria abbia pochi dati di addestramento.

Supponiamo di voler 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 non pertinente. Poiché il tuo prodotto è orgoglioso di restituire solo le immagini migliori, si tratterebbe di un grave fallimento.

falso negativo
Un falso negativo in questo caso non restituirebbe un'immagine pertinente per una ricerca per parole chiave. Poiché molti termini di ricerca contengono migliaia di foto che hanno una potenziale corrispondenza, non c'è problema.

In questo caso, dovresti ottimizzare la precisione. Questa metrica misura il loro livello di correttezza, per tutte le previsioni effettuate. Un modello ad alta precisione probabilmente etichetta solo gli esempi più pertinenti, il che è utile nei casi in cui la classe è comune nei dati di addestramento.

Come si utilizza la matrice di confusione?

matrice di confusione

Come si interpretano le curve di precisione-richiamo?

curve di precisione e richiamo
Lo strumento per la soglia di punteggio ti consente di scoprire in che modo la soglia di punteggio scelta influisce sulla precisione e sul richiamo. Trascinando il dispositivo di scorrimento sulla barra della soglia del punteggio, puoi vedere il punto in cui questa soglia ti posiziona sulla curva di compromesso precisione-richiamo, nonché in che modo questa soglia influisce su precisione e richiamo singolarmente (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 nell'insieme di etichette restituite). Questo può aiutarti a trovare un buon equilibrio tra falsi positivi e falsi negativi.

Dopo aver scelto una soglia che sembra essere accettabile per il modello nel suo complesso, fai clic sulle singole etichette e scopri dove rientra la soglia sulla curva di precisione-richiamo per etichetta. In alcuni casi, ciò potrebbe significare che ricevi molte previsioni errate per alcune etichette, il che potrebbe aiutarti a decidere di scegliere una soglia per classe personalizzata in base alle etichette. Ad esempio, supponiamo che tu guardi il set di dati delle tue case e noti che una soglia a 0,5 ha una precisione e un richiamo ragionevoli per ogni tipo di immagine tranne "Tudor", forse perché è una categoria molto generale. Per quella categoria, vedrai un sacco di 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 in tutte le soglie di punteggio. In Vertex AI, questa metrica è chiamata precisione media. Più questo punteggio è vicino a 1,0, migliori saranno le prestazioni del modello sul set di test. Un modello che genera una ipotesi casuale per ogni etichetta otterrebbe una precisione media di circa 0,5.

Tabulari

valuta 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 porzione 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

Considera un modello di machine learning che prevede se un cliente acquisterà una giacca l'anno successivo. 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 del punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione sì o no; ovvero il valore in base al quale il modello dice "sì, questo punteggio di confidenza è sufficientemente alto per concludere che questo cliente acquisterà un cappotto l'anno successivo.
valutare le soglie

Se la soglia del punteggio è bassa, il modello corre il rischio di una classificazione errata. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso.

Risultati della previsione

Dopo aver applicato la soglia del punteggio, le previsioni fatte dal modello rientreranno in una delle quattro categorie. Per comprendere queste categorie, immagina ancora un modello di classificazione binaria della giacca. In questo esempio, la classe positiva (quello che il modello cerca 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 ha 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 l'ha fatto.

risultati della previsione

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. Di tutte le previsioni di acquisto di un cliente, quale frazione corrisponde agli 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). L'intervallo varia da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
  • Accuratezza: la frazione delle previsioni di classificazione prodotte dal modello che sono risultate corrette.
  • Perdita logaritmica: 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

Dopo aver 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. Di seguito è riportata una panoramica di alcune metriche che Vertex AI può fornire.

Errore assoluto medio (MAE)

L'errore assoluto medio (MAE) indica la differenza media assoluta tra i valori target e quelli previsti. Misura la portata media degli errori (la differenza tra il valore target e quello previsto) in un set di previsioni. 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à superiore (0 rappresenta un predittore perfetto).

Errore quadratico medio (RMSE)

L'RMSE è la radice quadrata della differenza quadrata media 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. In modo simile al MAE, un valore minore indica un modello di qualità superiore (0 rappresenta un predittore perfetto).

Errore logaritmico quadratico medio (RMSLE)

L'RMSLE è l'RMSE in scala logaritmica. L'errore logaritmico quadratico medio (RMSLE) è più sensibile agli errori relativi rispetto a quelli assoluti e ha un'importanza maggiore per le prestazioni inferiori al previsto rispetto alle prestazioni superiori.

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 del quantile specificati. Il quantile osservato mostra quanto il modello è lontano o vicino al quantile target. Una differenza minore tra i due valori indica un modello di qualità migliore.

Perdita scalata del flipper (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 del flipper con quantili diversi per determinare l'accuratezza relativa del tuo modello tra i diversi quantili.

Testo

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

Cosa devo tenere a mente prima di valutare il mio modello?

raccogliere dati sufficienti Il debug di un modello riguarda più il debug dei dati che il modello stesso. Se il modello inizia ad agire in modo inaspettato mentre ne valuti le prestazioni prima e dopo il trasferimento in produzione, devi tornare sui tuoi dati e controllare dove potrebbero essere migliorati.

 

Che tipo di analisi posso eseguire in Vertex AI?

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

  • L'output del modello
  • La soglia del punteggio
  • Veri positivi, veri negativi, falsi positivi e falsi negativi
  • Precisione e richiamo
  • Curve di precisione-richiamo.
  • Precisione media

Come devo interpretare l'output del modello?

Vertex AI estrae esempi dai tuoi dati di test per presentare nuove sfide per il tuo modello. Per ogni esempio, il modello restituisce una serie di numeri che indicano il livello di associazione di ogni etichetta all'esempio. Se il numero è elevato, il modello ha un'alta probabilità che l'etichetta debba essere applicata a quel documento.
output del modello

Che cos'è la soglia di punteggio?

La soglia del punteggio consente a Vertex AI di convertire le probabilità in valori binari "on"/"off". La soglia del punteggio si riferisce al livello di affidabilità che il modello deve avere per assegnare una categoria a un elemento di test. Il cursore 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 del punteggio su 0,8 per tutte le categorie, verranno assegnati "Ottimo servizio" e "Suggerimento", ma non "Richiesta di informazioni". Se la soglia del punteggio è bassa, il modello classificherà più elementi di testo, ma rischia di classificare erroneamente altri elementi di testo nel processo. Se la soglia del punteggio è alta, il modello classificherà meno elementi di testo, ma avrà un rischio minore di classificazione errata degli elementi. Puoi modificare le soglie per categoria nella console Google Cloud per eseguire l'esperimento. Tuttavia, quando utilizzi il modello in produzione, devi applicare le soglie che hai trovato ottimali.
soglia del punteggio

Che cosa sono i veri positivi, veri negativi, falsi positivi, falsi negativi?

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

Puoi utilizzare queste categorie per calcolare la precisione e il 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 la capacità del modello di acquisire informazioni e quanto sta tralasciando. La precisione ci indica, tra tutti gli esempi di test a cui è stata assegnata un'etichetta, quanti di loro dovevano essere effettivamente categorizzati con quell'etichetta. Il richiamo indica, tra tutti gli esempi di test a cui sarebbe stata assegnata l'etichetta, quanti sono stati effettivamente assegnati all'etichetta.
richiamo di precisione

Devo ottimizzare per la precisione o il richiamo?

A seconda del caso d'uso, potresti voler ottimizzare la precisione o il richiamo. Prendi in considerazione i due casi d'uso seguenti al momento di decidere l'approccio più adatto alle tue esigenze.

Caso d'uso: documenti urgenti

Supponiamo che tu voglia creare un sistema che possa dare la priorità ai documenti più urgenti rispetto a quelli che non lo sono.
ottimizza come urgente

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

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

In questo caso, ti conviene ottimizzare per il richiamo. Questa metrica misura, per tutte le previsioni fatte, quanto viene tralasciato. È probabile che un modello a richiamo elevato etichetta gli esempi marginalmente pertinenti. Ciò è utile nei casi in cui la categoria abbia pochi dati di addestramento.

Caso d'uso: filtro antispam

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

Un falso negativo in questo caso potrebbe essere un'email di spam che non viene intercettata e che vedi nella tua posta in arrivo. Di solito, è solo un po' fastidioso.
non spam

Un falso positivo in questo caso potrebbe essere un'email che viene erroneamente segnalata come spam e che viene rimossa dalla tua posta in arrivo. Se l'email era importante, l'utente potrebbe risentirne.

In questo caso, dovresti ottimizzare per la precisione. Questa metrica misura il loro livello di correttezza, per tutte le previsioni effettuate. Un modello ad alta precisione probabilmente etichetti 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 ciascuna etichetta utilizzando una matrice di confusione. In un modello ideale, tutti i valori sulla diagonale saranno alti, mentre tutti gli altri saranno bassi. Ciò dimostra che le categorie desiderate vengono identificate correttamente. Se altri valori sono alti, ci sono un indizio sul modo in cui il modello classifica erroneamente gli elementi di test.
matrice di confusione

Come si interpretano le curve di precisione-richiamo?

curve di precisione e richiamo
Lo strumento per la soglia di punteggio ti consente di scoprire in che modo la soglia di punteggio scelta influisce sulla precisione e sul richiamo. Trascinando il dispositivo di scorrimento sulla barra della soglia del punteggio, puoi vedere il punto in cui questa soglia ti posiziona sulla curva di compromesso precisione-richiamo, nonché in che modo questa soglia influisce su precisione e richiamo singolarmente (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 nell'insieme di etichette restituite). Questo può aiutarti a trovare un buon equilibrio tra falsi positivi e falsi negativi.

Dopo aver scelto una soglia che sembra essere accettabile per il tuo modello nel suo complesso, puoi fare clic sulle singole etichette e vedere dove ricade la soglia sulla curva di precisione-richiamo per etichetta. In alcuni casi, ciò potrebbe significare che ricevi molte previsioni errate per alcune etichette, il che potrebbe aiutarti a decidere di scegliere una soglia per classe personalizzata in base alle 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 quella categoria, vedrai un sacco di 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 in tutte le soglie di punteggio. In Vertex AI, questa metrica è chiamata precisione media. Più questo punteggio è vicino a 1,0, migliori saranno le prestazioni del modello sul set di test. Un modello che genera una ipotesi casuale per ogni etichetta otterrebbe 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 porzione 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 nuovi dati.

Soglia punteggio

In che modo un modello di machine learning a sapere quando una porta nel calcio è davvero un goal? A ogni previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica del livello di certezza del modello che un determinato segmento video contenga una classe. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione sì o no, ovvero il valore in base al quale il modello risponde "sì, questo numero di confidenza è sufficientemente alto per concludere che questo segmento video contiene un obiettivo". punteggio soglia

Se la soglia del punteggio è bassa, il modello potrebbe esporre in modo errato 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 la diagnosi di cancro, in cui le conseguenze di un'etichettatura errata sono maggiori di quelle di un video sportivo. Nella diagnosi dei tumori, è appropriata una soglia di punteggio più alta.

Risultati della previsione

Dopo aver applicato la soglia del punteggio, le previsioni fatte 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 o meno un goal di calcio. In questo esempio, un obiettivo è la classe positiva (ciò 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 un obiettivo era nel segmento, ma non era presente.
  • Vero negativo: il modello prevede correttamente la classe negativa. Il modello ha previsto correttamente l'assenza di un obiettivo nel segmento.
  • Falso negativo:il modello prevede erroneamente una classe negativa. Il modello ha previsto che non c'era un obiettivo nel segmento, ma ne esisteva uno.
risultati della previsione

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. Di tutte le previsioni etichettate come "obiettivo", quale frazione 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 si potrebbero identificare, quale frazione è stata prevista?

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 ramificazioni di risultati falsi possono includere:

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

In questo caso d'uso, è fondamentale ottimizzare il richiamo per garantire che il modello trovi tutti i casi pertinenti. Un modello ottimizzato per il richiamo ha più probabilità di etichettare gli esempi marginalmente pertinenti, ma è anche più probabile che etichetta quelli errati (offrindo più sfocature del necessario).

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 tuo sistema tenta di fornire solo video pertinenti, il 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 è così grave come la restituzione di un video non pertinente.
    falso negativo

In questo esempio, dovrai ottimizzare la precisione per garantire che il modello fornisca risultati corretti e altamente pertinenti. Un modello ad alta precisione probabilmente etichetti solo gli esempi più pertinenti, ma potrebbe escluderne alcuni. Scopri di più sulle metriche di valutazione del modello.


Testa il modello

Immagine

Vertex AI utilizza automaticamente il 10% dei tuoi dati (o, se hai scelto tu la suddivisione dei dati, la percentuale che hai scelto di utilizzare) per testare il modello. La pagina "Valuta" indica i risultati ottenuti dal modello sui dati di test. Ma se vuoi controllare con sicurezza il tuo modello, hai a disposizione diversi modi per farlo. Il più semplice è caricare alcune immagini nella pagina "Deployment e test" e osservare le etichette scelte dal modello per gli esempi. Spero che 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" 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, 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 dati, la percentuale che hai scelto di utilizzare) per testare il modello; la pagina Valuta indica il rendimento del modello sui dati di test. Ma se vuoi controllare il modello, hai a disposizione diversi modi per farlo. Dopo aver eseguito il deployment del modello, puoi inserire esempi di testo nel campo della pagina Deployment e test e osservare le etichette che il modello sceglie per gli esempi. Spero che soddisfi le 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. Una previsione batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di previsione prima di restituire i risultati.

Video

Il video Vertex AI utilizza automaticamente il 20% dei dati o, se hai scelto tu la suddivisione dei dati, in base a quale percentuale hai scelto di utilizzare per testare il modello. La scheda Valuta della console indica i risultati del modello sui dati di test. Ma se vuoi controllare il 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 osservare le etichette previste dal modello per i video. Spero che soddisfi le tue aspettative.

È possibile regolare la soglia per la visualizzazione delle previsioni e anche osservare le previsioni su tre scale temporali: intervalli di 1 secondo, inquadrature con la videocamera dopo il rilevamento automatico del limite di inquadratura e interi segmenti video.

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 previsione una tantum. In base al caso d'uso, puoi usare il modello in vari modi.

Previsione batch

La previsione batch è utile per fare molte richieste di previsione contemporaneamente. La previsione batch è asincrona, il che significa che il modello attende di elaborare tutte le richieste di previsione prima di restituire un file JSON Lines con i valori di previsione.

Previsione online

Usa un'API REST per distribuire il modello in modo da renderlo disponibile per le richieste di previsione. La previsione online è sincrona (in tempo reale), il che significa che restituirà rapidamente i risultati, ma accetta una sola richiesta di previsione per ogni chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e alcune parti del tuo sistema dipendono da risposte rapide restituite dalle previsioni.

Tabulari

Se ritieni che le prestazioni del modello vadano bene, puoi iniziare a utilizzarlo. Potresti utilizzarlo in produzione o per effettuare una richiesta di previsione una tantum. A seconda del caso d'uso, puoi usare il modello in diversi modi.

Previsioni in batch

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

Previsione online

Usa un'API REST per distribuire il modello in modo da renderlo disponibile per le richieste di previsione. La previsione online è sincrona (in tempo reale), il che significa che restituirà rapidamente i risultati, ma accetta una sola richiesta di previsione per ogni chiamata API. La previsione online è utile se il modello fa parte di un'applicazione e alcune parti del tuo sistema dipendono da risposte rapide restituite dalle previsioni.

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 le previsioni di output in un altro file CSV. La previsione batch è asincrona, il che significa che il modello elabora tutte le richieste di previsione prima di inviare 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.