AI-modellen en platforms

Wat is Synthetische Data?

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Wat is Synthetische Data?

Synthetische data is een snel groeiende trend en een opkomend instrument in het veld van datawetenschap. Wat is synthetische data precies? Het korte antwoord is dat synthetische data bestaat uit gegevens die niet zijn gebaseerd op echte wereldfenomenen of gebeurtenissen, maar in plaats daarvan zijn gegenereerd via een computerprogramma. Maar waarom wordt synthetische data zo belangrijk voor datawetenschap? Hoe wordt synthetische data gegenereerd? Laten we de antwoorden op deze vragen verkennen.

Wat is een Synthetische Dataset?

Zoals de term “synthetisch” suggereert, worden synthetische datasets gegenereerd via computerprogramma’s, in plaats van samengesteld uit de documentatie van echte wereldgebeurtenissen. Het primaire doel van een synthetische dataset is om voldoende flexibel en robuust te zijn om nuttig te zijn voor het trainen van machine learning-modellen.

Om nuttig te zijn voor een machine learning-classificator, moet de synthetische data bepaalde eigenschappen hebben. Terwijl de data categorisch, binair of numeriek kan zijn, moet de lengte van de dataset willekeurig zijn en moet de data willekeurig gegenereerd worden. De willekeurige processen die worden gebruikt om de data te genereren, moeten controleerbaar zijn en gebaseerd zijn op verschillende statistische verdelingen. Willekeurige ruis kan ook in de dataset worden geplaatst.

Als de synthetische data wordt gebruikt voor een classificatie-algoritme, moet de hoeveelheid klasse-scheiding aanpasbaar zijn, zodat het classificatieprobleem gemakkelijker of moeilijker gemaakt kan worden volgens de vereisten van het probleem. Ondertussen, voor een regressietaken, kunnen niet-lineaire generatieve processen worden gebruikt om de data te genereren.

Waarom Synthetische Data Gebruiken?

Terwijl machine learning-frameworks zoals TensorfFlow en PyTorch gemakkelijker te gebruiken worden en vooraf ontworpen modellen voor computer vision en natuurlijke taalverwerking meer ubiciteit en kracht krijgen, is het primaire probleem dat datawetenschappers moeten aanpakken de verzameling en verwerking van data. Bedrijven hebben vaak moeite om grote hoeveelheden data te verzamelen om een nauwkeurig model te trainen binnen een bepaalde tijd. Handmatig labelen van data is een kostbare, langzame manier om data te verzamelen. Echter, het genereren en gebruiken van synthetische data kan helpen om datawetenschappers en bedrijven deze obstakels te overwinnen en betrouwbare machine learning-modellen sneller te ontwikkelen.

Er zijn een aantal voordelen aan het gebruik van synthetische data. De meest voor de hand liggende manier waarop het gebruik van synthetische data datawetenschap ten goede komt, is dat het de noodzaak om data te verzamelen uit echte wereldgebeurtenissen vermindert, en daardoor wordt het mogelijk om data en een dataset veel sneller te genereren dan een dataset die afhankelijk is van echte wereldgebeurtenissen. Dit betekent dat grote hoeveelheden data in een korte tijd kunnen worden gegenereerd. Dit is vooral waar voor gebeurtenissen die zelden voorkomen, aangezien meer data kan worden gegenereerd van enkele echte data-exemplaren. Bovendien kan de data automatisch gelabeld worden tijdens het genereren, waardoor de tijd die nodig is om data te labelen aanzienlijk wordt verminderd.

Synthetische data kan ook nuttig zijn om trainingsdata te verkrijgen voor randgevallen, die instanties zijn die zelden voorkomen maar cruciaal zijn voor het succes van uw AI. Randgevallen zijn gebeurtenissen die zeer vergelijkbaar zijn met het primaire doel van een AI, maar verschillen op belangrijke punten. Bijvoorbeeld, objecten die slechts gedeeltelijk in beeld zijn, kunnen worden beschouwd als randgevallen bij het ontwerpen van een beeldclassificator.

Ten slotte kunnen synthetische datasets de zorgen over privacy minimaliseren. Pogingen om data te anonimiseren kunnen ineffectief zijn, aangezien zelfs als gevoelige/identificerende variabelen uit de dataset worden verwijderd, andere variabelen kunnen fungeren als identificatoren wanneer ze worden gecombineerd. Dit is geen probleem met synthetische data, aangezien deze nooit is gebaseerd op een echte persoon of een echt gebeurtenis.

Gebruikscases voor Synthetische Data

Synthetische data heeft een breed scala aan gebruikscases, aangezien het kan worden toegepast op vrijwel elke machine learning-taak. Gemeenschappelijke gebruikscases voor synthetische data omvatten zelfrijdende voertuigen, beveiliging, robotica, fraudebescherming en gezondheidszorg.

Een van de eerste gebruikscases voor synthetische data was zelfrijdende auto’s, aangezien synthetische data wordt gebruikt om trainingsdata te creëren voor auto’s in omstandigheden waarin het verkrijgen van echte, op de weg getrainde data moeilijk of gevaarlijk is. Synthetische data is ook nuttig voor het creëren van data die wordt gebruikt om beeldherkenningsystemen te trainen, zoals bewakingsystemen, veel efficiënter dan het handmatig verzamelen en labelen van een grote hoeveelheid trainingsdata. Robotica-systemen kunnen langzaam zijn om te trainen en te ontwikkelen met traditionele data-verzamelings- en trainingsmethoden. Synthetische data stelt robotica-bedrijven in staat om robotica-systemen te testen en te ontwerpen via simulaties. Fraudebeschermingssystemen kunnen profiteren van synthetische data, en nieuwe fraude-detectiemethoden kunnen worden getraind en getest met data die constant nieuw is wanneer synthetische data wordt gebruikt. In de gezondheidszorg kan synthetische data worden gebruikt om gezondheidsclassificatoren te ontwerpen die nauwkeurig zijn, maar ook de privacy van mensen beschermen, aangezien de data niet is gebaseerd op echte mensen.

Uitdagingen van Synthetische Data

Terwijl het gebruik van synthetische data veel voordelen met zich meebrengt, brengt het ook veel uitdagingen met zich.

Wanneer synthetische data wordt gegenereerd, ontbreekt het vaak aan uitschieters. Uitschieters komen van nature voor in data, en hoewel ze vaak uit trainingsdatasets worden verwijderd, kan hun bestaan noodzakelijk zijn om echt betrouwbare machine learning-modellen te trainen. Bovendien kan de kwaliteit van synthetische data zeer variabel zijn. Synthetische data wordt vaak gegenereerd met een invoer, of zaad, data, en daarom kan de kwaliteit van de data afhankelijk zijn van de kwaliteit van de invoerdata. Als de data die wordt gebruikt om de synthetische data te genereren, bevooroordeeld is, kan de gegenereerde data die bevooroordeeldheid in stand houden. Synthetische data vereist ook enige vorm van output/kwaliteitscontrole. Het moet worden gecontroleerd tegen door mensen geannoteerde data, of anderszins authentieke data in enige vorm.

Hoe Wordt Synthetische Data Gegenereerd?

Synthetische data wordt programmatisch gegenereerd met machine learning-technieken. Klassieke machine learning-technieken zoals beslissingsbomen kunnen worden gebruikt, evenals diepe leer-technieken. De vereisten voor de synthetische data zullen bepalen welke soort algoritme wordt gebruikt om de data te genereren. Beslissingsbomen en soortgelijke machine learning-modellen laten bedrijven toe om niet-klassieke, multi-modale data-verdelingen te creëren, getraind op voorbeelden van echte data. Het genereren van data met deze algoritmen zal data opleveren die sterk correleert met de oorspronkelijke trainingsdata. Voor gevallen waarin de typische verdeling van data bekend is, kan een bedrijf synthetische data genereren via het gebruik van een Monte Carlo-methode.

Diepe leer-gebaseerde methoden voor het genereren van synthetische data maken meestal gebruik van een variatiele auto-encoder (VAE) of een generatieve tegenstrijdige netwerk (GAN). VAE’s zijn onbegeleide machine learning-modellen die gebruikmaken van encoders en decoders. Het encoder-gedeelte van een VAE is verantwoordelijk voor het comprimeren van de data tot een eenvoudiger, compacte versie van de oorspronkelijke dataset, die de decoder vervolgens analyseert en gebruikt om een representatie van de basisdata te genereren. Een VAE wordt getraind met het doel om een optimale relatie te hebben tussen de invoerdata en de uitvoer, een waarin zowel de invoerdata als de uitvoerdata extreem vergelijkbaar zijn.

Wanneer het gaat om GAN-modellen, worden ze “tegenstrijdig” genoemd vanwege het feit dat GAN’s eigenlijk twee netwerken zijn die met elkaar concurreren. De generator is verantwoordelijk voor het genereren van synthetische data, terwijl het tweede netwerk (de discriminator) werkt door de gegenereerde data te vergelijken met een echte dataset en probeert te bepalen welke data nep is. Wanneer de discriminator neppe data tegenkomt, wordt de generator hiervan op de hoogte gesteld en maakt het wijzigingen om een nieuwe batch data te krijgen van de discriminator. Vervolgens wordt de discriminator steeds beter in het detecteren van neppe data. De twee netwerken worden getraind tegen elkaar, met neppe data die steeds meer op echte data lijkt.

Blogger en programmeur met specialisaties in Machine Learning en Deep Learning onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor het sociale goede.