Grunderna i AI

Vad är syntetisk data?

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Vad är syntetisk data?

Syntetisk data är en snabbt växande trend och ett framväxande verktyg inom datavetenskapens område. Vad är syntetisk data egentligen? Det korta svaret är att syntetisk data består av data som inte baseras på någon verklig världsfenomen eller händelse, utan genereras via en datorprogram. Men varför blir syntetisk data så viktigt för datavetenskap? Hur skapas syntetisk data? Låt oss utforska svaren på dessa frågor.

Vad är en syntetisk datamängd?

Som termen “syntetisk” antyder, genereras syntetiska datamängder genom datorprogram, snarare än att de samlas in genom dokumentation av verkliga händelser. Det primära syftet med en syntetisk datamängd är att vara tillräckligt flexibel och robust för att vara användbar för utbildning av maskinlärningsmodeller.

För att vara användbar för en maskinlärningsklassificerare bör den syntetiska datan ha vissa egenskaper. Medan datan kan vara kategorisk, binär eller numerisk, bör datamängdens längd vara godtycklig och datan bör genereras slumpmässigt. De slumpmässiga processer som används för att generera datan bör vara kontrollerbara och baseras på olika statistiska fördelningar. Slumpmässigt brus kan också läggas till 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 enklare eller svårare beroende på problemets krav. Samtidigt, för en regressionsuppgift, kan icke-linjära genereringsprocesser användas för att generera datan.

Varför använda syntetisk data?

Medan maskinlärningsramverk som TensorFlow och PyTorch blir lättare att använda och färdiga modeller för datorseende och naturligt språkbecoming mer allmänt förekommande och kraftfulla, är det primära problem som datavetare måste hantera insamlingen och hanteringen av data. Företag har ofta svårt att samla in stora mängder data för att utbilda en exakt modell inom en given tidsram. Handmärkning av data är en tidskrävande och kostsam process. Men genom att generera och använda syntetisk data kan datavetare och företag övervinna dessa utmaningar och utveckla tillförlitliga maskinlärningsmodeller på ett snabbare sätt.

Det finns flera fördelar med att använda syntetisk data. Det mest uppenbara sättet som användningen av syntetisk data gynnar datavetenskap är att den minskar behovet av att samla in data från verkliga händelser, och därmed kan data genereras och en datamängd konstrueras mycket snabbare än en datamängd som är beroende av verkliga händelser. Detta innebär att stora mängder data kan produceras på en kort tid. Detta är särskilt sant för händelser som sällan inträffar, eftersom mer data kan skapas från några äkta dataexempel. Utöver detta kan datan märkas automatiskt när den 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äningdata för randfall, som är instanser som kan inträffa sällan men är kritiska för AI:s framgång. Randfall är händelser som är mycket lika det primära målet för en AI, men skiljer sig på viktiga sätt. Till exempel kan föremål som bara delvis syns i vy betraktas som randfall när man utformar en bildklassificerare.

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

Användningsfall för syntetisk data

Syntetisk data har en stor mängd användningsfall, eftersom den kan tillämpas på nästan alla maskinlärningsuppgifter. Vanliga användningsfall för syntetisk data inkluderar självkörande fordon, säkerhet, robotik, 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äningdata för bilar i situationer där det är svårt eller farligt att få verklig, på-väg-träning. Syntetisk data är också användbar för att skapa data som används för att träna bildigenkänningsystem, som övervakningssystem, mycket mer effektivt än att manuellt samla in och märka en mängd träningdata. Robotiksystem kan vara långsamma att träna och utveckla med traditionella datainsamling och träningsmetoder. Syntetisk data tillåter robotikföretag att testa och utveckla robotiksystem genom simuleringar. Bedrägeriskyddssystem kan dra nytta av syntetisk data, och nya bedrägeridetektionsmetoder kan tränas och testas med data som alltid är nytt när syntetisk data används. Inom hälsovårdsområdet kan syntetisk data användas för att utforma hälsoklassificerare som är precisa, men som samtidigt skyddar människors integritet, eftersom datan inte baseras på verkliga människor.

Utmaningar med syntetisk data

Medan användningen av syntetisk data medför många fördelar, medför den också många utmaningar.

När syntetisk data skapas, saknar den ofta avvikare. Avvikare förekommer naturligt i data, och även om de ofta tas bort från träningsdatamängder, kan deras existens vara nödvändig för att träna tillförlitliga maskinlärningsmodeller. Utöver detta kan kvaliteten på syntetisk data vara mycket varierande. Syntetisk data genereras ofta med en ingång, eller seed, data, och därför kan datans kvalitet bero på kvaliteten på ingångsdatan. Om datan som används för att generera den syntetiska datan är partisk, kan den genererade datan förstärka den partiskheten. Syntetisk data kräver också någon form av utdata/kvalitetskontroll. Den måste kontrolleras mot mänskligt annoterad data, eller annan äkta data i någon form.

Hur skapas syntetisk data?

Syntetisk data skapas programmerat med maskinlärningstekniker. Klassiska maskinlärningstekniker som beslutsfattande träd kan användas,liksom djupinlärningstekniker. Kraven på den syntetiska datan kommer att påverka vilken typ av algoritm som används för att generera datan. Beslutsfattande träd och liknande maskinlärningsmodeller låter företag skapa icke-klassiska, multimodala datafördelningar, tränade på exempel på verkliga data. Att generera data med dessa algoritmer kommer att ge data som är starkt korrelerad med den ursprungliga träningsdatan. För situationer där den typiska fördelningen av data är känd, kan ett företag generera syntetisk data genom att använda en Monte Carlo-metod.

Djupinlärningsbaserade metoder för att generera syntetisk data använder vanligtvis antingen en variational autoencoder (VAE) eller en generativt adversarial nätverk (GAN). VAE:er är oövervakade maskinlärningsmodeller som använder encoders och decoders. Encodern i en VAE är ansvarig för att komprimera datan till en enklare, kompakt version av den ursprungliga datamängden, som decodern sedan analyserar och använder för att generera en representation av basdatan. En VAE tränas med målet att ha en optimal relation mellan indata och utdata, en där både indata och utdata är extremt lika.

När det gäller GAN-modeller kallas de “adversariala” nätverk på grund av att GAN:er faktiskt är två nätverk som tävlar mot varandra. Generatoren är ansvarig för att generera syntetisk data, medan det andra nätverket (diskriminatoren) fungerar genom att jämföra den genererade datan med en verklig datamängd och försöker avgöra vilken data som är falsk. När diskriminatoren upptäcker falsk data, meddelas generatoren och den gör ändringar för att försöka få en ny mängd data från diskriminatoren. I gengäld blir diskriminatoren allt bättre på att upptäcka falska data. De två nätverken tränas mot varandra, med falska data som blir allt mer realistiska.

Blogger och programmerare med specialområden inom Machine Learning och Deep Learning ämnen. Daniel hoppas på att hjälpa andra att använda kraften från AI för socialt väl.