La qualità dei dati di addestramento influisce notevolmente sull'efficacia del modello che crei e, di conseguenza, la qualità delle previsioni restituite da quel modello. La chiave per ottenere dati di addestramento di alta qualità è garantire rappresentare con precisione il dominio su cui vuoi fare previsioni informazioni e che gli elementi di addestramento siano etichettati in modo accurato.
Esistono tre modi per assegnare etichette agli elementi dei dati di addestramento:
- Aggiungi gli elementi di dati al set di dati con le relative etichette già assegnati, ad esempio utilizzando un set di dati disponibile in commercio
- Assegnare etichette agli elementi di dati utilizzando la console Google Cloud
- Richiedere agli etichettatori umani di aggiungere etichette agli elementi di dati
Le attività di etichettatura dei dati di Vertex AI consentono di lavorare con etichettatori umani per generare molto precise per una raccolta di dati che puoi utilizzare per addestrare modelli di machine learning.
Per informazioni sui prezzi dell'etichettatura dei dati, consulta Informazioni sui prezzi etichettatura.
Per richiedere l'etichettatura dei dati da parte di etichettatori umani, puoi creare un job di etichettatura dei dati che fornisce agli etichettatori umani:
- Il set di dati contenente gli elementi di dati rappresentativi da etichettare
- Un elenco di tutte le possibili etichette da applicare agli elementi di dati
- Un file PDF contenente le istruzioni che guidano gli etichettatori umani attraverso le attività di etichettatura
Utilizzando queste risorse, gli etichettatori umani annotano gli elementi nel set di dati in base alle tue istruzioni. Al termine, puoi utilizzare il set di annotazioni per addestrare un modello Vertex AI o esportare gli elementi di dati etichettati da utilizzare in un altro ambiente di machine learning.
Crea un set di dati
Devi fornire agli etichettatori umani gli elementi di dati in base ai quali etichettare creazione di un set di dati e importando al suo interno elementi di dati. Gli elementi di dati non devono essere etichettati. Il tipo di dati (immagine, video o testo) e obiettivo (ad esempio classificazione o monitoraggio di oggetti) determina il tipo di annotazioni a cui applicano gli etichettatori umani gli elementi di dati.
Fornisci etichette
Quando crei un'attività di etichettatura dei dati, elenchi l'insieme di etichette che vuoi che l'utente umano etichettatori da utilizzare per etichettare le immagini. Ad esempio, se vuoi classificare le immagini a seconda che contengano un cane o un gatto, crei un set di etichette con due etichette: "Cane" e "Gatto". Come indicato nell'elenco che segue, potresti volere anche etichette per "Nessuno dei due" sia "Entrambi".
Di seguito sono riportate alcune linee guida per la creazione di un set di etichette di alta qualità.
- Rendi il nome visualizzato di ogni etichetta una parola significativa, ad esempio "cane", "gatto" "edificio". Non utilizzare nomi astratti come "label1" e "label2" o sconosciuto o altri acronimi. Più sono significativi i nomi delle etichette, più facile è per gli etichettatori umani di applicarle in modo accurato e coerente.
- Assicurati che le etichette siano facilmente distinguibili l'una dall'altra. Per la classificazione in cui a ogni elemento dati viene applicata una singola etichetta, cerca di non usare le etichette i cui significati si sovrappongono. Ad esempio, non avere etichette per "Sport" e "Baseball".
- Per le attività di classificazione, di solito è una buona idea includere un'etichetta denominata "altro" o "nessuno", da utilizzare per i dati che non corrispondono alle altre etichette. Se solo le etichette disponibili sono "cane" e "gatto", ad esempio, gli etichettatori devono etichetta ogni immagine con una di queste etichette. Il modello personalizzato è in genere più affidabile se includi immagini diverse da cani o gatti nei dati di addestramento.
- Tieni presente che gli etichettatori sono più efficienti e precisi quando la maggior parte delle 20 etichette definite nel set. Puoi includere fino a 100 etichette.
Crea istruzioni
Le istruzioni forniscono agli etichettatori umani informazioni su come applicare le etichette i tuoi dati. Le istruzioni devono contenere dati etichettati di esempio e altri dati espliciti indicazioni stradali.
Le istruzioni sono file PDF. Le istruzioni in PDF possono fornire direzioni sofisticate, come descrizioni o esempi positivi e negativi per ciascun caso. Il PDF è anche un formato conveniente per fornire istruzioni per attività complicate come riquadri di delimitazione delle immagini o monitoraggio di oggetti video.
Scrivi le istruzioni, crea un file PDF e salva il file PDF nel tuo nel bucket Cloud Storage.
Fornisci istruzioni efficaci
Le istruzioni corrette sono il fattore più importante per ottenere una buona etichettatura umana che consentono di analizzare i dati e visualizzare i risultati. Poiché conosci meglio il tuo caso d'uso, devi far sì che gli etichettatori umani sapere cosa vuoi che facciano. Di seguito sono riportate alcune linee guida per la creazione di istruzioni:
Gli etichettatori umani non conoscono il tuo dominio. La Le distinzioni che chiedi agli etichettatori devono essere facili da comprendere per qualcuno che non conoscono il tuo caso d'uso.
Evita di rendere le istruzioni troppo lunghe. È meglio che un etichettatore possa esaminare a comprendere le istruzioni entro 20 minuti.
Le istruzioni devono descrivere il concetto dell'attività e fornire dettagli sul come etichettare i dati. Ad esempio, per un'attività riquadro di delimitazione, descrivi come che gli etichettatori disegneranno il riquadro di delimitazione. Deve essere una scatola rigida o ? Se ci sono più istanze dell'oggetto, devono disegnarne una o più riquadri di riquadro di delimitazione?
Se alle tue istruzioni è impostata un'etichetta corrispondente, deve coprire tutte le etichette del set. Il nome dell'etichetta nelle istruzioni deve corrisponde al nome nel set di etichette.
Spesso sono necessarie diverse iterazioni per creare istruzioni efficaci. I nostri suggerimenti in modo che gli etichettatori umani lavorino prima su un piccolo set di dati, poi in base all'efficacia con cui gli etichettatori che il tuo lavoro corrisponda alle tue aspettative.
Un file di istruzioni efficace include le seguenti sezioni:
- Elenco e descrizione etichette: un elenco di tutte le etichette che desideri utilizzare e il significato di ogni etichetta.
- Esempi: per ogni etichetta, fornisci almeno tre esempi positivi e uno negativo esempio. Questi esempi dovrebbero riguardare diversi casi.
- Proteggi le custodie perimetrali. Per ridurre la necessità che l'etichettatore debba interpretare l'etichetta,
per chiarire il maggior numero possibile di casi limite. Ad esempio, se devi disegnare un
riquadro di delimitazione per una persona, è meglio chiarire:
- Se ci sono più persone, ti serve una casella per ognuna?
- Se una persona è nascosta, ti serve una scatola?
- Se nell'immagine è visibile anche solo una parte della persona, ti serve una casella?
- Se una persona è ritratta in un quadro o in un quadro, ti serve una scatola?
- Descrivi come aggiungere annotazioni. Ad esempio:
- Come riquadro di delimitazione, hai bisogno di un riquadro stretto o sfuso?
- Per l'estrazione delle entità di testo, da dove dovrebbe iniziare l'entità interessata e fine?
- Chiarimento sulle etichette. Se due etichette sono simili o facili da confondere, assegna esempi per chiarire la differenza.
I seguenti esempi mostrano cosa potrebbero essere inclusi nelle istruzioni per i PDF. Gli etichettatori rivedi le istruzioni prima di iniziare l'attività.
Crea un'attività di etichettatura dei dati
UI web
Puoi richiedere l'etichettatura dei dati dalla console Google Cloud.
Nella console Google Cloud, vai alla pagina Attività di etichettatura.
Fai clic su Crea.
Si apre il riquadro Nuova attività di etichettatura.
Inserisci un nome per l'attività di etichettatura.
Seleziona il set di dati di cui vuoi etichettare gli elementi.
Se hai aperto il riquadro Nuova attività di etichettatura dalla schermata dei dettagli del set di dati, non puoi selezionare un set di dati diverso.
Verifica che l'obiettivo sia corretto.
La casella Obiettivo mostra l'obiettivo per il set di dati selezionato, determinato dal suo set di annotazioni predefinito. Per cambiare l'obiettivo, scegli uno un set di annotazioni diverso.
Scegli il set di annotazioni da utilizzare per i dati etichettati.
Le etichette applicate dagli etichettatori umani vengono salvate nell'annotazione selezionata per iniziare. Puoi scegliere un set di annotazioni esistente o crearne uno nuovo uno. Se crei un nuovo uno, devi specificarne un nome.
Specifica se utilizzare l'apprendimento attivo.
L'apprendimento attivo accelera il processo di etichettatura grazie a un'etichetta umana parte del tuo set di dati, per poi applicare il machine learning per etichettare automaticamente il resto.
Fai clic su Continua.
Inserisci le etichette che gli etichettatori umani applicare. Per informazioni su sulla creazione di un insieme di etichette di alta qualità, consulta la sezione Progettazione di un set di etichette.
Fai clic su Continua.
Inserisci il percorso delle istruzioni per gli etichettatori umani. Istruzioni Deve essere un file PDF archiviato in un bucket Cloud Storage. Per informazioni su creare istruzioni di alta qualità, consulta la sezione Progettazione di istruzioni per etichettatori.
Fai clic su Continua.
Scegli se utilizzare Etichettatori gestiti da Google o Fornisci i tuoi etichettatori.
Se hai scelto di utilizzare etichettatori gestiti da Google, fai clic sulla casella di controllo per confermare di aver letto la guida ai prezzi per comprendere i costi dell'etichettatura.
Se fornisci i tuoi etichettatori, devi creare gruppi di etichettatori e gestire le proprie attività usando la console DataCompute. Altrimenti, scegli il gruppo di etichettatori da utilizzare per questa attività di etichettatura.
Scegli un gruppo di etichettatori esistente dall'elenco a discesa o scegli Nuovo gruppo di labeler e inserisci un nome per il gruppo e un elenco di indirizzi email separati da virgole per gli amministratori del gruppo nelle caselle di testo sotto l'elenco a discesa. Clic la casella di controllo per concedere ai gestori specificati l'accesso alla visualizzazione dei tuoi dati informazioni sull'etichettatura.
Specifica quanti etichettatori vuoi esaminare ogni elemento.
Per impostazione predefinita, un etichettatore umano annota ogni elemento dati. Tuttavia, puoi richiedere più etichettatori possono annotare e rivedere ogni elemento. Seleziona il numero di etichettatori dalla casella Specialisti per elemento dati.
Fai clic su Avvia attività.
Se Avvia attività non è disponibile, controlla le pagine all'interno della sezione Nuova etichettatura del riquadro delle attività per verificare di aver inserito tutte le informazioni richieste.
Puoi rivedere lo stato di avanzamento dell'attività di etichettatura dei dati nella console Google Cloud dalla pagina Attività di etichettatura.
Vai alle attività di etichettatura
La pagina mostra lo stato di ogni attività di etichettatura richiesta. Quando La colonna Avanzamento mostra 100%, il set di dati corrispondente è etichettato e pronto per addestrare un modello.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- DISPLAY_NAME: nome del job di etichettatura dati
- DATASET_ID: ID del set di dati contenente gli elementi da etichettare
- LABELERS: il numero di etichettatori umani che vuoi far esaminare ogni elemento dati. i valori validi sono 1, 3 e 5.
- INSTRUCTIONS: il percorso del file PDF contenente le istruzioni per gli etichettatori umani; il file deve trovarsi in un bucket Cloud Storage accessibile dal progetto
- INPUT_SCHEMA_URI: percorso del file di schema per il tipo di elemento di dati.
- Etichetta singola per la classificazione delle immagini:
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
- Classificazione delle immagini con più etichette:
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml
- Rilevamento di oggetti immagine:
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_bounding_box_io_format_1.0.0.yaml
- Etichetta singola per classificazione del testo:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml
- Più etichette per la classificazione del testo:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_multi_label_io_format_1.0.0.yaml
- Estrazione delle entità di testo:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml
- Analisi del sentiment del testo:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_sentiment_io_format_1.0.0.yaml
- Classificazione video:
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_classification_io_format_1.0.0.yaml
- Rilevamento di oggetti video:
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_object_tracking_io_format_1.0.0.yaml
- Etichetta singola per la classificazione delle immagini:
- LABEL_LIST: un elenco di stringhe separate da virgole che elencano le etichette disponibili da applicare a un elemento di dati
- ANNOTATION_SET: il nome del set di annotazioni per i dati etichettati
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/dataLabelingJobs
Corpo JSON della richiesta:
{ "displayName":"DISPLAY_NAME", "datasets":"DATASET_ID", "labelerCount":LABELERS, "instructionUri":"INSTRUCTIONS", "inputsSchemaUri":"INPUT_SCHEMA_URI", "inputs": { "annotation_specs": [LABEL_LIST] }, "annotationLabels": { "aiplatform.googleapis.com/annotation_set_name": "ANNOTATION_SET" } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/us-central1/dataLabelingJobs/JOB_ID", "displayName": "DISPLAY_NAME", "datasets": [ "DATASET_ID" ], "labelerCount": LABELERS, "instructionUri": "INSTRUCTIONS", "inputsSchemaUri": "INPUT_SCHEMA_URI", "inputs": { "annotationSpecs": [ LABEL_LIST ] }, "state": "JOB_STATE_PENDING", "labelingProgress": "0", "createTime": "2020-05-30T23:13:49.121133Z", "updateTime": "2020-05-30T23:13:49.121133Z", "savedQuery": { "name": "projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID/savedQueries/ANNOTATION_SET_ID" }, "annotationSpecCount": 2 }
DataLabelingJob
. Puoi verificare l'avanzamento del job monitorando
Elemento "labelingProgress"
, il cui valore è la percentuale di completamento.
Java
Altri esempi di codice:Tramite l'apprendimento attivo
Utilizzo di un pool di etichettatori personalizzati
Python
Altri esempi di codice:Tramite l'apprendimento attivo
Utilizzo di un pool di etichettatori personalizzati
Passaggi successivi
- Addestra un modello utilizzando AutoML.
- Addestra un modello utilizzando il codice di addestramento personalizzato.