13 Verktyg för generering av syntetisk data för att träna maskininlärningsmodeller

Data har blivit allt viktigare för att bygga maskininlärningsmodeller, testa applikationer och dra affärsinsikter.

Men för att följa de många datareglerna är den ofta välvd och strikt skyddad. Att få tillgång till sådan data kan ta månader att få de nödvändiga sign-offs. Alternativt kan företag använda syntetisk data.

Vad är syntetiska data?

Fotokredit: Twinify

Syntetisk data är artificiellt genererad data som statistiskt liknar den gamla datamängden. Den kan användas med riktiga data för att stödja och förbättra AI-modeller eller kan användas som ett substitut helt och hållet.

Eftersom den inte tillhör någon registrerad och inte innehåller någon personligt identifierande information eller känslig information som personnummer, kan den användas som ett integritetsskyddande alternativ till verklig produktionsdata.

Skillnader mellan verklig och syntetisk data

  • Den mest avgörande skillnaden är hur de två typerna av data genereras. Verkliga data kommer från riktiga försökspersoner vars data samlades in under undersökningar eller när de använde din ansökan. Å andra sidan genereras syntetisk data artificiellt men liknar fortfarande den ursprungliga datamängden.
  • Den andra skillnaden är dataskyddsbestämmelserna som påverkar verkliga och syntetiska uppgifter. Med riktiga data bör försökspersoner kunna veta vilken data om dem som samlas in och varför den samlas in, och det finns gränser för hur den kan användas. Dessa bestämmelser gäller dock inte längre för syntetiska uppgifter eftersom uppgifterna inte kan hänföras till ett ämne och inte innehåller personlig information.
  • Den tredje skillnaden är mängden tillgänglig data. Med riktig data kan du bara ha så mycket som användarna ger dig. Å andra sidan kan du generera hur mycket syntetisk data du vill.

Varför du bör överväga att använda syntetiska data

  • Det är relativt billigare att producera eftersom du kan generera mycket större datauppsättningar som liknar den mindre datauppsättningen du redan har. Det betyder att dina maskininlärningsmodeller kommer att ha mer data att träna med.
  • Den genererade informationen märks och rensas automatiskt åt dig. Detta innebär att du inte behöver lägga tid på att göra det tidskrävande arbetet med att förbereda data för maskininlärning eller analys.
  • Det finns inga sekretessproblem eftersom uppgifterna inte är personligt identifierande och inte tillhör en registrerad. Det betyder att du kan använda den och dela den fritt.
  • Du kan övervinna AI-bias genom att se till att minoritetsklasser är väl representerade. Detta hjälper dig att bygga rättvis och ansvarsfull AI.

Hur man genererar syntetisk data

Medan genereringsprocessen varierar beroende på vilket verktyg du använder, börjar processen i allmänhet med att en generator kopplas till en befintlig datauppsättning. Därefter identifierar du de personligt identifierande fälten i din datauppsättning och märker dem för uteslutning eller fördunkling.

Generatorn börjar sedan identifiera datatyperna för de återstående kolumnerna och de statistiska mönstren i dessa kolumner. Därefter kan du generera så mycket syntetisk data som du behöver.

Vanligtvis kan du jämföra den genererade datan med den ursprungliga datamängden för att se hur väl den syntetiska datan liknar den verkliga datan.

Nu kommer vi att utforska verktygen för generering av syntetisk data för att träna maskininlärningsmodeller.

Mest AI

Mestadels har AI en AI-driven syntetisk datagenerator som lär sig av den ursprungliga datasetets statistiska mönster. AI:n genererar sedan fiktiva karaktärer som överensstämmer med de inlärda mönstren.

Med Mostly AI kan du generera hela databaser med referensintegritet. Du kan syntetisera alla typer av data för att hjälpa dig bygga bättre AI-modeller.

Synthesized.io

Synthesized.io används av ledande företag för sina AI-initiativ. För att använda synthesize.io anger du datakraven i en YAML-konfigurationsfil.

Du skapar sedan ett jobb och kör det som en del av en datapipeline. Den har också en mycket generös gratis nivå som låter dig experimentera och se om den passar dina databehov.

YData

Med YData kan du generera tabell-, tidsserie-, transaktions-, multi-tabell- och relationsdata. Detta gör att du kan undvika problemen i samband med datainsamling, delning och kvalitet.

Den kommer med en AI och SDK att använda för att interagera med deras plattform. Dessutom har de en generös gratisnivå som du kan använda för att demonstrera produkten.

Gretel AI

Gretel AI erbjuder API:er för att generera obegränsade mängder syntetisk data. Gretel har en datagenerator med öppen källkod som du kan installera och använda.

Alternativt kan du använda deras REST API eller CLI, som kommer till en kostnad. Deras prissättning är dock rimlig och skalar med storleken på verksamheten.

Copulas

Copulas är ett Python-bibliotek med öppen källkod för modellering av multivariata distributioner med hjälp av copula-funktioner och generering av syntetiska data som följer samma statistiska egenskaper.

Projektet startade 2018 vid MIT som en del av Synthetic Data Vault Project.

CTGAN

CTGAN består av generatorer som kan lära sig från enbordsdata och generera syntetisk data från de identifierade mönstren.

Det är implementerat som ett Python-bibliotek med öppen källkod. CTGAN, tillsammans med Copulas, är en del av Synthetic Data Vault Project.

DoppelGANger

DoppelGANger är en öppen källkodsimplementering av Generative Adversarial Networks för att generera syntetisk data.

DoppelGANger är användbart för att generera tidsseriedata och används av företag som Gretel AI. Python-biblioteket är tillgängligt gratis och är öppen källkod.

Synth

Synth är en datagenerator med öppen källkod som hjälper dig att skapa realistisk data enligt dina specifikationer, dölja personligt identifierbar information och utveckla testdata för dina applikationer.

Du kan använda Synth för att generera serier i realtid och relationsdata för dina maskininlärningsbehov. Synth är också databasagnostisk, så att du kan använda den med dina SQL- och NoSQL-databaser.

SDV.dev

SDV står för Synthetic Data Vault. SDV.dev är ett mjukvaruprojekt som började vid MIT 2016 och har skapat olika verktyg för att generera syntetisk data.

Dessa verktyg inkluderar Copulas, CTGAN, DeepEcho och RDT. Dessa verktyg är implementerade som Python-bibliotek med öppen källkod som du enkelt kan använda.

Tofu

Tofu är ett Python-bibliotek med öppen källkod för att generera syntetisk data baserat på brittiska biobanksdata. Till skillnad från de verktyg som nämnts tidigare som hjälper dig att generera alla typer av data baserat på din befintliga datamängd, genererar Tofu data som bara liknar biobankens.

UK Biobank är en studie om fenotypiska och genotypiska egenskaper hos 500 000 medelålders vuxna från Storbritannien.

Twinify

Twinify är ett mjukvarupaket som används som ett bibliotek eller kommandoradsverktyg för att kombinera känsliga data genom att producera syntetiska data med identiska statistiska distributioner.

För att använda Twinify tillhandahåller du den verkliga datan som en CSV-fil, och den lär sig av datan för att producera en modell som kan användas för att generera syntetisk data. Det är helt gratis att använda.

Datanamic

Datanamic hjälper dig att göra testdata för datadrivna och maskininlärningsapplikationer. Den genererar data baserat på kolumnegenskaper som e-post, namn och telefonnummer.

Datanamic datageneratorer är anpassningsbara och stöder de flesta databaser som Oracle, MySQL, MySQL Server, MS Access och Postgres. Den stöder och säkerställer referensintegritet i genererad data.

Benerator

Benerator är programvara för dataobfuskering, generering och migrering för test- och utbildningsändamål. Med Benerator beskriver du data med XML (Extensible Markup Language) och genererar med kommandoradsverktyget.

Den är gjord för att kunna användas av icke-utvecklare, och med den kan du generera miljarder rader med data. Benerator är gratis och öppen källkod.

Slutord

Det uppskattas av Gartner att år 2030 kommer det att finnas mer syntetisk data som används för maskininlärning än det kommer att finnas riktig data.

Det är inte svårt att se varför med tanke på kostnaden och integritetsproblemen med att använda riktig data. Det är därför nödvändigt att företag lär sig om syntetisk data och de olika verktygen för att hjälpa dem att generera den.

Kolla sedan in syntetiska övervakningsverktyg för din onlineverksamhet.