AI-modeller og plattformer

Hva er syntetisk data?

mm
Legg til Unite.AI blant dine foretrukne kilder pÃĨ Google

Hva er syntetisk data?

Syntetisk data er en raskt voksende trend og et fremvoksende verktÃļy i feltet datavitenskap. Hva er syntetisk data egentlig? Det korte svaret er at syntetisk data bestÃĨr av data som ikke er basert pÃĨ noen virkelige fenomener eller hendelser, men som er generert via en datamaskinprogram. Men hvorfor blir syntetisk data sÃĨ viktig for datavitenskap? Hvordan blir syntetisk data laget? La oss utforske svarene pÃĨ disse spÃļrsmÃĨlene.

Hva er et syntetisk datasett?

Som begrepet “syntetisk” antyder, er syntetiske datasett generert gjennom datamaskinprogrammer, i stedet for ÃĨ vÃĶre sammensatt gjennom dokumentasjon av virkelige hendelser. Det primÃĶre formÃĨlet med et syntetisk datasett er ÃĨ vÃĶre tilstrekkelig fleksibelt og robust til ÃĨ vÃĶre nyttig for trening av maskinlÃĶringsmodeller.

For ÃĨ vÃĶre nyttig for en maskinlÃĶringsklassifikator, bÃļr syntetisk data ha visse egenskaper. Mens data kan vÃĶre kategorisk, binÃĶr eller numerisk, bÃļr lengden pÃĨ datasettet vÃĶre arbitrÃĶr og data bÃļr vÃĶre tilfeldig generert. De tilfeldige prosessene som brukes til ÃĨ generere data bÃļr vÃĶre kontrollerbare og basert pÃĨ ulike statistiske fordelinger. Tilfeldig stÃļy kan ogsÃĨ plasseres i datasettet.

Hvis syntetisk data brukes til en klassifiseringsalgoritme, bÃļr mengden klasseseperasjon vÃĶre tilpassbar, slik at klassifiseringsproblemet kan gjÃļres enklere eller vanskeligere i henhold til problemets krav. I mellomtiden, for en regresjonoppgave, kan ikke-lineÃĶre genereringsprosesser brukes til ÃĨ generere data.

Hvorfor bruke syntetisk data?

Ettersom maskinlÃĶringsrammeverk som TensorfFlow og PyTorch blir enklere ÃĨ bruke og forhÃĨndsdesignede modeller for datavisning og naturlig sprÃĨkbehandling blir mer ubetydelige og kraftfulle, er det primÃĶre problemet som dataforskere mÃĨ mÃļte, innhenting og hÃĨndtering av data. Selskaper har ofte vanskeligheter med ÃĨ innhente store mengder data for ÃĨ trene en nÃļyaktig modell innen en gitt tidsramme. Manuell etikettering av data er en kostbar og treg mÃĨte ÃĨ innhente data pÃĨ. Imidlertid kan generering og bruk av syntetisk data hjelpe dataforskere og selskaper ÃĨ overvinne disse hindringene og utvikle pÃĨlitelige maskinlÃĶringsmodeller pÃĨ en raskere mÃĨte.

Det finnes en rekke fordeler med ÃĨ bruke syntetisk data. Den mest ÃĨpenbare mÃĨten syntetisk data fordeler datavitenskap pÃĨ, er at det reduserer behovet for ÃĨ innhente data fra virkelige hendelser, og derfor blir det mulig ÃĨ generere data og konstruere et datasett mye raskere enn et datasett som er avhengig av virkelige hendelser. Dette betyr at store mengder data kan produseres pÃĨ en kort tidsramme. Dette er spesielt sant for hendelser som sjelden skjer, da mer data kan lages fra noen ekte datasample. Ut over dette, kan data automatisk etiketteres mens det genereres, og dermed reduseres tiden som trengs for ÃĨ etikettere data betydelig.

Syntetisk data kan ogsÃĨ vÃĶre nyttig for ÃĨ fÃĨ treningdata for randtilfeller, som er hendelser som kan skje sjelden, men er kritiske for suksessen til AI-en. Randtilfeller er hendelser som er svÃĶrt like hovedmÃĨlet til en AI, men som skilles fra hverandre pÃĨ viktige mÃĨter. For eksempel kan objekter som bare delvis er synlige, bli betraktet som randtilfeller nÃĨr man designer en bildeklassifikator.

Til slutt kan syntetiske datasett minimere personvernsproblemer. 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 syntetisk data, da det aldri var basert pÃĨ en virkelig person eller en virkelig hendelse, fra begynnelsen av.

BruksomrÃĨder for syntetisk data

Syntetisk data har en rekke bruksomrÃĨder, da det kan brukes til nesten alle maskinlÃĶringsoppgaver. Vanlige bruksomrÃĨder for syntetisk data inkluderer selvstyrende kjÃļretÃļy, sikkerhet, robotikk, svindelbeskyttelse og helse.

Et av de fÃļrste bruksomrÃĨdene for syntetisk data var selvstyrende biler, da syntetisk data brukes til ÃĨ lage treningdata for biler i situasjoner hvor det er vanskelig eller farlig ÃĨ fÃĨ virkelig treningdata. Syntetisk data er ogsÃĨ nyttig for ÃĨ lage data som brukes til ÃĨ trene bildegnkjennelsessystemer, som overvÃĨkningssystemer, mye mer effektivt enn ÃĨ manuelt samle inn og etikettere en mengde treningdata. Robotikksystemer kan vÃĶre tregt ÃĨ trene og utvikle med tradisjonelle datainnsamling og treningmetoder. Syntetisk data lar robotikk-selskaper teste og utvikle robotikksystemer gjennom simulasjoner. Svindelbeskyttelsessystemer kan dra nytte av syntetisk data, og nye svindelforsvarsmetoder kan trenes og testes med data som alltid er nytt nÃĨr syntetisk data brukes. I helsefeltet kan syntetisk data brukes til ÃĨ designe helseklassifikatorer som er nÃļyaktige, men som samtidig beskytter personers personvern, da data ikke er basert pÃĨ virkelige personer.

Ufordringer med syntetisk data

Selv om bruk av syntetisk data bringer mange fordeler med seg, bringer det ogsÃĨ mange ufordringer.

NÃĨr syntetisk data lages, mangler det ofte outliers. Outliers forekommer naturlig i data, og selv om de ofte fjernes fra treningdatasett, kan deres eksistens vÃĶre nÃļdvendig for ÃĨ trene virkelig pÃĨlitelige maskinlÃĶringsmodeller. Ut over dette, kan kvaliteten pÃĨ syntetisk data vÃĶre svÃĶrt variabel. Syntetisk data genereres ofte med en inn-data, eller seed-data, og derfor kan kvaliteten pÃĨ data avhenge av kvaliteten pÃĨ inn-data. Hvis data som brukes til ÃĨ generere syntetisk data er forvrengt, kan det genererte dataet viderefÃļre denne forvrengningen. Syntetisk data krever ogsÃĨ en form for ut-data/kvalitetskontroll. Det mÃĨ kontrolleres mot menneske-annotert data, eller annen autentisk data i noen form.

Hvordan lages syntetisk data?

Syntetisk data lages programmeringsmessig med maskinlÃĶrings-teknikker. Klassiske maskinlÃĶrings-teknikker som beslutningstre kan brukes, samt dyptlÃĶrings-teknikker. Kravene til syntetisk data vil pÃĨvirke hvilken type algoritme som brukes til ÃĨ generere data. Beslutningstre og lignende maskinlÃĶringsmodeller lar selskaper lage ikke-klassiske, multi-modale datafordelinger, trent pÃĨ eksempler av virkelig data. Generering av data med disse algoritmene vil gi data som er hÃļyt korrelert med den opprinnelige treningsdataen. For tilfeller hvor den typiske fordelingen av data er kjent, kan et selskap generere syntetisk data gjennom bruk av en Monte Carlo-metode.

DyptlÃĶrings-baserte metoder for ÃĨ generere syntetisk data bruker vanligvis enten en variasjonsautoencoder (VAE) eller en generativ adversarial nettverk (GAN). VAE-er er usuperviserte maskinlÃĶringsmodeller som bruker encodere og decodere. Encoder-delen av en VAE er ansvarlig for ÃĨ komprimere data ned til en enklere, kompakt versjon av det opprinnelige datasett, som decoderen sÃĨ analyserer og bruker til ÃĨ generere en representasjon av basisdata. En VAE er trent med mÃĨlet om ÃĨ ha en optimal relasjon mellom inndata og utdata, en hvor bÃĨde inndata og utdata er ekstremt like.

NÃĨr det gjelder GAN-modeller, kalles de “adversarial” nettverk pÃĨ grunn av at GAN-er faktisk er to nettverk som konkurrerer mot hverandre. Generatoren er ansvarlig for ÃĨ generere syntetisk data, mens det andre nettverket (diskriminatoren) opererer ved ÃĨ sammenligne den genererte data med et virkelig datasett og prÃļver ÃĨ bestemme hvilken data som er falsk. NÃĨr diskriminatoren fanger falsk data, blir generatoren underrettet om dette og den gjÃļr endringer for ÃĨ prÃļve ÃĨ fÃĨ en ny batch med data fra diskriminatoren. I mellomtiden blir diskriminatoren bedre og bedre til ÃĨ oppdage falsk data. De to nettverkene er trent mot hverandre, med falsk data som blir mer og mer realistisk over tid.

Blogger og programmerer med spesialomrÃĨder i Machine Learning og Deep Learning emner. Daniel hÃĨper ÃĨ hjelpe andre med ÃĨ bruke kraften av AI for sosialt godt.