stub Vad är syntetiska data? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är syntetiska data?

mm
Uppdaterad on

Vad är syntetiska data?

Syntetisk data är en snabbt växande trend och ett framväxande verktyg inom datavetenskap. Vad är syntetisk data exakt? Det korta svaret är att syntetisk data består av data som inte är baserad på några verkliga fenomen eller händelser, snarare genereras det via ett datorprogram. Men varför blir syntetisk data så viktig för datavetenskap? Hur skapas syntetisk data? Låt oss utforska svaren på dessa frågor.

Vad är en syntetisk datauppsättning?

Som termen "syntetisk" antyder genereras syntetiska datauppsättningar genom datorprogram, istället för att skapas genom dokumentation av verkliga händelser. Det primära syftet med en syntetisk datauppsättning är att vara mångsidig och robust nog att vara användbar för utbildning av maskininlärningsmodeller.

För att vara användbar för en maskininlärningsklassificerare, den syntetiska data bör ha vissa egenskaper. Även om data kan vara kategoriska, binära eller numeriska, bör datauppsättningens längd vara godtycklig och data ska genereras slumpmässigt. De slumpmässiga processer som används för att generera data bör vara kontrollerbara och baseras på olika statistiska fördelningar. Slumpmässigt brus kan också placeras i datamängden.

Om den syntetiska datan används för en klassificeringsalgoritm, bör mängden klassseparation vara anpassningsbar, så att klassificeringsproblemet kan göras lättare eller svårare enligt problemets krav. Under tiden, för en regressionsuppgift, kan icke-linjära generativa processer användas för att generera data.

Varför använda syntetiska data?

När ramverk för maskininlärning som TensorfFlow och PyTorch blir enklare att använda och fördesignade modeller för datorseende och naturlig språkbehandling blir mer allmänt förekommande och kraftfulla, är det primära problemet som datavetare måste möta insamlingen och hanteringen av data. Företag har ofta svårt att skaffa stora mängder data för att träna en korrekt modell inom en given tidsram. Handmärkning av data är ett kostsamt, långsamt sätt att skaffa data. Men att generera och använda syntetisk data kan hjälpa datavetare och företag att övervinna dessa hinder och utveckla pålitliga modeller för maskininlärning på ett snabbare sätt.

Det finns ett antal fördelar med att använda syntetisk data. Det mest uppenbara sättet att använda syntetiska data gynnar datavetenskap är att det minskar behovet av att fånga data från verkliga händelser, och av denna anledning blir det möjligt att generera data och konstruera en datauppsättning mycket snabbare än en datauppsättning som är beroende av verkliga händelser. Detta innebär att stora mängder data kan produceras på kort tid. Detta gäller särskilt för händelser som sällan inträffar, som om en händelse sällan inträffar i naturen, kan mer data hånas från några äkta dataprover. Utöver det kan data automatiskt märkas när de genereras, vilket drastiskt minskar den tid som behövs för att märka data.

Syntetisk data kan också vara användbar för att få träningsdata för edge-fall, som är instanser som kan inträffa sällan men som är avgörande för framgången för din AI. Kantfall är händelser som liknar det primära målet för en AI men skiljer sig åt på viktiga sätt. Till exempel kan objekt som endast är delvis synliga betraktas som kantfall när man utformar en bildklassificerare.

Slutligen syntetiska datamängder kan minimera integritetsproblem. Försök att anonymisera data kan vara ineffektiva, eftersom även om känsliga/identifierande variabler tas bort från datasetet kan andra variabler fungera som identifierare när de kombineras. Det här är inte ett problem med syntetisk data, eftersom den aldrig var baserad på en verklig person, eller verklig händelse, i första hand.

Använder fall för syntetiska data

Syntetisk data har ett brett utbud av användningar, eftersom det kan appliceras på nästan vilken maskininlärningsuppgift som helst. Vanliga fall för syntetiska data inkluderar självkörande fordon, säkerhet, robotteknik, bedrägeriskydd och hälsovård.

Ett av de första användningsfallen för syntetisk data var självkörande bilar, eftersom syntetisk data används för att skapa träningsdata för bilar under förhållanden där det är svårt eller farligt att få riktig träningsdata på vägen. Syntetisk data är också användbar för att skapa data som används för att träna bildigenkänningssystem, som övervakningssystem, mycket mer effektivt än att manuellt samla in och märka en massa träningsdata. Robotsystem kan vara långsamma att träna och utveckla med traditionella datainsamlings- och träningsmetoder. Syntetisk data tillåter robotföretag att testa och konstruera robotsystem genom simuleringar. Bedrägeriskyddssystem kan dra nytta av syntetisk data, och nya metoder för upptäckt av bedrägeri kan tränas och testas med data som är ständigt ny när syntetisk data används. Inom sjukvårdsområdet kan syntetiska data användas för att designa hälsoklassificerare som är korrekta, men ändå bevarar människors integritet, eftersom data inte kommer att baseras på riktiga personer.

Syntetiska datautmaningar

Även om användningen av syntetisk data för med sig många fördelar, medför det också många utmaningar.

När syntetisk data skapas saknar den ofta extremvärden. Outliers förekommer naturligt i data, och även om de ofta tas bort från träningsdatauppsättningar, kan deras existens vara nödvändig för att träna verkligt tillförlitliga maskininlärningsmodeller. Utöver detta kan kvaliteten på syntetiska data variera mycket. Syntetisk data genereras ofta med ingångsdata, eller frödata, och därför kan kvaliteten på data vara beroende av kvaliteten på indata. Om den data som används för att generera den syntetiska datan är partisk, kan den genererade datan vidmakthålla den biasen. Syntetisk data kräver också någon form av utdata/kvalitetskontroll. Det måste kontrolleras mot mänskligt kommenterade data, eller annars är autentisk data någon form.

Hur skapas syntetiska data?

Syntetisk data skapas programmatiskt med maskininlärningstekniker. Klassiska maskininlärningstekniker som beslutsträd kan användas, liksom tekniker för djupinlärning. Kraven på den syntetiska datan kommer att påverka vilken typ av algoritm som används för att generera datan. Beslutsträd och liknande maskininlärningsmodeller låter företag skapa icke-klassiska, multimodala datadistributioner, tränade på exempel på verklig data. Generering av data med dessa algoritmer kommer att ge data som är starkt korrelerade med den ursprungliga träningsdatan. I de fall där den typiska distributionen av data är känd kan ett företag generera syntetisk data genom att använda en Monte Carlo-metod.

Metoder som bygger på djupinlärning för att generera syntetisk data använder sig vanligtvis av båda en variationsautokodare (VAE) or ett generativt motståndsnätverk (GAN). VAE: er är oövervakade maskininlärningsmodeller som använder kodare och avkodare. Kodardelen av en VAE är ansvarig för att komprimera data till en enklare, kompakt version av den ursprungliga datamängden, som avkodaren sedan analyserar och använder för att generera en representation av basdata. En VAE tränas med målet att ha ett optimalt förhållande mellan indata och utdata, en där både indata och utdata är extremt lika.

När det kommer till GAN-modeller kallas de för "adversariella" nätverk på grund av att GAN faktiskt är två nätverk som konkurrerar med varandra. Generatorn är ansvarig för att generera syntetisk data, medan det andra nätverket (diskriminatorn) fungerar genom att jämföra genererad data med en riktig datauppsättning och försöker avgöra vilken data som är falsk. När diskriminatorn fångar falska data, meddelas generatorn detta och den gör ändringar för att försöka få en ny batch data av diskriminatorn. I sin tur blir diskriminatorn bättre och bättre på att upptäcka förfalskningar. De två nätverken tränas mot varandra, med förfalskningar som hela tiden blir mer verklighetstrogna.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.