La qualità dei dati di addestramento influisce notevolmente sull'efficacia del modello creato e, di conseguenza, sulla qualità delle previsioni restituite da quel modello. Il segreto per ottenere dati di addestramento di alta qualità è assicurarsi di disporre di elementi di addestramento che rappresentino accuratamente il dominio su cui vuoi fare previsioni 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à assegnate, ad esempio utilizzando un set di dati disponibile in commercio
- Assegna etichette agli elementi di dati utilizzando la console Google Cloud
- Richiedere l'aggiunta di etichette agli etichettatori umani agli elementi di dati
Le attività di etichettatura dei dati di Vertex AI consentono di lavorare con etichettatori umani per generare etichette estremamente accurate per una raccolta di dati da usare per addestrare i tuoi modelli di machine learning.
Per informazioni sui prezzi dell'etichettatura dei dati, consulta Etichettatura dei dati.
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 etichette possibili da applicare agli elementi di dati
- Un file PDF con le istruzioni che accompagnano gli etichettatori umani nelle 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
Fornisci agli etichettatori umani gli elementi da etichettare creando un set di dati e importando elementi di dati al suo interno. Non è necessario etichettare gli elementi di dati. Il tipo di dati (immagine, video o testo) e l'obiettivo (ad esempio, classificazione o monitoraggio degli oggetti) determina il tipo di annotazioni che gli etichettatori umani applicano agli elementi di dati.
Fornisci le etichette
Quando crei un'attività di etichettatura dei dati, elenchi il set di etichette che vuoi che gli etichettatori umani utilizzino 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". Inoltre, come indicato nell'elenco che segue, potresti volere anche le etichette per "Nessuno dei due" ed "Entrambe".
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" o "edificio". Non usare nomi astratti, come "etichetta1" e "etichetta2", o acronimi che non conosci. Più significativi sono i nomi delle etichette, più facile sarà per gli etichettatori umani applicarli in modo accurato e coerente.
- Assicurati che le etichette siano facilmente distinguibili l'una dall'altra. Per le attività di classificazione in cui viene applicata una singola etichetta a ogni elemento di dati, cerca di non utilizzare etichette i cui significati si sovrappongono. Ad esempio, non avere etichette per "Sport" e "Baseball".
- Per le attività di classificazione, di solito è consigliabile includere un'etichetta denominata"other " o"none" da utilizzare per i dati che non corrispondono alle altre etichette. Ad esempio, se le uniche etichette disponibili sono "cane" e "gatto", gli etichettatori devono etichettare ogni immagine con una di queste etichette. In genere un modello personalizzato è più efficace se includi nei dati di addestramento immagini diverse da cani o gatti.
- Tieni presente che gli etichettatori sono più efficienti e precisi quando hai al massimo 20 etichette definite nel set di etichette. Puoi includere fino a 100 etichette.
Crea istruzioni
Le istruzioni forniscono agli etichettatori umani informazioni su come applicare le etichette ai tuoi dati. Le istruzioni devono contenere dati etichettati di esempio e altre direzioni esplicite.
Le istruzioni sono file PDF. Le istruzioni in formato PDF possono fornire indicazioni dettagliate come descrizioni o esempi positivi e negativi per ogni caso. Il PDF è anche un comodo formato 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 salvalo nel bucket Cloud Storage.
Fornisci istruzioni efficaci
Una buona istruzione è il fattore più importante per ottenere buoni risultati di etichettatura umana. Poiché conosci meglio il tuo caso d'uso, devi comunicare agli etichettatori umani cosa vuoi che facciano. Ecco alcune linee guida per creare istruzioni efficaci:
Gli etichettatori umani non conoscono il tuo dominio. Le distinzioni che chiedi agli etichettatori di fare devono essere facili da capire per qualcuno che non conosce il tuo caso d'uso.
Evita di rendere le istruzioni troppo lunghe. È meglio che un etichettatore possa esaminare e comprendere le istruzioni entro 20 minuti.
Le istruzioni devono descrivere il concetto dell'attività e fornire dettagli su come etichettare i dati. Ad esempio, per un'attività relativa a un riquadro di delimitazione, descrivi come vuoi che gli etichettatori disegnino il riquadro. Deve essere una scatola stretta o sfusa? Se ci sono più istanze dell'oggetto, devono disegnare uno o più riquadro di delimitazione?
Se le istruzioni hanno un'etichetta corrispondente, devono coprire tutte le etichette del set. Il nome dell'etichetta nelle istruzioni deve corrispondere a quello nel set di etichette.
Spesso sono necessarie diverse iterazioni per creare istruzioni efficaci. Consigliamo di far lavorare gli etichettatori umani su un set di dati ridotto, quindi di modificare le istruzioni in base al livello di corrispondenza delle tue aspettative.
Un buon file di istruzioni include le seguenti sezioni:
- Elenco e descrizione delle etichette: un elenco di tutte le etichette che vuoi utilizzare e il significato di ogni etichetta.
- Esempi: per ogni etichetta, fornisci almeno tre esempi positivi e un esempio escluso. Questi esempi devono riguardare casi diversi.
- Cover per casi limite. Per ridurre la necessità da parte dell'etichettatore di interpretare l'etichetta,
chiarisci 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 scatola per ognuna?
- Se c'è una persona occulta, ti serve una scatola?
- Se una persona è parzialmente mostrata nell'immagine, hai bisogno di una scatola?
- Se una persona è in un quadro o un dipinto, ti serve una scatola?
- Descrivi come aggiungere le annotazioni. Ad esempio:
- Ti serve una scatola stretta o sfusa per un riquadro di delimitazione?
- Per l'estrazione delle entità di testo, da dove deve iniziare e fine l'entità interessata?
- Chiarimento sulle etichette. Se due etichette sono simili o facili da confondere, fornisci degli esempi per chiarire la differenza.
I seguenti esempi mostrano cosa potrebbero includere le istruzioni in formato PDF. Gli etichettatori esamineranno le istruzioni prima di iniziare.
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.
Viene visualizzato 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 del set di dati selezionato, come determinato dal set di annotazioni predefinito. Per cambiare l'obiettivo, scegli un set di annotazioni diverso.
Scegli il set di annotazioni da utilizzare per i dati etichettati.
Le etichette applicate dagli etichettatori umani vengono salvate nel set di annotazioni selezionato. Puoi scegliere un set di annotazioni esistente o crearne uno nuovo. Se ne crei una nuova, devi indicare un nome.
Specifica se utilizzare l'apprendimento attivo.
L'apprendimento attivo accelera il processo di etichettatura inserendo nel set di dati un'etichetta "etichettatore umano" e applicando il machine learning per etichettare automaticamente il resto.
Fai clic su Continua.
Inserisci le etichette che devono essere applicate dagli etichettatori umani. Per informazioni sulla creazione di un set di etichette di alta qualità, consulta Progettare un set di etichette.
Fai clic su Continua.
Inserisci il percorso delle istruzioni per gli etichettatori umani. Le istruzioni devono essere un file PDF archiviato in un bucket Cloud Storage. Per informazioni sulla creazione di istruzioni di alta qualità, consulta le Istruzioni di progettazione per etichettatori umani.
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 loro attività utilizzando 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 oppure scegli Nuovo gruppo di etichettatori e inserisci un nome per il gruppo e un elenco separato da virgole di indirizzi email per i gestori del gruppo nelle caselle di testo sotto l'elenco a discesa. Fai clic sulla casella di controllo per concedere ai gestori specificati l'accesso per visualizzare le informazioni sull'etichettatura dei dati.
Specifica il numero di etichettatori che vuoi esaminare ogni elemento.
Per impostazione predefinita, un etichettatore umano annota ogni elemento di dati. Tuttavia, puoi chiedere a più etichettatori di annotare e rivedere ogni elemento. Seleziona il numero di etichettatori dalla casella Esperto per elemento di dati.
Fai clic su Avvia attività.
Se Avvia attività non è disponibile, controlla le pagine nel riquadro Nuova attività di etichettatura per verificare di aver inserito tutte le informazioni richieste.
Puoi rivedere l'avanzamento dell'attività di etichettatura dei dati nella pagina Attività di etichettatura della console Google Cloud.
Vai alle attività di etichettatura
La pagina mostra lo stato di ogni attività di etichettatura richiesta. Quando la colonna Avanzamento mostra il 100%, il set di dati corrispondente è etichettato e pronto per l'addestramento di 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 che esamini ogni elemento di 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 essere in un bucket Cloud Storage accessibile dal tuo progetto
- INPUT_SCHEMA_URI: percorso del file dello schema per il tipo di elemento di dati:
- Singola etichetta di classificazione delle immagini:
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
- Più etichette per la classificazione delle immagini:
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
- Classificazione del testo con etichetta singola:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml
- Classificazione del testo con più etichette:
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 dei 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
- Singola etichetta di classificazione delle immagini:
- LABEL_LIST: un elenco di stringhe separate da virgole che elenca 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 di queste 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 l'elemento "labelingProgress"
, il cui valore rappresenta la percentuale di completamento.
Java
Altri esempi di codice:Usare l'apprendimento attivo
Utilizzo di un pool di etichettatori personalizzati
Python
Altri esempi di codice:Usare l'apprendimento attivo
Utilizzo di un pool di etichettatori personalizzati
Passaggi successivi
- Addestra un modello utilizzando AutoML.
- Addestra un modello utilizzando il tuo codice di addestramento personalizzato.