5 motivi per cui hai bisogno di dati sintetici

5 motivi per cui hai bisogno di dati sintetici

Nodo di origine: 1942868

5 motivi per cui hai bisogno di dati sintetici
Dati sintetici generati da Kubric
 

Per addestrare un modello di machine learning, hai bisogno di dati. Le attività di scienza dei dati di solito non sono una competizione Kaggle in cui hai un bel set di dati curato di grandi dimensioni che viene pre-etichettato. A volte devi raccogliere, organizzare e pulire i tuoi dati. Questo processo di raccolta ed etichettatura dei dati nel mondo reale può richiedere molto tempo, macchinoso, costoso, impreciso e talvolta pericoloso. Inoltre, alla fine di questo processo, puoi ritrovarti con i dati che hai incontrato nel mondo reale che non sono necessariamente i dati che vorresti in termini di qualità, diversità (ad esempio, squilibrio di classe) e quantità. Di seguito sono riportati i problemi comuni che puoi incontrare quando lavori con dati reali: 

  • La raccolta e l'etichettatura dei dati reali non sono scalabili
  • L'etichettatura manuale dei dati reali a volte può essere impossibile
  • I dati reali hanno problemi di privacy e sicurezza
  • I dati reali non sono programmabili
  • Un modello addestrato esclusivamente su dati reali non è sufficientemente performante (ad esempio, velocità di sviluppo lenta)

Fortunatamente, problemi come questi possono essere risolti con dati sintetici. Ti starai chiedendo, cosa sono i dati sintetici? I dati sintetici possono essere definiti come dati generati artificialmente, tipicamente creati utilizzando algoritmi che simulano i processi del mondo reale, dal comportamento degli altri utenti della strada fino al comportamento della luce mentre interagisce con le superfici. Questo post esamina i limiti dei dati del mondo reale e come i dati sintetici possono aiutare a superare questi problemi e migliorare le prestazioni del modello. 

Per piccoli set di dati, di solito è possibile raccogliere ed etichettare manualmente i dati; tuttavia, molte attività complesse di apprendimento automatico richiedono enormi set di dati per l'addestramento. Ad esempio, i modelli addestrati per applicazioni di veicoli autonomi necessitano di grandi quantità di dati raccolti da sensori collegati ad automobili o droni. Questo processo di raccolta dei dati è lento e può richiedere mesi o addirittura anni. Una volta raccolti i dati grezzi, devono essere annotati manualmente da esseri umani, il che è anche costoso e richiede tempo. Inoltre, non vi è alcuna garanzia che i dati etichettati che ritornano siano utili come dati di addestramento, poiché potrebbero non contenere esempi che informano le attuali lacune nella conoscenza del modello. 

[contenuto incorporato][contenuto incorporato]

L'etichettatura di questi dati spesso implica che gli esseri umani disegnano etichette a mano sopra i dati del sensore. Questo è molto costoso in quanto i team ML ben pagati spesso trascorrono gran parte del loro tempo assicurandosi che le etichette siano corrette e rimandando gli errori agli etichettatori. Uno dei principali punti di forza dei dati sintetici è che puoi generare tutti i dati perfettamente etichettati che desideri. Tutto ciò di cui hai bisogno è un modo per generare dati sintetici di qualità. 

Software open source per generare dati sintetici: Kubric (video multi-oggetto con maschere di segmentazione, mappe di profondità e flusso ottico) e SDV (dati tabulari, relazionali e di serie temporali).

Alcune (di molte) aziende che vendono prodotti o costruiscono piattaforme in grado di generare dati sintetici includono Gretel.ai (set di dati sintetici che garantiscono la riservatezza dei dati reali), NVIDIA (Omniverso), e Dominio parallelo (veicoli autonomi). Per più, consulta l'elenco 2022 delle società di dati sintetici

5 motivi per cui hai bisogno di dati sintetici
Immagine da Dominio parallelo
 

Ci sono alcuni dati che gli esseri umani non possono interpretare ed etichettare completamente. Di seguito sono riportati alcuni casi d'uso in cui i dati sintetici sono l'unica opzione: 

  • Stima accurata della profondità e flusso ottico dalle singole immagini
  • Applicazioni a guida autonoma che utilizzano dati radar non visibili all'occhio umano 
  • Generazione di falsi profondi che possono essere utilizzati per testare i sistemi di riconoscimento facciale

5 motivi per cui hai bisogno di dati sintetici
Immagine di Michael Galarnyk
 

I dati sintetici sono estremamente utili per le applicazioni nei domini in cui non è possibile ottenere facilmente dati reali. Ciò include alcuni tipi di dati sugli incidenti automobilistici e la maggior parte dei tipi di dati sulla salute soggetti a restrizioni sulla privacy (ad es. cartelle cliniche elettroniche). Negli ultimi anni, i ricercatori sanitari si sono interessati a prevedere la fibrillazione atriale (ritmo cardiaco irregolare) utilizzando segnali ECG e PPG. Lo sviluppo di un rilevatore di aritmia non è solo impegnativo poiché l'annotazione di questi segnali è noiosa e costosa, ma anche a causa delle restrizioni sulla privacy. Questo è uno dei motivi per cui esiste ricerca nella simulazione di questi segnali

È importante sottolineare che la raccolta di dati reali non richiede solo tempo ed energia, ma può effettivamente essere pericolosa. Uno dei problemi principali con le applicazioni robotiche come le auto a guida autonoma è che sono applicazioni fisiche dell'apprendimento automatico. Non puoi distribuire un modello non sicuro nel mondo reale e avere un arresto anomalo a causa della mancanza di dati rilevanti. L'aumento di un set di dati con dati sintetici può aiutare i modelli a evitare questi problemi. 

Di seguito sono riportate alcune aziende che utilizzano dati sintetici per migliorare la sicurezza delle applicazioni: Toyota, Waymoe Crociera.

5 motivi per cui hai bisogno di dati sintetici
Immagine da Dominio parallelo
 

Immagine sintetica di un bambino occluso in bicicletta che emerge da dietro uno scuolabus e attraversa la strada in bicicletta in un ambiente suburbano in stile californiano.

Le applicazioni per veicoli autonomi spesso si occupano di eventi relativamente "insoliti" (rispetto alle normali condizioni di guida) come pedoni di notte o ciclisti in mezzo alla strada. I modelli spesso necessitano di centinaia di migliaia o addirittura milioni di esempi per apprendere uno scenario. Uno dei problemi principali è che i dati del mondo reale raccolti potrebbero non essere ciò che si sta cercando in termini di qualità, diversità (ad esempio, squilibrio di classe, condizioni meteorologiche, posizione) e quantità. Un altro problema è che per le auto e i robot a guida autonoma, non sempre sai di quali dati hai bisogno, a differenza delle tradizionali attività di machine learning con set di dati fissi e benchmark fissi. Mentre alcune tecniche di aumento dei dati che alterano sistematicamente o casualmente le immagini sono utili, queste tecniche possono presentare i propri problemi

È qui che entrano in gioco i dati sintetici. Le API di generazione di dati sintetici ti consentono di progettare set di dati. Queste API possono farti risparmiare un sacco di soldi in quanto è molto costoso costruire robot e raccogliere dati nel mondo reale. È molto meglio e più veloce provare a generare dati e capire i principi ingegneristici utilizzando la generazione di set di dati sintetici.

I seguenti sono esempi che evidenziano come i dati sintetici programmabili aiutano i modelli ad apprendere: prevenzione di transazioni fraudolente (American Express), migliore rilevamento dei ciclisti (dominio parallelo)e analisi e revisione della chirurgia (Hutom.io).

5 motivi per cui hai bisogno di dati sintetici
Fasi del ciclo di sviluppo del modello | Immagine da Jules S. Damji 
 

Nell'industria ci sono molti fattori che influenzano la fattibilità/prestazioni di un progetto di apprendimento automatico sia nello sviluppo che nella produzione (ad esempio, acquisizione dati, annotazione, addestramento del modello, ridimensionamento, implementazione, monitoraggio, riaddestramento del modello e velocità di sviluppo). Recentemente, 18 ingegneri di machine learning hanno preso parte a uno studio di interviste che aveva l'obiettivo di comprendere le pratiche e le sfide MLOps comuni tra organizzazioni e applicazioni (ad es. veicoli autonomi, hardware del computer, vendita al dettaglio, pubblicità, sistemi di raccomandazione, ecc.). Una delle conclusioni dello studio è stata l'importanza della velocità di sviluppo, che può essere approssimativamente definita come la capacità di prototipare e iterare rapidamente le idee.

Un fattore che influisce sulla velocità di sviluppo è la necessità di disporre di dati per eseguire l'addestramento e la valutazione iniziale del modello così come la frequente riqualificazione del modello a causa del decadimento delle prestazioni del modello nel tempo a causa della deriva dei dati, della deriva del concetto o persino della distorsione del servizio di addestramento del treno. 

 

5 motivi per cui hai bisogno di dati sintetici
Immagine da Evidentemente AI
 

Lo studio ha anche riportato che questa esigenza ha portato alcune organizzazioni a creare un team per etichettare frequentemente i dati in tempo reale. Ciò è costoso, richiede tempo e limita la capacità di un'organizzazione di riaddestrare frequentemente i modelli. 

 

5 motivi per cui hai bisogno di dati sintetici
Immagine da Gretel.ai
 

Nota, questo diagramma non copre il modo in cui i dati sintetici possono essere utilizzati anche per cose come Test MLOps nei consiglieri.

I dati sintetici hanno il potenziale per essere utilizzati con i dati del mondo reale nel ciclo di vita del machine learning (nella foto sopra) per aiutare le organizzazioni a mantenere i loro modelli performanti più a lungo. 

La generazione di dati sintetici sta diventando sempre più comune nei flussi di lavoro di machine learning. Infatti, Gartner prevede che entro il 2030 i dati sintetici saranno utilizzati molto più dei dati del mondo reale per addestrare modelli di machine learning. Se hai domande o pensieri su questo post, non esitare a contattarci nei commenti qui sotto o tramite Twitter.
 
 
Michael Galarnyk è un professionista della scienza dei dati e lavora nelle relazioni con gli sviluppatori presso Anyscale.
 

Timestamp:

Di più da KDnuggets