5 grunde til, hvorfor du har brug for syntetiske data

5 grunde til, hvorfor du har brug for syntetiske data

Kildeknude: 1942868

5 grunde til, hvorfor du har brug for syntetiske data
Syntetiske data genereret fra Kubric
 

For at træne en maskinlæringsmodel har du brug for data. Datavidenskabsopgaver er normalt ikke en Kaggle-konkurrence, hvor du har et flot stort kurateret datasæt, der kommer præ-mærket. Nogle gange er du nødt til at indsamle, organisere og rense dine egne data. Denne proces med at indsamle og mærke data i den virkelige verden kan være tidskrævende, besværlig, dyr, unøjagtig og nogle gange farlig. Ydermere, i slutningen af ​​denne proces, kan du ende med, at de data, du stødte på i den virkelige verden, ikke nødvendigvis er de data, du gerne vil have med hensyn til kvalitet, mangfoldighed (f.eks. klasseubalance) og kvantitet. Nedenfor er almindelige problemer, du kan støde på, når du arbejder med rigtige data: 

  • Reel dataindsamling og mærkning er ikke skalerbare
  • Manuel mærkning af rigtige data kan nogle gange være umuligt
  • Ægte data har problemer med privatliv og sikkerhed
  • Reelle data er ikke programmerbare
  • En model, der udelukkende er trænet på rigtige data, er ikke effektiv nok (f.eks. langsom udviklingshastighed)

Heldigvis kan problemer som disse løses med syntetiske data. Du undrer dig måske, hvad er syntetiske data? Syntetiske data kan defineres som kunstigt genererede data, som typisk er skabt ved hjælp af algoritmer, der simulerer processer i den virkelige verden, fra andre trafikanters adfærd helt ned til lysets adfærd, når det interagerer med overflader. Dette indlæg gennemgår begrænsningerne for data fra den virkelige verden, og hvordan syntetiske data kan hjælpe med at overvinde disse problemer og forbedre modellens ydeevne. 

For små datasæt er det normalt muligt at indsamle og manuelt mærke data; dog kræver mange komplekse maskinlæringsopgaver massive datasæt til træning. For eksempel har modeller, der er trænet til autonome køretøjsapplikationer, brug for store mængder data indsamlet fra sensorer knyttet til biler eller droner. Denne dataindsamlingsproces er langsom og kan tage måneder eller endda år. Når rådata er indsamlet, skal det derefter manuelt kommenteres af mennesker, hvilket også er dyrt og tidskrævende. Desuden er der ingen garanti for, at de mærkede data, der kommer tilbage, vil være gavnlige som træningsdata, da de måske ikke indeholder eksempler, der informerer om modellens aktuelle videnshuller. 

[indlejret indhold][indlejret indhold]

Mærkning af disse data involverer ofte, at mennesker håndtegner etiketter oven på sensordata. Dette er meget dyrt, da højtlønnede ML-teams ofte bruger en stor del af deres tid på at sikre, at etiketter er korrekte, og at sende fejl tilbage til etiketterne. En stor styrke ved syntetiske data er, at du kan generere så meget perfekt mærkede data, som du vil. Alt du behøver er en måde at generere syntetiske kvalitetsdata på. 

Open source-software til at generere syntetiske data: Kubric (flerobjektvideoer med segmenteringsmasker, dybdekort og optisk flow) og SDV (tabel-, relations- og tidsseriedata).

Nogle (af mange) virksomheder, der sælger produkter eller bygger platforme, der kan generere syntetiske data, omfatter Gretel.ai (syntetiske datasæt, der sikrer privatlivets fred for rigtige data), NVIDIA (omnivers), og Parallelt domæne (autonome køretøjer). For mere, se 2022-listen over syntetiske datavirksomheder

5 grunde til, hvorfor du har brug for syntetiske data
Billede fra Parallelt domæne
 

Der er nogle data, som mennesker ikke fuldt ud kan fortolke og mærke. Nedenfor er nogle tilfælde, hvor syntetiske data er den eneste mulighed: 

  • Nøjagtig estimering af dybde og optisk flow fra enkelte billeder
  • Selvkørende applikationer, der bruger radardata, der ikke er synlige for det menneskelige øje 
  • Generering af dybe forfalskninger, der kan bruges til at teste ansigtsgenkendelsessystemer

5 grunde til, hvorfor du har brug for syntetiske data
Billede af Michael Galarnyk
 

Syntetiske data er yderst nyttige til applikationer i domæner, hvor du ikke nemt kan få rigtige data. Dette omfatter nogle typer trafikulykkesdata og de fleste typer helbredsdata, der har begrænsninger for privatlivets fred (f.eks. elektroniske sundhedsregistre). I de senere år har sundhedsforskere været interesseret i at forudsige atrieflimren (uregelmæssig hjerterytme) ved hjælp af EKG- og PPG-signaler. At udvikle en arytmidetektor er ikke kun udfordrende, da annotering af disse signaler er kedeligt og dyrt, men også på grund af privatlivsbegrænsninger. Dette er en af ​​grundene til, at der er forskning i at simulere disse signaler

Det er vigtigt at understrege, at indsamling af rigtige data ikke kun tager tid og energi, men faktisk kan være farligt. Et af kerneproblemerne med robotapplikationer som selvkørende biler er, at de er fysiske anvendelser af maskinlæring. Du kan ikke implementere en usikker model i den virkelige verden og have et nedbrud på grund af mangel på relevante data. Forøgelse af et datasæt med syntetiske data kan hjælpe modeller med at undgå disse problemer. 

Følgende er nogle virksomheder, der bruger syntetiske data til at forbedre applikationssikkerheden: Toyota, Waymoog Cruise.

5 grunde til, hvorfor du har brug for syntetiske data
Billede fra Parallelt domæne
 

Syntetisk billede af et okkluderet barn på en cykel, der dukker op bag en skolebus og cykler over gaden i et forstadsmiljø i Californien-stil.

Autonome køretøjsapplikationer håndterer ofte relativt "ualmindelige" (i forhold til normale kørselsforhold) begivenheder som fodgængere om natten eller cyklister, der kører midt på vejen. Modeller har ofte brug for hundredtusinder eller endda millioner af eksempler for at lære et scenarie. Et stort problem er, at de indsamlede data fra den virkelige verden måske ikke er, hvad du leder efter med hensyn til kvalitet, mangfoldighed (f.eks. klasseubalance, vejrforhold, placering) og kvantitet. Et andet problem er, at man for selvkørende biler og robotter ikke altid ved, hvilke data man har brug for i modsætning til traditionelle maskinlæringsopgaver med faste datasæt og faste benchmarks. Mens nogle dataforøgelsesteknikker, der systematisk eller tilfældigt ændrer billeder, er nyttige, kan disse teknikker introducere deres egne problemer

Det er her, syntetiske data kommer ind. API'er til generering af syntetiske data giver dig mulighed for at konstruere datasæt. Disse API'er kan spare dig for mange penge, da det er meget dyrt at bygge robotter og indsamle data i den virkelige verden. Det er meget bedre og hurtigere at forsøge at generere data og finde ud af de tekniske principper ved hjælp af syntetisk datasætgenerering.

Følgende er eksempler, der fremhæver, hvordan programmerbare syntetiske data hjælper modeller med at lære: forebyggelse af svigagtige transaktioner (American Express), bedre registrering af cyklister (Parallel Domain)og operationsanalyse og gennemgang (Hutom.io).

5 grunde til, hvorfor du har brug for syntetiske data
Faser af modeludviklingscyklussen | Billede fra Jules S. Damji 
 

I industrien er der en masse faktorer, der påvirker levedygtigheden/ydelsen af ​​et maskinlæringsprojekt i både udvikling og produktion (f.eks. dataindsamling, annotering, modeltræning, skalering, implementering, overvågning, modelomskoling og udviklingshastighed). For nylig, 18 maskinlæringsingeniører deltog i en interviewundersøgelse som havde til formål at forstå almindelige MLOps-praksis og udfordringer på tværs af organisationer og applikationer (f.eks. autonome køretøjer, computerhardware, detailhandel, annoncer, anbefalingssystemer osv.). En af konklusionerne af undersøgelsen var vigtigheden af ​​udviklingshastighed, som groft kan defineres som evnen til hurtigt at prototype og iterere på ideer.

En faktor, der påvirker udviklingshastigheden, er behovet for at have data til at udføre den indledende modeltræning og evaluering samt hyppig modelomskoling på grund af modelydelse, der falder over tid på grund af datadrift, konceptdrift eller endda trænings-serveringsskævhed. 

 

5 grunde til, hvorfor du har brug for syntetiske data
Billede fra Åbenbart AI
 

Undersøgelsen rapporterede også, at dette behov førte til, at nogle organisationer oprettede et team til at mærke live data ofte. Dette er dyrt, tidskrævende og begrænser en organisations mulighed for at omskole modeller ofte. 

 

5 grunde til, hvorfor du har brug for syntetiske data
Billede fra Gretel.ai
 

Bemærk, dette diagram dækker ikke, hvordan syntetiske data også kan bruges til ting som MLOps-testning i anbefalere.

Syntetiske data har potentiale til at blive brugt sammen med data fra den virkelige verden i maskinlæringens livscyklus (billedet ovenfor) for at hjælpe organisationer med at holde deres modeller mere effektive. 

Syntetisk datagenerering bliver mere og mere almindeligt i maskinlæringsarbejdsgange. Faktisk, Gartner forudsiger, at i 2030 vil syntetiske data blive brugt meget mere end virkelige data til at træne maskinlæringsmodeller. Hvis du har spørgsmål eller tanker om dette indlæg, er du velkommen til at kontakte os i kommentarerne nedenfor eller igennem Twitter.
 
 
Michael Galarnyk er Data Science Professional og arbejder i Developer Relations hos Anyscale.
 

Tidsstempel:

Mere fra KDnuggets