stub Hva er syntetiske data? - Unite.AI
Kontakt med oss

AI 101

Hva er syntetiske data?

mm
oppdatert on

Hva er syntetiske data?

Syntetiske data er en raskt voksende trend og et fremvoksende verktøy innen datavitenskap. Hva er egentlig syntetiske data? Det korte svaret er at syntetiske data består av data som ikke er basert på noen virkelige fenomener eller hendelser, snarere er det generert via et dataprogram. Men hvorfor blir syntetiske data så viktige for datavitenskap? Hvordan lages syntetiske data? La oss utforske svarene på disse spørsmålene.

Hva er et syntetisk datasett?

Som begrepet "syntetisk" antyder, genereres syntetiske datasett gjennom dataprogrammer, i stedet for å være komponert gjennom dokumentasjon av hendelser i den virkelige verden. Hovedformålet med et syntetisk datasett er å være allsidig og robust nok til å være nyttig for opplæring av maskinlæringsmodeller.

For å være nyttig for en maskinlæringsklassifiser, de syntetiske dataene skal ha visse egenskaper. Mens dataene kan være kategoriske, binære eller numeriske, bør lengden på datasettet være vilkårlig og dataene skal genereres tilfeldig. De tilfeldige prosessene som brukes for å generere dataene bør være kontrollerbare og basert på ulike statistiske fordelinger. Tilfeldig støy kan også plasseres i datasettet.

Hvis de syntetiske dataene brukes til en klassifiseringsalgoritme, bør mengden klasseseparasjon kunne tilpasses, slik at klassifiseringsproblemet kan gjøres enklere eller vanskeligere i henhold til problemets krav. I mellomtiden, for en regresjonsoppgave, kan ikke-lineære generative prosesser brukes for å generere dataene.

Hvorfor bruke syntetiske data?

Etter hvert som rammeverk for maskinlæring som TensorfFlow og PyTorch blir enklere å bruke og forhåndsdesignede modeller for datasyn og naturlig språkbehandling blir mer allestedsnærværende og kraftige, er det primære problemet som dataforskere må møte innsamling og håndtering av data. Bedrifter har ofte problemer med å skaffe store mengder data for å trene opp en nøyaktig modell innenfor en gitt tidsramme. Håndmerking av data er en kostbar, langsom måte å skaffe data på. Generering og bruk av syntetiske data kan imidlertid hjelpe dataforskere og selskaper med å overvinne disse hindringene og utvikle pålitelige maskinlæringsmodeller på en raskere måte.

Det er en rekke fordeler ved å bruke syntetiske data. Den mest åpenbare måten bruk av syntetiske data gagner datavitenskap på er at det reduserer behovet for å fange data fra hendelser i den virkelige verden, og av denne grunn blir det mulig å generere data og konstruere et datasett mye raskere enn et datasett avhengig av hendelser i den virkelige verden. Dette betyr at store mengder data kan produseres på kort tid. Dette gjelder spesielt for hendelser som sjelden forekommer, som om en hendelse sjelden skjer i naturen, kan flere data bli hånet opp fra noen ekte dataprøver. Utover det kan dataene merkes automatisk etter hvert som de genereres, noe som drastisk reduserer tiden som trengs for å merke data.

Syntetiske data kan også være nyttige for å få treningsdata for edge-tilfeller, som er tilfeller som kan forekomme sjelden, men som er avgjørende for suksessen til AI-en din. Edge-tilfeller er hendelser som ligner veldig på hovedmålet til en AI, men som er forskjellige på viktige måter. For eksempel kan objekter som bare er delvis synlig betraktes som kanttilfeller når du designer en bildeklassifiserer.

Til slutt syntetiske datasett kan minimere personvernhensyn. Forsøk på å anonymisere data kan være ineffektive, da selv om sensitive/identifiserende variabler fjernes fra datasettet, kan andre variabler fungere som identifikatorer når de kombineres. Dette er ikke et problem med syntetiske data, siden de aldri var basert på en virkelig person, eller virkelig hendelse, i utgangspunktet.

Bruker tilfeller for syntetiske data

Syntetiske data har et bredt utvalg av bruker, da den kan brukes på omtrent alle maskinlæringsoppgaver. Vanlige brukssaker for syntetiske data inkluderer selvkjørende kjøretøy, sikkerhet, robotikk, svindelbeskyttelse og helsetjenester.

En av de første brukssakene for syntetiske data var selvkjørende biler, da syntetiske data brukes til å lage treningsdata for biler under forhold der det er vanskelig eller farlig å hente ekte treningsdata på veien. Syntetiske data er også nyttige for å lage data som brukes til å trene bildegjenkjenningssystemer, som overvåkingssystemer, mye mer effektivt enn å manuelt samle inn og merke en haug med treningsdata. Robotsystemer kan være trege å trene og utvikle med tradisjonelle datainnsamlings- og opplæringsmetoder. Syntetiske data lar robotselskaper teste og konstruere robotsystemer gjennom simuleringer. Svindelbeskyttelsessystemer kan dra nytte av syntetiske data, og nye svindeldeteksjonsmetoder kan trenes og testes med data som er stadig nye når syntetiske data brukes. I helsevesenet kan syntetiske data brukes til å designe helseklassifiserere som er nøyaktige, men likevel bevare folks personvern, siden dataene ikke vil være basert på ekte mennesker.

Syntetiske datautfordringer

Mens bruk av syntetiske data fører med seg mange fordeler, gir det også mange utfordringer.

Når syntetiske data lages, mangler det ofte uteliggere. Outliers forekommer naturlig i data, og selv om de ofte faller fra treningsdatasett, kan deres eksistens være nødvendig for å trene opp virkelig pålitelige maskinlæringsmodeller. Utover dette kan kvaliteten på syntetiske data være svært varierende. Syntetiske data genereres ofte med inngangsdata, eller frødata, og derfor kan kvaliteten på dataene være avhengig av kvaliteten på inngangsdataene. Hvis dataene som brukes til å generere de syntetiske dataene er partisk, kan de genererte dataene opprettholde denne skjevheten. Syntetiske data krever også en form for utdata/kvalitetskontroll. Det må kontrolleres mot menneskelig kommenterte data, ellers er autentiske data en eller annen form.

Hvordan lages syntetiske data?

Syntetiske data lages programmatisk med maskinlæringsteknikker. Klassiske maskinlæringsteknikker som beslutningstrær kan brukes, det samme kan dyplæringsteknikker. Kravene til de syntetiske dataene vil påvirke hvilken type algoritme som brukes for å generere dataene. Beslutningstrær og lignende maskinlæringsmodeller lar bedrifter lage ikke-klassiske, multimodale datadistribusjoner, trent på eksempler på virkelige data. Generering av data med disse algoritmene vil gi data som er sterkt korrelert med de opprinnelige treningsdataene. For tilfeller der den typiske distribusjonen av data er kjent, kan et selskap generere syntetiske data ved å bruke en Monte Carlo-metode.

Dyplæringsbaserte metoder for å generere syntetiske data benytter seg vanligvis av begge en variasjonsautokoder (VAE) or et generativt adversarialt nettverk (GAN). VAE-er er maskinlæringsmodeller uten tilsyn som bruker kodere og dekodere. Koderdelen av en VAE er ansvarlig for å komprimere dataene til en enklere, kompakt versjon av det originale datasettet, som dekoderen deretter analyserer og bruker til å generere en representasjon av basisdataene. En VAE er trent med mål om å ha et optimalt forhold mellom inngangsdata og utdata, en der både inngangsdata og utdata er ekstremt like.

Når det kommer til GAN-modeller, kalles de "adversarielle" nettverk på grunn av det faktum at GAN-er faktisk er to nettverk som konkurrerer med hverandre. Generatoren er ansvarlig for å generere syntetiske data, mens det andre nettverket (diskriminatoren) opererer ved å sammenligne de genererte dataene med et ekte datasett og prøver å finne ut hvilke data som er falske. Når diskriminatoren fanger opp falske data, blir generatoren varslet om dette og den gjør endringer for å prøve å få en ny batch med data av diskriminatoren. I sin tur blir diskriminatoren stadig flinkere til å oppdage forfalskninger. De to nettverkene trenes mot hverandre, og forfalskninger blir mer naturtro hele tiden.