stub Hvad er syntetiske data? - Unite.AI
Følg os

AI 101

Hvad er syntetiske data?

mm
Opdateret on

Hvad er syntetiske data?

Syntetiske data er en hurtigt voksende trend og et spirende værktøj inden for datavidenskab. Hvad er syntetiske data helt præcist? Det korte svar er, at syntetiske data består af data, der ikke er baseret på fænomener eller begivenheder i den virkelige verden, snarere genereres det via et computerprogram. Men hvorfor bliver syntetiske data så vigtige for datavidenskab? Hvordan skabes syntetiske data? Lad os undersøge svarene på disse spørgsmål.

Hvad er et syntetisk datasæt?

Som udtrykket "syntetisk" antyder, genereres syntetiske datasæt gennem computerprogrammer i stedet for at blive sammensat gennem dokumentation af begivenheder i den virkelige verden. Det primære formål med et syntetisk datasæt er at være alsidigt og robust nok til at være nyttigt til træning af maskinlæringsmodeller.

For at være nyttig for en maskinlæringsklassifikator, de syntetiske data skal have visse egenskaber. Mens dataene kan være kategoriske, binære eller numeriske, bør længden af ​​datasættet være vilkårlig, og dataene skal genereres tilfældigt. De tilfældige processer, der bruges til at generere dataene, bør være kontrollerbare og baseret på forskellige statistiske fordelinger. Tilfældig støj kan også placeres i datasættet.

Hvis de syntetiske data bruges til en klassifikationsalgoritme, bør mængden af ​​klasseseparation kunne tilpasses, således at klassifikationsproblemet kan gøres lettere eller sværere i henhold til problemets krav. I mellemtiden, til en regressionsopgave, kan ikke-lineære generative processer anvendes til at generere dataene.

Hvorfor bruge syntetiske data?

Efterhånden som maskinlæringsrammer som TensorfFlow og PyTorch bliver nemmere at bruge, og foruddesignede modeller til computervision og naturlig sprogbehandling bliver mere allestedsnærværende og kraftfulde, er det primære problem, som datavidenskabsfolk skal stå over for, indsamling og håndtering af data. Virksomheder har ofte svært ved at tilegne sig store mængder data for at træne en præcis model inden for en given tidsramme. Håndmærkning af data er en dyr, langsom måde at erhverve data på. Generering og brug af syntetiske data kan dog hjælpe dataforskere og virksomheder med at overvinde disse forhindringer og udvikle pålidelige maskinlæringsmodeller på en hurtigere måde.

Der er en række fordele ved at bruge syntetiske data. Den mest åbenlyse måde, hvorpå brugen af ​​syntetiske data gavner datavidenskab, er, at det reducerer behovet for at fange data fra begivenheder i den virkelige verden, og af denne grund bliver det muligt at generere data og konstruere et datasæt meget hurtigere end et datasæt, der er afhængigt af begivenheder i den virkelige verden. Det betyder, at store mængder data kan produceres på kort tid. Dette gælder især for begivenheder, der sjældent forekommer, som hvis en begivenhed sjældent sker i naturen, kan der hånes flere data fra nogle ægte dataprøver. Ud over det kan dataene automatisk mærkes, efterhånden som de genereres, hvilket drastisk reducerer den tid, det tager at mærke data.

Syntetiske data kan også være nyttige til at indhente træningsdata til edge cases, som er tilfælde, der kan forekomme sjældent, men som er afgørende for succes med din AI. Edge cases er hændelser, der minder meget om det primære mål for en AI, men som adskiller sig på vigtige måder. For eksempel kan objekter, der kun er delvist synlige, betragtes som kanttilfælde, når der designes en billedklassifikator.

Endelig syntetiske datasæt kan minimere bekymringer om privatlivets fred. Forsøg på at anonymisere data kan være ineffektive, da selv hvis følsomme/identificerende variabler fjernes fra datasættet, kan andre variable fungere som identifikatorer, når de kombineres. Dette er ikke et problem med syntetiske data, da det aldrig var baseret på en virkelig person eller virkelig begivenhed i første omgang.

Bruger sager til syntetiske data

Syntetiske data har en bred vifte af bruger, da det kan anvendes til stort set enhver maskinlæringsopgave. Tilfælde ved almindelig brug for syntetiske data omfatter selvkørende køretøjer, sikkerhed, robotteknologi, bedrageribeskyttelse og sundhedspleje.

Et af de indledende use cases for syntetiske data var selvkørende biler, da syntetiske data bruges til at skabe træningsdata til biler under forhold, hvor det er vanskeligt eller farligt at få rigtige træningsdata på vejen. Syntetiske data er også nyttige til at skabe data, der bruges til at træne billedgenkendelsessystemer, såsom overvågningssystemer, meget mere effektivt end manuelt at indsamle og mærke en masse træningsdata. Robotsystemer kan være langsomme at træne og udvikle med traditionelle dataindsamlings- og træningsmetoder. Syntetiske data giver robotvirksomheder mulighed for at teste og konstruere robotsystemer gennem simuleringer. Systemer til beskyttelse af svindel kan drage fordel af syntetiske data, og nye metoder til opdagelse af svindel kan trænes og testes med data, der er konstant nye, når der bruges syntetiske data. Inden for sundhedsområdet kan syntetiske data bruges til at designe sundhedsklassifikatorer, der er nøjagtige, men alligevel bevarer folks privatliv, da dataene ikke vil være baseret på rigtige mennesker.

Syntetiske dataudfordringer

Mens brugen af ​​syntetiske data bringer mange fordele med sig, bringer det også mange udfordringer.

Når syntetiske data skabes, mangler det ofte outliers. Outliers forekommer naturligt i data, og selvom de ofte falder fra træningsdatasæt, kan deres eksistens være nødvendig for at træne virkelig pålidelige maskinlæringsmodeller. Ud over dette kan kvaliteten af ​​syntetiske data variere meget. Syntetiske data genereres ofte med input- eller frødata, og derfor kan kvaliteten af ​​dataene være afhængig af kvaliteten af ​​inputdataene. Hvis de data, der bruges til at generere de syntetiske data, er skæve, kan de genererede data fortsætte denne skævhed. Syntetiske data kræver også en form for output/kvalitetskontrol. Det skal kontrolleres mod menneske-annoterede data, ellers er autentiske data en eller anden form.

Hvordan skabes syntetiske data?

Syntetiske data skabes programmatisk med maskinlæringsteknikker. Klassiske maskinlæringsteknikker som beslutningstræer kan bruges, som deep learning-teknikker kan. Kravene til de syntetiske data vil påvirke, hvilken type algoritme der bruges til at generere dataene. Beslutningstræer og lignende maskinlæringsmodeller lader virksomheder skabe ikke-klassiske, multimodale datadistributioner, trænet i eksempler på data fra den virkelige verden. Generering af data med disse algoritmer vil give data, der er meget korreleret med de originale træningsdata. I tilfælde, hvor den typiske distribution af data er kendt, kan en virksomhed generere syntetiske data ved brug af en Monte Carlo-metode.

Deep learning-baserede metoder til at generere syntetiske data gør typisk brug af enten en variationel autoencoder (VAE) or et generativt modstridende netværk (GAN). VAE'er er uovervågede maskinlæringsmodeller, der gør brug af indkodere og dekodere. Encoder-delen af ​​en VAE er ansvarlig for at komprimere dataene til en enklere, kompakt version af det originale datasæt, som dekoderen derefter analyserer og bruger til at generere en repræsentation af basisdataene. En VAE trænes med det mål at have et optimalt forhold mellem inputdata og output, hvor både inputdata og outputdata er ekstremt ens.

Når det kommer til GAN-modeller, kaldes de "adversarielle" netværk på grund af det faktum, at GAN'er faktisk er to netværk, der konkurrerer med hinanden. Generatoren er ansvarlig for at generere syntetiske data, mens det andet netværk (diskriminatoren) fungerer ved at sammenligne de genererede data med et rigtigt datasæt og forsøger at bestemme, hvilke data der er falske. Når diskriminatoren fanger falske data, får generatoren besked om dette, og den foretager ændringer for at forsøge at få en ny batch af data af diskriminatoren. Til gengæld bliver diskriminatoren bedre og bedre til at opdage forfalskninger. De to netværk trænes mod hinanden, hvor forfalskninger hele tiden bliver mere naturtro.