Guida per AutoML Vision per principianti

Introduzione

Immagina di lavorare con un bacheca per la conservazione dell'architettura che cerca di identificare i quartieri che hanno uno stile architettonico coerente nella tua città. Hai a disposizione centinaia di migliaia di istantanee da esaminare, ma è noioso provare a classificare tutte queste immagini manualmente. Uno stagista ne ha etichettate alcune centinaia alcuni mesi fa e da allora nessuno le ha toccate. Sarebbe molto utile se potessi semplicemente insegnare al computer a farlo per te.

Esempi di immagini di quattro tipi di stili architettonici

Perché il machine learning (ML) è lo strumento giusto per questo problema?

immagine della rappresentazione di programmazione La programmazione classica richiede al programmatore di specificare istruzioni dettagliate per il computer da seguire. Anche se questo approccio funziona per risolvere un'ampia varietà di problemi, non è compito dell'attività di categorizzare le case nel modo che preferisci. C'è così tanta variazione nella composizione, nei colori, nelle angolazioni e nei dettagli stilistici; non puoi immaginare un insieme di regole passo passo che possano indicare a una macchina come decidere se una fotografia di una residenza per una famiglia è Artigianato o Moderna. È difficile immaginare dove iniziare. Fortunatamente, i sistemi di machine learning sono ben disposti per risolvere questo problema.

L'API Vision o AutoML sono lo strumento giusto per me?

L'API Vision classifica le immagini in migliaia di categorie predefinite, rileva singoli oggetti e volti all'interno delle immagini e trova e legge le parole stampate contenute nelle immagini. Se vuoi rilevare singoli oggetti, volti e testo nel set di dati o se la tua richiesta di classificazione delle immagini è piuttosto generica, prova l'API Vision per vedere se funziona. Tuttavia, se il tuo caso d'uso richiede l'uso di etichette personalizzate per classificare le immagini, vale la pena sperimentare con una categoria di classificazione personalizzata per vedere se soddisfa le tue esigenze.

immagini delle etichette dell'API Cloud Vision generiche rispetto a etichette personalizzate di AutoML

Prova l'API Vision Inizia a utilizzare AutoML

Cosa comporta il machine learning in AutoML?

Rappresentazione grafica di una semplice rete neurale Il machine learning prevede l'utilizzo dei dati per addestrare gli algoritmi in modo da raggiungere il risultato auspicato. Le specifiche dell'algoritmo e i metodi di addestramento cambiano in base al caso d'uso. Esistono diverse sottocategorie di machine learning, che sono tutte che risolvono problemi diversi e funzionano con vincoli diversi. AutoML Vision consente di eseguire l'apprendimento supervisionato, che prevede l'addestramento di un computer per il riconoscimento di pattern da dati etichettati. Con l'apprendimento supervisionato, possiamo addestrare un modello a riconoscere i modelli e i contenuti che ci stanno a cuore nelle immagini.

Preparazione dei dati

Per addestrare un modello personalizzato con AutoML Vision, devi fornire esempi etichettati dei tipi di immagini (input) che vuoi classificare e delle categorie o delle etichette (la risposta) che i sistemi di machine learning devono prevedere.

Valuta il tuo caso d'uso

grafica con punto di partenza e di arrivo

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

  • Qual è il risultato che vuoi ottenere?
  • Quali tipi di categorie dovresti riconoscere per ottenere questo risultato?
  • Le persone possono riconoscere queste categorie? AutoML Vision è in grado di gestire una quantità di categorie maggiore di quella che le persone possono ricordare e assegnare in qualsiasi momento; se una persona non è in grado di riconoscere una categoria specifica, anche AutoML Vision avrà difficoltà.
  • Quali tipi di esempi potrebbero rispecchiare meglio il tipo e l'intervallo di dati classificati dal tuo sistema?

Un principio fondamentale alla base dei prodotti ML di Google è il machine learning centrato sull'uomo, un approccio che mette in primo piano le pratiche per un uso responsabile dell'AI, tra cui l'equità. L'obiettivo dell'equità nel machine learning è comprendere e prevenire un trattamento ingiusto o pregiudiziale delle persone in relazione a gruppo etnico, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione, quando e dove si manifestano in sistemi algoritmici o favoriti da processi decisionali. Per saperne di più, consulta la guida e trova le note "fair-aware" nelle linee guida riportate di seguito. Durante la lettura delle linee guida per la creazione del set di dati, ti invitiamo a prendere in considerazione l'equità nel machine learning, se pertinente.

Origine dati

grafica punti dati Dopo aver stabilito quali dati ti serviranno, devi trovare un modo per recuperarli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti notare che stai già raccogliendo i dati necessari per l'addestramento di un modello. Se non disponi dei dati necessari, puoi recuperarli manualmente o esternali a un fornitore di terze parti.

Includi un numero sufficiente di esempi etichettati in ogni categoria

grafica addestramento modelli Il minimo indispensabile richiesto dall'addestramento di AutoML Vision è di 100 esempi di immagini per categoria/etichetta. La probabilità di riconoscere correttamente un'etichetta aumenta il numero di esempi di alta qualità per ciascuna. In generale, più dati etichettati puoi portare al processo di addestramento, migliore sarà il modello. Scegli come target almeno 1000 esempi per etichetta.

Distribuisci gli esempi in modo uniforme tra le categorie

È importante acquisire un numero di esempi di formazione simile per ogni categoria. Anche se hai un'abbondanza di dati per una sola etichetta, è preferibile avere una distribuzione uguale per ogni etichetta. Per scoprire il motivo, immagina che l'80% delle immagini che utilizzi per creare il tuo modello siano foto di case monofamiliari in uno stile moderno. Con una distribuzione così equilibrata delle etichette, è molto probabile che il tuo modello apprenderà che è sempre sicuro dirti che una foto appartiene a una moderna casa monofamiliare, anziché per forza di arti per cercare di prevedere un'etichetta meno comune. È come scrivere un test a scelta multipla in cui quasi tutte le risposte corrette sono: "a breve" l'esperto esperto di quiz capirà che può rispondere "C" ogni volta senza nemmeno guardare la domanda.

immagine di addestramento per 4 tipi di architetture

Siamo consapevoli che potrebbe non essere sempre possibile ottenere un numero approssimativamente uguale di esempi per ogni etichetta. Per alcune categorie, potrebbe essere più difficile trovare esempi di alta qualità e imparziali. In questi casi, puoi seguire questa regola generale: l'etichetta con il numero più basso di esempi dovrebbe avere almeno il 10% degli esempi come etichetta con il numero più alto di esempi. Pertanto, se l'etichetta più grande contiene 10.000 esempi, l'etichetta più piccola dovrebbe contenere almeno 1000 esempi.

Acquisisci la variante nello spazio del problema

Per motivi simili, cerca di assicurarti che i dati coprano la varietà e la diversità del tuo spazio problematico. Quanto più ampia è la selezione del processo di addestramento del modello, tanto più generica sarà più generica ai nuovi esempi. Ad esempio, se stai cercando di classificare le foto dell'elettronica di consumo in categorie, più è ampia la varietà di dispositivi elettronici di consumo a cui il modello è esposto durante l'addestramento, maggiori saranno le probabilità di riuscire a distinguere tra un nuovo modello di tablet, telefono o laptop, anche se non ha mai visto quel modello specifico prima d'ora.

Grafico di vari tipi di elettronica di consumo

Associa i dati all'output previsto per il tuo modello

immagine di addestramento corrispondente all'immagine di output prevista

Trova immagini visivamente simili a quelle su cui prevedi di fare previsioni. Se stai cercando di classificare le immagini di case che sono state tutte scattate con la neve invernale, probabilmente non riuscirai a ottenere ottimi risultati da un modello addestrato solo su immagini di case scattate con il sole (anche se le hai taggate con le classi che ti interessano), poiché l'illuminazione e il panorama potrebbero essere abbastanza diversi da influenzare le prestazioni. Idealmente, gli esempi di addestramento sono dati reali ricavati dallo stesso set di dati che hai intenzione di utilizzare per classificare il modello.

Valuta come AutoML Vision 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 Preparazione dei dati), AutoML Vision utilizza automaticamente l'80% delle immagini per l'addestramento, il 10% per la convalida e il 10% per i test.

Rappresentazione grafica dei segmenti di addestramento, test e convalida

Set di addestramento

grafica binocolo La maggior parte dei dati deve rientrare nel set di addestramento. Questi sono i dati "vedi" durante l'addestramento: sono utilizzati per apprendere i parametri del modello, ovvero i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

grafica progetto Il set di convalida, a volte chiamato anche "set", deve essere utilizzato anche durante il processo di addestramento. Dopo che il framework di apprendimento dei modelli incorpora i dati di addestramento durante ogni iterazione del processo di addestramento, utilizza le prestazioni del modello nella convalida impostata per ottimizzare gli iperparametri di tale modello, che sono variabili che specificano la struttura del modello. Se hai provato a utilizzare il set di addestramento per ottimizzare gli iperparametri, è molto probabile che il modello finisca per concentrarsi sui dati di addestramento e hai difficoltà a generalizzare con esempi che non corrispondono esattamente. L'utilizzo di un set di dati innovativo per perfezionare la struttura del modello significa che il tuo modello sarà più generico.

Set di test

immagine del becher Il set di test non è affatto coinvolto nel processo di addestramento. Una volta completato l'addestramento del modello, utilizziamo il set di test come una sfida completamente nuova per il modello. Le prestazioni del modello sul set di test hanno lo scopo di darti un'idea abbastanza chiara del rendimento del tuo modello su dati reali.

Suddivisione manuale

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

 

prepara i dati per l'importazione

Dopo aver deciso se una suddivisione manuale o automatica dei dati è adatta alle tue esigenze, esistono tre modi per aggiungere i dati in AutoML Vision:

  • Puoi importare i dati con le immagini ordinate e archiviate in cartelle corrispondenti alle tue etichette.
  • Puoi importare i dati da Google Cloud Storage in formato CSV con le etichette incorporate. Per saperne di più, consulta la nostra documentazione.
  • Se i tuoi dati non sono ancora stati etichettati, puoi anche caricare esempi di immagini senza etichetta e utilizzare l'interfaccia utente di AutoML Vision per applicare etichette a ciascuno di essi.

Valuta

Una volta addestrato il modello, riceverai un riepilogo delle sue prestazioni. Fai clic su "valuta" o "visualizza valutazione completa" per visualizzare un'analisi dettagliata.

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

grafica con lente d'ingrandimento Il debug di un modello è più importante del debug dei dati che del modello stesso. Se in qualsiasi momento il tuo modello inizia ad agire in modo imprevisto mentre ne valuti le prestazioni prima e dopo il passaggio alla produzione, dovresti tornare e controllare i tuoi dati per capire dove potrebbero essere migliorati.

Che tipo di analisi posso eseguire in AutoML Vision?

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

  1. L'output del modello
  2. La soglia di punteggio
  3. Veri positivi, falsi negativi, falsi positivi e falsi negativi
  4. Precisione e richiamo
  5. Curve di precisione/richiamo.
  6. Precisione media

Come devo interpretare l'output del modello?

AutoML Vision estrae esempi dai dati di test per presentare sfide completamente nuove per il modello. Per ogni esempio, il modello restituisce una serie di numeri che indicano in che misura associa ogni etichetta all'esempio. Se il numero è elevato, il modello ha un'elevata probabilità che l'etichetta deve essere applicata al documento.

Immagine con un esempio di valori di previsione

Qual è la soglia del 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 del punteggio nell'interfaccia utente è uno strumento visivo per testare l'impatto delle diverse soglie per tutte le categorie e singole categorie nel tuo set di dati. Se la soglia di punteggio è bassa, il modello classificherà più immagini, ma correrà il rischio di classificare in modo errato alcune immagini durante il processo. Se la tua soglia di punteggio è alta, il modello classificherà meno immagini, ma avrà un rischio inferiore di errori di categorizzazione. Puoi modificare le soglie per categoria nella UI per sperimentare. Tuttavia, quando utilizzi il modello in produzione, dovrai applicare le soglie che hai trovato ottimali.

immagine della soglia alta e di alcune immagini classificate, soglia bassa e molte immagini classificate

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

Dopo aver applicato la soglia di punteggio, le previsioni eseguite dal tuo modello rientrano in una delle quattro categorie seguenti.

immagine con quattro descrizioni categorie di confidenza

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

Che cosa sono la precisione e il richiamo?

La precisione e il richiamo ci aiutano a capire l'efficacia con cui il nostro modello acquisisce le informazioni e quanto tralascia. Da tutti gli esempi di test a cui è stata assegnata un'etichetta, la precisione mostra quanti potrebbero essere classificati con tale etichetta. Il richiamo ci dice che, tra tutti gli esempi di test a cui avrebbe dovuto essere assegnata l'etichetta, quanti sono stati effettivamente assegnati.

Immagine ad alta precisione e richiamo basso

immagine a richiamo elevato, immagine a bassa precisione

Devo ottimizzare la precisione o il richiamo?

A seconda del caso d'uso, puoi decidere di ottimizzare per la precisione o il richiamo. Esaminiamo come potresti affrontare questa decisione con i seguenti due casi d'uso.

Caso d'uso: privacy nelle immagini

Supponiamo che tu voglia creare un sistema che rilevi automaticamente le informazioni sensibili e le sfochi.

grafica data sfocata

I falsi positivi in questo caso sono, ad esempio, elementi che non devono essere sfocati o sfocati, ma possono essere fastidiosi ma non dannosi.

immagine del numero di carta di credito

In questo caso, i falsi negativi potrebbero essere sfocati che non vengono sfocati, ad esempio una carta di credito, e possono portare a un furto di identità.

In questo caso, ti consigliamo di ottimizzare per il ricordo. Questa metrica misura, per tutte le previsioni effettuate, quanto viene omesso. È probabile che un modello ad alto richiamo contrassegni gli esempi marginalmente pertinenti, utile per i casi in cui la tua categoria abbia pochi dati di addestramento.

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

Immagine della chitarra abbinata alla ricerca della chitarra

Un falso positivo in questo caso restituirebbe un'immagine non pertinente. Poiché il tuo prodotto è orgoglioso di restituire solo le immagini migliori, si tratta di un grave errore.

immagine non pertinente associata alla ricerca di chitarra

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

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

Come si usa la matrice di confusione?

Possiamo confrontare il rendimento del modello su ogni etichetta utilizzando una matrice di confusione. In un modello ideale, tutti i valori in diagonale saranno alti, mentre tutti gli altri valori saranno bassi. Mostra che le categorie desiderate sono state identificate correttamente. Se altri valori sono elevati, questo ci dà un'idea di come il modello stia classificando in modo errato le immagini di test.

immagine che spiega le matrici di confusione

Come devo interpretare le curve di precisione-richiamo?

immagine di diverse curve di precisione-richiamo

Lo strumento Soglia di punteggio ti consente di esplorare in che modo la soglia del punteggio scelta influisce sulla precisione e sul richiamo. Quando trascini il dispositivo di scorrimento sulla barra della soglia del punteggio, puoi vedere dove si trova la soglia nella curva di compromesso tra precisione e richiamo, nonché sul modo in cui la soglia influisce singolarmente e sul richiamo (per i modelli multi-classe, in questi grafici, precisione e richiamo significano 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). In questo modo, puoi trovare un buon equilibrio tra falsi positivi e falsi negativi.

Dopo aver scelto una soglia che sembra accettabile per il tuo modello in generale, puoi fare clic sulle singole etichette per visualizzare dove si trova sulla rispettiva curva di precisione-richiamo per etichetta. In alcuni casi, ciò potrebbe comportare un numero elevato di previsioni errate per alcune etichette, il che potrebbe aiutarti a decidere una soglia per classe personalizzata per tali 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 questa categoria vengono visualizzati tonnellate di falsi positivi. In questo caso, puoi 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 il rendimento del modello in tutte le soglie di punteggio. In AutoML Vision, questa metrica è denominata Precisione media. Più vicino a questo punteggio è 1,0, migliori saranno le prestazioni del modello sul set di test; un modello casuale per ogni etichetta ottiene una precisione media pari a circa 0,5.

Test del modello

immagine lampadina AutoML Vision utilizza automaticamente il 10% dei dati (o, se hai scelto di suddividere i dati, qualsiasi percentuale tu abbia scelto di utilizzare) per testare il modello, mentre la pagina "Valuta" valuta le prestazioni del modello su tali dati. Tuttavia, se hai la certezza di voler controllare il modello, puoi farlo in vari modi. Il più semplice è caricare alcune immagini nella pagina "Previsione" e osservare le etichette scelte dal modello per i tuoi esempi. Spero che questo corrisponda alle tue aspettative. Prova alcuni esempi di ogni tipo di immagine che vuoi ricevere.

Se vuoi utilizzare il tuo modello nei tuoi test automatici, la pagina "Previsione" mostra anche come effettuare chiamate al modello in modo programmatico.