AI-modeller og platforme
Hvad er Synthetic Data?
Hvad er Synthetic Data?
Synthetic data er en hurtigt voksende trend og et nyt værktøj inden for datavidenskab. Hvad er synthetic data nøjagtig? Det korte svar er, at synthetic data består af data, der ikke er baseret på noget virkeligt fænomen eller begivenhed, men i stedet genereres via en computerprogram. Men hvorfor bliver synthetic data så vigtigt for datavidenskab? Hvordan genereres synthetic data? Lad os udforske svarene på disse spørgsmål.
Hvad er en Synthetic Dataset?
Som begrebet “synthetic” antyder, genereres synthetic datasets gennem computerprogrammer, i stedet for at blive sammensat gennem dokumentation af virkelige begivenheder. Det primære formål med en synthetic dataset er at være tilstrækkelig fleksibel og robust til at være nyttig for træning af maskinlæringsmodeller.
For at være nyttig for en maskinlæringsklassifikator skal synthetic data have visse egenskaber. Mens data kan være kategorisk, binær eller numerisk, skal længden af datasettet være arbitrær, og data skal være tilfældigt genereret. De tilfældige processer, der bruges til at generere data, skal være kontrollerbare og baseret på forskellige statistiske fordelinger. Tilfældig støj kan også indsættes i datasettet.
Hvis synthetic data bruges til en klassifikationsalgoritme, skal mængden af klasseadskillelse være tilpasselig, så klassifikationsproblemet kan gøres lettere eller sværere i overensstemmelse med problemets krav. Imens, for en regressionsopgave, kan ikke-lineære generative processer anvendes til at generere data.
Hvorfor bruge Synthetic Data?
Da maskinlæringsrammer som TensorFlow og PyTorch bliver lettere at bruge, og foruddesignede modeller for computer vision og natur-sprogbehandling bliver mere almindelige og kraftfulde, er det primære problem, datavidenskabsfolk må konfrontere, indsamlingen og håndteringen af data. Virksomheder har ofte svært ved at indsamle store mængder data til at træne en præcis model inden for en given tidsramme. Manuelt mærkning af data er en kostbar og langsom måde at indsamle data på. Dog kan generering og brug af synthetic data hjælpe datavidenskabsfolk og virksomheder med at overvinde disse udfordringer og udvikle pålidelige maskinlæringsmodeller på en hurtigere måde.
Der er en række fordele ved at bruge synthetic data. Den mest åbenlyse måde, hvorpå brugen af synthetic data gavner datavidenskab, er, at det reducerer behovet for at indsamle data fra virkelige begivenheder, og derfor kan det gøres muligt at generere data og opbygge et dataset meget hurtigere end et dataset, der afhænger af virkelige begivenheder. Dette betyder, at store mængder data kan produceres på en kort tidsramme. Dette er især sandt for begivenheder, der sjældent opstår, da mere data kan simuleres fra nogle ægte datasæt, hvis en begivenhed sjældent opstår i naturen. Ud over dette kan data automatisk mærkes, mens det genereres, hvilket dramatisk reducerer den tid, der er nødvendig for at mærke data.
Synthetic data kan også være nyttigt til at opnå træningsdata for edge-cases, der er eksempler, der kan opstå sjældent, men er afgørende for AI’s succes. Edge-cases er begivenheder, der er meget lig det primære mål for en AI, men adskiller sig på vigtige måder. For eksempel kan objekter, der kun er delvist i sigte, anses for at være edge-cases, når man designer en billedklassifikator.
Til sidst kan synthetic datasets minimere bekymringer om privatliv. Forsøg på at anonymisere data kan være ineffektive, da selv om følsomme/identificerende variabler fjernes fra datasettet, kan andre variabler fungere som identificatorer, når de kombineres. Dette er ikke et problem med synthetic data, da det aldrig var baseret på en virkelig person eller en virkelig begivenhed fra starten.
Brugs Tilfælde for Synthetic Data
Synthetic data har en bred vifte af brugs tilfælde, da det kan anvendes til næsten enhver maskinlæringsopgave. Almindelige brugs tilfælde for synthetic data omfatter selvstyrende køretøjer, sikkerhed, robotteknologi, svindelbeskyttelse og sundhedspleje.
En af de første brugs tilfælde for synthetic data var selvstyrende biler, da synthetic data bruges til at oprette træningsdata for biler i situationer, hvor det er svært eller farligt at få virkelig træningsdata på vej. Synthetic data er også nyttigt til oprettelse af data, der bruges til at træne billedgenkendelsessystemer, som overvågningsystemer, meget mere effektivt end manuelt at indsamle og mærke en masse træningsdata. Robotteknologisystemer kan være langsomme at træne og udvikle med traditionelle dataindsamling og træningsmetoder. Synthetic data giver robotvirksomheder mulighed for at teste og udvikle robotteknologisystemer gennem simulationer. Svimdelbeskyttelsessystemer kan også drage fordel af synthetic data, og nye svimdelopdagede metoder kan trænes og testes med data, der konstant er nyt, når synthetic data bruges. I sundhedssektoren kan synthetic data bruges til at designe sundheds klassifikatorer, der er nøjagtige, men samtidig beskytter menneskers privatliv, da data ikke er baseret på virkelige mennesker.
Udfordringer med Synthetic Data
Selv om brugen af synthetic data medfører mange fordele, medfører det også mange udfordringer.
Når synthetic data oprettes, mangler det ofte outliers. Outliers opstår naturligt i data, og selv om de ofte fjernes fra træningsdataset, kan deres eksistens være nødvendig for at træne virkelig pålidelige maskinlæringsmodeller. Ud over dette kan kvaliteten af synthetic data være meget variabel. Synthetic data genereres ofte med en input eller seed-data, og derfor kan datakvaliteten afhænge af kvaliteten af input-data. Hvis data, der bruges til at generere synthetic data, er fordomsfuldt, kan det genererede data fortsætte med denne fordom. Synthetic data kræver også en form for output/kvalitetskontrol. Det skal kontrolleres mod menneske-mærket data eller anden ægte data i en eller anden form.
Hvordan oprettes Synthetic Data?
Synthetic data oprettes programmeret med maskinlærings-teknikker. Klassiske maskinlærings-teknikker som beslutningstræer kan bruges, såvel som dybe lærings-teknikker. Kravene til synthetic data vil påvirke, hvilken type algoritme der bruges til at generere data. Beslutningstræer og lignende maskinlæringsmodeller giver virksomheder mulighed for at oprette ikke-klassiske, multi-modale datafordelinger, trænet på eksempler på virkelig data. Generering af data med disse algoritmer vil give data, der er høj korreleret med den oprindelige træningsdata. For tilfælde, hvor den typiske fordeling af data er kendt, kan en virksomhed generere synthetic data gennem brug af en Monte Carlo-metode.
Dybe lærings-baserede metoder til generering af synthetic data bruger typisk enten en variational autoencoder (VAE) eller en generativ adversarial network (GAN). VAE’er er usupervisede maskinlæringsmodeller, der bruger encodere og decodere. Encoder-delen af en VAE er ansvarlig for at komprimere data ned i en enklere, kompakt version af den oprindelige dataset, som decoderen derefter analyserer og bruger til at generere en repræsentation af grunddata. En VAE trænes med målet om at have en optimal relation mellem input-data og output, en relation, hvor både input-data og output-data er ekstremt lignende.
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 synthetic data, mens det andet netværk (diskriminatoren) fungerer ved at sammenligne den genererede data med en reel dataset og prøver at bestemme, hvilken data der er falsk. Når diskriminatoren fanger falsk data, underrettes generatoren herom, og den foretager ændringer for at prøve at få en ny batch af data fra diskriminatoren. I retur bliver diskriminatoren bedre og bedre til at opdage falsk data. De to netværk trænes mod hinanden, med falsk data, der bliver mere livagtigt hele tiden.












