mozzicone Cosa sono i dati sintetici? - Unite.AI
Seguici sui social

AI 101

Che cosa sono i dati sintetici?

mm
aggiornato on

Che cosa sono i dati sintetici?

I dati sintetici sono una tendenza in rapida espansione e uno strumento emergente nel campo della scienza dei dati. Cosa sono esattamente i dati sintetici? La risposta breve è che i dati sintetici sono costituiti da dati che non si basano su fenomeni o eventi del mondo reale, piuttosto è generato tramite un programma per computer. Ma perché i dati sintetici stanno diventando così importanti per la scienza dei dati? Come vengono creati i dati sintetici? Esploriamo le risposte a queste domande.

Cos'è un set di dati sintetico?

Come suggerisce il termine “sintetico”, i set di dati sintetici vengono generati tramite programmi informatici, invece di essere composti attraverso la documentazione di eventi del mondo reale. Lo scopo principale di un set di dati sintetico è quello di essere sufficientemente versatile e robusto da essere utile per l'addestramento di modelli di machine learning.

Per essere utili per un classificatore di machine learning, i dati sintetici dovrebbe avere determinate proprietà. Sebbene i dati possano essere categorici, binari o numerici, la lunghezza del set di dati dovrebbe essere arbitraria e i dati dovrebbero essere generati in modo casuale. I processi casuali utilizzati per generare i dati dovrebbero essere controllabili e basati su varie distribuzioni statistiche. Anche il rumore casuale può essere inserito nel set di dati.

Se i dati sintetici vengono utilizzati per un algoritmo di classificazione, la quantità di separazione delle classi dovrebbe essere personalizzabile, in modo che il problema di classificazione possa essere reso più semplice o più difficile in base ai requisiti del problema. Nel frattempo, per un'attività di regressione, è possibile utilizzare processi generativi non lineari per generare i dati.

Perché utilizzare i dati sintetici?

Man mano che i framework di machine learning come TensorfFlow e PyTorch diventano più facili da usare e i modelli pre-progettati per la visione artificiale e l’elaborazione del linguaggio naturale diventano più onnipresenti e potenti, il problema principale che i data scientist devono affrontare è la raccolta e la gestione dei dati. Le aziende spesso hanno difficoltà ad acquisire grandi quantità di dati per addestrare un modello accurato entro un determinato intervallo di tempo. L’etichettatura manuale dei dati è un modo costoso e lento per acquisire dati. Tuttavia, la generazione e l’utilizzo di dati sintetici può aiutare i data scientist e le aziende a superare questi ostacoli e a sviluppare modelli affidabili di machine learning in modo più rapido.

Ci sono una serie di vantaggi nell'usare dati sintetici. Il modo più ovvio in cui l'uso di dati sintetici avvantaggia la scienza dei dati è che riduce la necessità di acquisire dati da eventi del mondo reale, e per questo motivo diventa possibile generare dati e costruire un set di dati molto più rapidamente di un set di dati dipendente da eventi del mondo reale. Ciò significa che è possibile produrre grandi volumi di dati in un breve lasso di tempo. Ciò è particolarmente vero per gli eventi che si verificano raramente, poiché se un evento si verifica raramente in natura, è possibile deridere più dati da alcuni campioni di dati autentici. Oltre a ciò, i dati possono essere etichettati automaticamente non appena vengono generati, riducendo drasticamente il tempo necessario per etichettare i dati.

I dati sintetici possono anche essere utili per ottenere dati di addestramento per i casi limite, che sono istanze che possono verificarsi raramente ma sono fondamentali per il successo della tua intelligenza artificiale. I casi limite sono eventi molto simili all'obiettivo principale di un'intelligenza artificiale, ma differiscono in modo importante. Ad esempio, gli oggetti che sono visibili solo parzialmente potrebbero essere considerati casi limite durante la progettazione di un classificatore di immagini.

Infine, set di dati sintetici può ridurre al minimo i problemi di privacy. I tentativi di rendere anonimi i dati possono essere inefficaci, poiché anche se le variabili sensibili/identificative vengono rimosse dal set di dati, altre variabili possono fungere da identificatori quando vengono combinate. Questo non è un problema con i dati sintetici, poiché non sono mai stati basati su una persona reale o su un evento reale, in primo luogo.

Utilizza casi per dati sintetici

I dati sintetici hanno un'ampia varietà di usa, in quanto può essere applicato praticamente a qualsiasi attività di machine learning. Casi d'uso comuni per i dati sintetici includono veicoli a guida autonoma, sicurezza, robotica, protezione dalle frodi e assistenza sanitaria.

Uno dei casi d'uso iniziali per i dati sintetici erano le auto a guida autonoma, poiché i dati sintetici vengono utilizzati per creare dati di addestramento per le auto in condizioni in cui ottenere dati di addestramento su strada reali è difficile o pericoloso. I dati sintetici sono utili anche per la creazione di dati utilizzati per addestrare i sistemi di riconoscimento delle immagini, come i sistemi di sorveglianza, in modo molto più efficiente rispetto alla raccolta e all'etichettatura manuale di una serie di dati di addestramento. I sistemi robotici possono essere lenti da addestrare e sviluppare con i tradizionali metodi di raccolta dati e formazione. I dati sintetici consentono alle aziende di robotica di testare e progettare sistemi robotici attraverso simulazioni. I sistemi di protezione dalle frodi possono trarre vantaggio dai dati sintetici e i nuovi metodi di rilevamento delle frodi possono essere addestrati e testati con dati costantemente nuovi quando vengono utilizzati dati sintetici. Nel campo della sanità, i dati sintetici possono essere utilizzati per progettare classificatori sanitari che siano accurati, pur preservando la privacy delle persone, poiché i dati non saranno basati su persone reali.

Sfide sui dati sintetici

Sebbene l'uso di dati sintetici porti con sé molti vantaggi, comporta anche molte sfide.

Quando vengono creati dati sintetici, spesso mancano valori anomali. I valori anomali si verificano naturalmente nei dati e, sebbene spesso vengano eliminati dai set di dati di addestramento, la loro esistenza potrebbe essere necessaria per addestrare modelli di machine learning veramente affidabili. Oltre a ciò, la qualità dei dati sintetici può essere molto variabile. I dati sintetici vengono spesso generati con dati di input, o seed, e pertanto la qualità dei dati può dipendere dalla qualità dei dati di input. Se i dati utilizzati per generare i dati sintetici sono distorti, i dati generati possono perpetuare tale pregiudizio. I dati sintetici richiedono anche una qualche forma di output/controllo di qualità. Deve essere confrontato con dati annotati dall'uomo, altrimenti i dati autentici sono una qualche forma.

Come vengono creati i dati sintetici?

I dati sintetici vengono creati in modo programmatico con tecniche di machine learning. È possibile utilizzare tecniche classiche di apprendimento automatico come alberi decisionali, così come le tecniche di apprendimento profondo. I requisiti per i dati sintetici influenzeranno il tipo di algoritmo utilizzato per generare i dati. Alberi decisionali e modelli simili di machine learning consentono alle aziende di creare distribuzioni di dati non classiche e multimodali, addestrate su esempi di dati del mondo reale. La generazione di dati con questi algoritmi fornirà dati altamente correlati con i dati di addestramento originali. Per i casi in cui è nota la distribuzione tipica dei dati, un'azienda può generare dati sintetici mediante l'uso di un metodo Monte Carlo.

I metodi basati sul deep learning per la generazione di dati sintetici in genere fanno uso di entrambi un codificatore automatico variazionale (VAE) or una rete contraddittoria generativa (GAN). I VAE sono modelli di machine learning non supervisionati che utilizzano codificatori e decodificatori. La parte del codificatore di un VAE è responsabile della compressione dei dati in una versione più semplice e compatta del set di dati originale, che il decodificatore quindi analizza e utilizza per generare una rappresentazione dei dati di base. Un VAE viene addestrato con l'obiettivo di avere una relazione ottimale tra i dati di input e l'output, uno in cui sia i dati di input che i dati di output sono estremamente simili.

Quando si tratta di modelli GAN, vengono chiamati reti "adversarial" poiché i GAN sono in realtà due reti che competono tra loro. Il generatore è responsabile della generazione di dati sintetici, mentre la seconda rete (il discriminatore) opera confrontando i dati generati con un set di dati reale e cerca di determinare quali dati sono falsi. Quando il discriminatore rileva dati falsi, il generatore ne viene informato e apporta modifiche per cercare di ottenere un nuovo batch di dati dal discriminatore. A sua volta, il discriminatore diventa sempre più bravo a rilevare i falsi. Le due reti sono addestrate l'una contro l'altra, con i falsi che diventano sempre più realistici.