5 skäl till varför du behöver syntetisk data

5 skäl till varför du behöver syntetisk data

Källnod: 1942868

5 skäl till varför du behöver syntetisk data
Syntetisk data genererad från Kubric
 

För att träna en maskininlärningsmodell behöver du data. Datavetenskapliga uppgifter är vanligtvis inte en Kaggle-tävling där du har en trevlig stor kurerad datauppsättning som kommer förmärkt. Ibland måste du samla in, organisera och rensa din egen data. Denna process att samla in och märka data i den verkliga världen kan vara tidskrävande, besvärlig, dyr, felaktig och ibland farlig. Vidare, i slutet av denna process, kan du sluta med att den data som du stött på i den verkliga världen inte nödvändigtvis är den data du vill ha när det gäller kvalitet, mångfald (t.ex. klassobalans) och kvantitet. Nedan följer vanliga problem du kan stöta på när du arbetar med riktiga data: 

  • Verklig datainsamling och märkning är inte skalbar
  • Att manuellt märka riktiga data kan ibland vara omöjligt
  • Verkliga data har integritets- och säkerhetsproblem
  • Verkliga data är inte programmerbara
  • En modell tränad uteslutande på verklig data är inte tillräckligt presterande (t.ex. långsam utvecklingshastighet)

Lyckligtvis kan problem som dessa lösas med syntetisk data. Du kanske undrar, vad är syntetisk data? Syntetisk data kan definieras som artificiellt genererad data som vanligtvis skapas med hjälp av algoritmer som simulerar verkliga processer, från beteendet hos andra trafikanter hela vägen ner till ljusets beteende när det interagerar med ytor. Det här inlägget går över begränsningarna för verkliga data och hur syntetisk data kan hjälpa till att övervinna dessa problem och förbättra modellens prestanda. 

För små datamängder är det vanligtvis möjligt att samla in och märka data manuellt; Men många komplexa maskininlärningsuppgifter kräver enorma datamängder för utbildning. Till exempel behöver modeller utbildade för autonoma fordonstillämpningar stora mängder data som samlas in från sensorer kopplade till bilar eller drönare. Denna datainsamlingsprocess är långsam och kan ta månader eller till och med år. När rådata väl har samlats in måste den sedan annoteras manuellt av människor, vilket också är dyrt och tidskrävande. Dessutom finns det ingen garanti för att den märkta datan som kommer tillbaka kommer att vara till nytta som träningsdata, eftersom den kanske inte innehåller exempel som informerar om modellens nuvarande kunskapsluckor. 

[inbäddat innehåll][inbäddat innehåll]

Märkning av dessa data innebär ofta att människor ritar etiketter för hand ovanpå sensordata. Detta är mycket kostsamt eftersom högbetalda ML-team ofta spenderar en stor del av sin tid på att se till att etiketter är korrekta och skickar tillbaka misstag till etiketterna. En stor styrka med syntetisk data är att du kan generera så mycket perfekt märkt data som du vill. Allt du behöver är ett sätt att generera syntetiska kvalitetsdata. 

Programvara med öppen källkod för att generera syntetisk data: Kubric (filmer med flera objekt med segmenteringsmasker, djupkartor och optiskt flöde) och SDV (tabell-, relations- och tidsseriedata).

Några (av många) företag som säljer produkter eller bygger plattformar som kan generera syntetisk data inkluderar Gretel.ai (syntetiska datamängder som säkerställer integriteten för riktiga data), NVIDIA (omniversum), och Parallell domän (autonoma fordon). För mer, se 2022 års lista över syntetiska dataföretag

5 skäl till varför du behöver syntetisk data
Bild från Parallell domän
 

Det finns vissa data som människor inte helt kan tolka och märka. Nedan följer några användningsfall där syntetisk data är det enda alternativet: 

  • Noggrann uppskattning av djup och optiskt flöde från enstaka bilder
  • Självkörande applikationer som använder radardata som inte är synliga för det mänskliga ögat 
  • Genererar djupa förfalskningar som kan användas för att testa ansiktsigenkänningssystem

5 skäl till varför du behöver syntetisk data
Bild av Michael Galarnyk
 

Syntetisk data är mycket användbar för applikationer i domäner där du inte enkelt kan få riktig data. Detta inkluderar vissa typer av bilolycksdata och de flesta typer av hälsodata som har integritetsbegränsningar (t.ex. elektroniska journaler). På senare år har vårdforskare varit intresserade av att förutsäga förmaksflimmer (oregelbunden hjärtrytm) med hjälp av EKG- och PPG-signaler. Att utveckla en arytmidetektor är inte bara utmanande eftersom anteckningar av dessa signaler är tråkigt och kostsamt, utan också på grund av integritetsbegränsningar. Detta är en anledning till varför det finns forskning för att simulera dessa signaler

Det är viktigt att betona att insamling av riktig data inte bara tar tid och energi, utan faktiskt kan vara farligt. Ett av kärnproblemen med robotapplikationer som självkörande bilar är att de är fysiska tillämpningar av maskininlärning. Du kan inte distribuera en osäker modell i den verkliga världen och få en krasch på grund av brist på relevant data. Att utöka en datauppsättning med syntetiska data kan hjälpa modeller att undvika dessa problem. 

Följande är några företag som använder syntetisk data för att förbättra applikationssäkerheten: Toyota, Waymooch Kryssning.

5 skäl till varför du behöver syntetisk data
Bild från Parallell domän
 

Syntetisk bild av ett tilltäppt barn på en cykel som dyker upp bakom en skolbuss och cyklar över gatan i en förortsmiljö i Kalifornien-stil.

Autonoma fordonsapplikationer hanterar ofta relativt "ovanliga" (i förhållande till normala körförhållanden) händelser som fotgängare på natten eller cyklister som cyklar mitt på vägen. Modeller behöver ofta hundratusentals eller till och med miljontals exempel för att lära sig ett scenario. Ett stort problem är att den verkliga data som samlas in kanske inte är vad du letar efter när det gäller kvalitet, mångfald (t.ex. klassobalans, väderförhållanden, plats) och kvantitet. Ett annat problem är att för självkörande bilar och robotar vet du inte alltid vilken data du behöver till skillnad från traditionella maskininlärningsuppgifter med fasta datamängder och fasta riktmärken. Medan vissa dataökningstekniker som systematiskt eller slumpmässigt ändrar bilder är användbara, kan dessa tekniker införa sina egna problem

Det är här syntetisk data kommer in. API:er för generering av syntetisk data låter dig konstruera datamängder. Dessa API:er kan spara mycket pengar eftersom det är väldigt dyrt att bygga robotar och samla in data i den verkliga världen. Det är mycket bättre och snabbare att försöka generera data och ta reda på de tekniska principerna med hjälp av syntetisk datauppsättning.

Följande är exempel som belyser hur programmerbar syntetisk data hjälper modeller att lära sig: förhindrande av bedrägliga transaktioner (American Express), bättre upptäckt av cyklister (parallell domän)och operationsanalys och granskning (Hutom.io).

5 skäl till varför du behöver syntetisk data
Faser i modellutvecklingscykeln | Bild från Jules S. Damji 
 

Inom industrin finns det en hel del faktorer som påverkar genomförbarheten/prestandan för ett maskininlärningsprojekt i både utveckling och produktion (t.ex. datainsamling, anteckningar, modellträning, skalning, distribution, övervakning, modellomskolning och utvecklingshastighet). Nyligen, 18 maskininlärningsingenjörer deltog i en intervjustudie som hade som mål att förstå vanliga MLOps-praxis och utmaningar över organisationer och applikationer (t.ex. autonoma fordon, datorhårdvara, detaljhandel, annonser, rekommendationssystem, etc.). En av slutsatserna av studien var vikten av utvecklingshastighet, vilket grovt kan definieras som förmågan att snabbt prototyper och iterera på idéer.

En faktor som påverkar utvecklingshastigheten är behovet av att ha data för att göra den inledande modellträningen och utvärderingen samt frekvent modellomskolning på grund av att modellens prestanda försämras med tiden på grund av datadrift, konceptdrift eller till och med skevhet i träningsservering. 

 

5 skäl till varför du behöver syntetisk data
Bild från Uppenbarligen AI
 

Studien rapporterade också att detta behov ledde till att vissa organisationer satte upp ett team för att märka livedata ofta. Detta är dyrt, tidskrävande och begränsar en organisations förmåga att omskola modeller ofta. 

 

5 skäl till varför du behöver syntetisk data
Bild från Gretel.ai
 

Observera att det här diagrammet inte täcker hur syntetisk data också kan användas för saker som MLOps-testning i rekommendatorer.

Syntetisk data har potential att användas med verklig data i maskininlärningslivscykeln (bilden ovan) för att hjälpa organisationer att hålla sina modeller presterande längre. 

Syntetisk datagenerering blir allt vanligare i arbetsflöden för maskininlärning. Faktiskt, Gartner förutspår att 2030 kommer syntetisk data att användas mycket mer än verklig data för att träna maskininlärningsmodeller. Om du har några frågor eller tankar om detta inlägg, hör gärna av dig i kommentarerna nedan eller genom Twitter.
 
 
Michael Galarnyk är en datavetenskaplig professionell och arbetar i utvecklarrelationer på Anyscale.
 

Tidsstämpel:

Mer från KDnuggets